From b26467eac82e9b8d7b44878a99dd89dfe9f398b7 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sun, 30 Oct 2016 02:12:39 +0200 Subject: AArch64: Ubuntu local partial mirror: Add arm64 NOTE: Temporarily patch "packetary" in Armband until we upstream two small fixes. Bootstrap build, deploy target image build: - Switch from public Ubuntu mirrors to 10.20.0.2. JIRA: ARMBAND-35 Change-Id: I14645cfeebb486063e7b8198de273f68285b11cd Signed-off-by: Alexandru Avadanii --- ...lone-Create-metadata-for-empty-components.patch | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 patches/packetary/0002-clone-Create-metadata-for-empty-components.patch (limited to 'patches/packetary/0002-clone-Create-metadata-for-empty-components.patch') diff --git a/patches/packetary/0002-clone-Create-metadata-for-empty-components.patch b/patches/packetary/0002-clone-Create-metadata-for-empty-components.patch new file mode 100644 index 00000000..70d75fee --- /dev/null +++ b/patches/packetary/0002-clone-Create-metadata-for-empty-components.patch @@ -0,0 +1,43 @@ +From: Alexandru Avadanii +Date: Tue, 1 Nov 2016 23:01:58 +0100 +Subject: [PATCH] clone: Create metadata for empty components + +In certain scenarios, mirror components (e.g. trusty-security) +are present in both packetary configuration input, and in target +system's apt source definitions, but contain no packages of interest. + +For such repository/requirements combinations, packetary currently +skips creating metadata (Release, Packages) for those components, +which leads to the partial mirror missing some critical files for apt, +(an empty file would be enough). + +e.g.: Using packetary to create a partial Ubuntu mirror, then trying +to build a bootstrap image from the new mirror leads to: + +W: Failed to fetch http://127.0.0.1:8080/mirrors/ubuntu/dists/\ + trusty-security/multiverse/binary-amd64/Packages 404 + +Closes-bug: 1638631 + +Change-Id: I850b43d5b4d8742d99e9a5702cc9ad4de881a401 +Signed-off-by: Alexandru Avadanii +--- + packetary/api/repositories.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/packetary/api/repositories.py b/packetary/api/repositories.py +index ec8c54c..2c72e29 100644 +--- a/packetary/api/repositories.py ++++ b/packetary/api/repositories.py +@@ -121,6 +121,11 @@ class RepositoryApi(object): + for pkg in all_packages: + package_groups[pkg.repository].add(pkg) + ++ # Make sure we create metadata for all repos, even if empty ++ for repo in repositories: ++ if repo not in package_groups: ++ package_groups[repo] = set() ++ + stat = CopyStatistics() + mirrors = defaultdict(set) + options = options or self.CopyOptions() -- cgit 1.2.3-korg