From 42f8585ebb8fffad19a89314659ab9129176c3e9 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sat, 1 Oct 2016 13:18:11 +0200 Subject: build: Rework patch mechanism for Fuel submodules While refactoring the patching mechanism, take care of: - Sync submodule handling with Fuel@OPFNV; - build: Investigate/prepare for moving patches to Fuel@OPNFV; - build: Investigate divergent fuel-mirror; - ISO build: cacheid for Fuel comps should not depend on Armband git commit; CHANGE: Rename/shuffle patches while grouping them in "features", preparing for upstreaming them to Fuel@OPNFV and beyond. CHANGE: Allow linking patches for better representing the dependency between one patch and different features. e.g. 0001-Add-arch-to-nailgun-release-and-target-image.patch: - part of `multiarch-fuel`, because it extends Fuel; - part of `direct-kernel-boot`, as arch is required for that; - part of `cross-bootstrap`, target image is arch-dependent; NOTE: Patch links are not staged to Fuel@OPNFV, they only serve as markers that a specific patch is part of a feature. CHANGE: Kill all Fuel component submodules, now handled in Fuel@OPNFV: - fuel-agent - fuel-astute - fuel-library - fuel-mirror - fuel-nailgun-agent - fuel-web CHANGE: Move armband-fuel-config.mk to armband git root. FIXME: m1.micro-Increase-profile-RAM-size-to-128MB.patch is NOT part of `cross-bootstrap` feature, but patch context says so ... FIXME: 0001-Add-arm64-deb-repositories-setup.patch is broken at `make patches-export` by removing spaces at EOL. v2 -> v3: * Phony patch support (links to show a patch belongs to a feature); * Updated README.md v3 -> v7: * Re-export Fuel submodules & plugins patches (update patch context); * Update Cavium mail addresses (s/caviumnetworks.com/cavium.com/); * Ignore submodule changes; * Add armband git repo info to gitinfo_fuel.txt at build time; Implements: ARMBAND-136 Closes-bug: ARMBAND-95 Closes-bug: ARMBAND-93 Closes-bug: ARMBAND-92 Change-Id: I1a236d9f43b2e6dca22055911f696b43c22b5973 Signed-off-by: Alexandru Avadanii --- .../0001-Add-arm64-deb-repositories-setup.patch | 166 +++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 patches/opnfv-fuel/multiarch-mirrors/0001-Add-arm64-deb-repositories-setup.patch (limited to 'patches/opnfv-fuel/multiarch-mirrors/0001-Add-arm64-deb-repositories-setup.patch') diff --git a/patches/opnfv-fuel/multiarch-mirrors/0001-Add-arm64-deb-repositories-setup.patch b/patches/opnfv-fuel/multiarch-mirrors/0001-Add-arm64-deb-repositories-setup.patch new file mode 100644 index 00000000..c3a76d1e --- /dev/null +++ b/patches/opnfv-fuel/multiarch-mirrors/0001-Add-arm64-deb-repositories-setup.patch @@ -0,0 +1,166 @@ +From: Stanislaw Kardach +Date: Wed, 24 Feb 2016 20:04:03 +0100 +Subject: [PATCH] Add arm64 deb repositories setup + +--- + build/f_isoroot/f_kscfg/ks.cfg.patch | 10 ++++++++++ + build/install/apt-ftparchive-deb.conf | 8 +++++++- + build/install/apt-ftparchive-release.conf | 2 +- + build/install/apt-ftparchive-udeb.conf | 7 ++++++- + build/install/install.sh | 22 ++++++++++++++++++---- + build/install/uninstall.sh | 18 ++++++++++-------- + 6 files changed, 52 insertions(+), 15 deletions(-) + +diff --git a/build/f_isoroot/f_kscfg/ks.cfg.patch b/build/f_isoroot/f_kscfg/ks.cfg.patch +index a6840e4..84a241f 100644 +--- a/build/f_isoroot/f_kscfg/ks.cfg.patch ++++ b/build/f_isoroot/f_kscfg/ks.cfg.patch +@@ -1,6 +1,16 @@ + *** /dev/null 2016-04-26 10:10:11.481587709 +0200 + --- ks.cfg 2016-04-26 10:10:11.481587709 +0200 + *************** ++*** 448,453 **** ++--- 448,454 ---- ++ cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64 ++ ++ # Copying Ubuntu files +++ # FIXME: This is missleading as dist/pool may contain multiple arch! ++ mkdir -p ${repodir}/ubuntu/x86_64/images ++ cp -r ${SOURCE}/ubuntu/dists ${repodir}/ubuntu/x86_64 ++ cp -r ${SOURCE}/ubuntu/pool ${repodir}/ubuntu/x86_64 ++*************** + *** 579,584 **** + --- 579,592 ---- + +diff --git a/build/install/apt-ftparchive-deb.conf b/build/install/apt-ftparchive-deb.conf +index 0d15aec..e6392f8 100644 +--- a/build/install/apt-ftparchive-deb.conf ++++ b/build/install/apt-ftparchive-deb.conf +@@ -16,12 +16,18 @@ TreeDefault { + Directory "pool"; + }; + +-BinDirectory "pool/main" { ++BinDirectory "pool/main/binary-amd64" { + Packages "dists/trusty/main/binary-amd64/Packages"; + BinOverride "./indices/override.trusty.main"; + ExtraOverride "./indices/override.trusty.extra.main"; + }; + ++BinDirectory "pool/main/binary-arm64" { ++ Packages "dists/trusty/main/binary-arm64/Packages"; ++ BinOverride "./indices/override.trusty.main"; ++ ExtraOverride "./indices/override.trusty.extra.main"; ++}; ++ + Default { + Packages { + Extensions ".deb"; +diff --git a/build/install/apt-ftparchive-release.conf b/build/install/apt-ftparchive-release.conf +index 02706bd..2838714 100644 +--- a/build/install/apt-ftparchive-release.conf ++++ b/build/install/apt-ftparchive-release.conf +@@ -13,6 +13,6 @@ APT::FTPArchive::Release::Label "Ubuntu"; + APT::FTPArchive::Release::Suite "trusty"; + APT::FTPArchive::Release::Version "1.04"; + APT::FTPArchive::Release::Codename "trusty"; +-APT::FTPArchive::Release::Architectures "amd64"; ++APT::FTPArchive::Release::Architectures "amd64 arm64"; + APT::FTPArchive::Release::Components "main"; + APT::FTPArchive::Release::Description "Ubuntu Trusty Tahr 14.04 LTS"; +diff --git a/build/install/apt-ftparchive-udeb.conf b/build/install/apt-ftparchive-udeb.conf +index 3b5b239..c6ab4fb 100644 +--- a/build/install/apt-ftparchive-udeb.conf ++++ b/build/install/apt-ftparchive-udeb.conf +@@ -16,11 +16,16 @@ TreeDefault { + Directory "pool"; + }; + +-BinDirectory "pool/debian-installer" { ++BinDirectory "pool/debian-installer/binary-amd64" { + Packages "dists/trusty/main/debian-installer/binary-amd64/Packages"; + BinOverride "./indices/override.trusty.main.debian-installer"; + }; + ++BinDirectory "pool/debian-installer/binary-arm64" { ++ Packages "dists/trusty/main/debian-installer/binary-arm64/Packages"; ++ BinOverride "./indices/override.trusty.main.debian-installer"; ++}; ++ + Default { + Packages { + Extensions ".udeb"; +diff --git a/build/install/install.sh b/build/install/install.sh +index 866d304..9e003bb 100755 +--- a/build/install/install.sh ++++ b/build/install/install.sh +@@ -122,12 +122,24 @@ prep_make_live() { + ssh-copy-id root@$FUELHOST + sshfs root@1${FUELHOST}:/ $TMP_HOSTMOUNT + +- if [ -f $REPO/dists/trusty/main/binary-amd64/Packages.backup ]; then ++ for arch in arm64 amd64; do ++ if [ -f $REPO/dists/trusty/main/binary-${arch}/Packages.backup ]; then ++ echo "Error - found backup file for Packages for ${arch}!" ++ exit 1 ++ fi ++ ++ if [ -f $REPO/dists/trusty/main/binary-${arch}/Packages.gz.backup ]; then ++ echo "Error - found backup file for Packages.gz for ${arch}!" ++ exit 1 ++ fi ++ done ++ ++ if [ -f $REPO/dists/trusty/main/binary-arm64/Packages.backup ]; then + echo "Error - found backup file for Packages!" + exit 1 + fi + +- if [ -f $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup ]; then ++ if [ -f $REPO/dists/trusty/main/binary-arm64/Packages.gz.backup ]; then + echo "Error - found backup file for Packages.gz!" + exit 1 + fi +@@ -142,8 +154,10 @@ prep_make_live() { + exit 1 + fi + +- cp $REPO/dists/trusty/main/binary-amd64/Packages $REPO/dists/trusty/main/binary-amd64/Packages.backup +- cp $REPO/dists/trusty/main/binary-amd64/Packages.gz $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup ++ for arch in arm64 amd64; do ++ cp $REPO/dists/trusty/main/binary-${arch}/Packages $REPO/dists/trusty/main/binary-${arch}/Packages.backup ++ cp $REPO/dists/trusty/main/binary-${arch}/Packages.gz $REPO/dists/trusty/main/binary-${arch}/Packages.gz.backup ++ done + cp $REPO/dists/trusty/Release $REPO/dists/trusty/Release.backup + cp -Rvp $DEST/etc/puppet $DEST/etc/puppet.backup + } +diff --git a/build/install/uninstall.sh b/build/install/uninstall.sh +index a9e74bc..e90c632 100755 +--- a/build/install/uninstall.sh ++++ b/build/install/uninstall.sh +@@ -31,15 +31,17 @@ DEST=$MOUNT + REPO=$DEST/var/www/nailgun/ubuntu/fuelweb/x86_64 + + cd $REPO +-if [ ! -f $REPO/dists/trusty/main/binary-amd64/Packages.backup ]; then +- echo "Error - didn't find backup file for Packages!" +- exit 1 +-fi ++for arch in arm64 amd64; do ++ if [ ! -f $REPO/dists/trusty/main/binary-${arch}/Packages.backup ]; then ++ echo "Error - didn't find backup file for Packages for ${arch}!" ++ exit 1 ++ fi + +-if [ ! -f $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup ]; then +- echo "Error - didn't find backup file for Packages.gz!" +- exit 1 +-fi ++ if [ ! -f $REPO/dists/trusty/main/binary-${arch}/Packages.gz.backup ]; then ++ echo "Error - didn't find backup file for Packages.gz for ${arch}!" ++ exit 1 ++ fi ++done + + if [ ! -f $REPO/dists/trusty/Release.backup ]; then + echo "Error - didn't find backup file for Release!" -- cgit 1.2.3-korg