From fdea2575130e406c489896b3969505369e509323 Mon Sep 17 00:00:00 2001 From: Zero_Chaos Date: Tue, 16 Sep 2014 21:37:42 +0000 Subject: [PATCH] catalyst: adding new isoroot_checksum feature --- dev-util/catalyst/Manifest | 3 +- dev-util/catalyst/catalyst-9999.ebuild | 3 +- .../catalyst/files/isoroot_checksum.patch | 59 +++++++++++++++++++ 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 dev-util/catalyst/files/isoroot_checksum.patch diff --git a/dev-util/catalyst/Manifest b/dev-util/catalyst/Manifest index 26e2cf4b7..ffc1ef085 100644 --- a/dev-util/catalyst/Manifest +++ b/dev-util/catalyst/Manifest @@ -1,5 +1,6 @@ AUX HACK-default-to-xz6.patch 8760 SHA256 8f6f0454113537a4d9b09a1a4e40923104c412fdcab2f7d88e0179ebf1bcfa41 SHA512 bcdfa6ee2e7ef2f6ee1aeaa5b020728e7af3e6f7eeda420f5113e5a5d01421ffff3450755a52e29c4685b56460a9d316e8d4caeb41138c00a5197cbc4a978243 WHIRLPOOL 231be84af2f11c7ab91b4856d09e562067d75e84a38986afe321c45e34ae1a4022405a02215ebff7ab0123262edf9b26400a4eb9995a46312e55ca37db7d3d3a AUX gross_kerncache_hack_do_not_commit.patch 718 SHA256 1bd7f94be9ea2272ea8363870d13d9d83120218eab60048cee854d10002c2119 SHA512 152eb4d5ee72cc57ce0c85fa64f05cd331c0084981ec8cc4f795b36049a3e01a5dd8f705bb540be105b8a84710d6c191bac9bbcb03bdb3a37595285a5c7558ca WHIRLPOOL e96ebd2426a04f8d674edc64a0a443d31d4e07998e8ea4ca99af8cb7719368e7e454f0e4efc4fe1d3e04863ec82de38222e39eaefef90640575767f125af16c0 +AUX isoroot_checksum.patch 4134 SHA256 9536ffc2d8b3912aef4b39c60686ae59c5623085de9e18d6a171064d1679947c SHA512 21564719e16144b0861d45ffeb39274c03317ecb30c947dd9d4d37211c4a9d0d018fd4bcf82318eb68edaa5689e5970b71f0f4f79c5c6bd623b21d5dc66a2bda WHIRLPOOL 8b1caad3b544278f70bf6019ad5c98cc4cfdeab3fe303b15dc4f91058d0a19919008ecce668faf8bac3d0af08931f8e1ae1a450708e074caad4d266568132214 AUX livecd-stage1-optional.patch 4662 SHA256 8c7e7b15b7f055d9a16c9a35a51cd0c04e182436b4cc6461234f0ef34babb997 SHA512 8fd98e6118eac3a450b669151ba55fcc1515521354386a403820fba0d6c7d805bd4f3fe8e39221adaff5bd6487126ada470d41f2cb4a1763004b4702473a277b WHIRLPOOL 8ac220f567900a9305b7e97e9e5e2756ea88b9a09036a12dc0ffd7d9d6de2489e25768a400dfce5191ee3a0e7ca15ebbb1219b8cafcbb44c0db1c148e24aa3e1 AUX terrifying_kmerge_hack.patch 413 SHA256 97c9ad864d6cbf38eb3c623152791deea27b0212a26072b52047dfeca77d9f32 SHA512 5bc72747468eb2c4797803da545d578a77931e928a64a210c54afa2dab4f107cb3d897f97714b490a60c5c68000b646b4d0878e59f7fecb5f4394376818c04ba WHIRLPOOL 7bfeb06565b552aa426bd99fe2245acfe12dd3f0f5319b792e16345b9272cb2ae8c1ed1df8cf95e1518a6dd11cb808df6f0b462ef10cd3cc1510672e6b921c0e -EBUILD catalyst-9999.ebuild 3616 SHA256 987a0d1282503f81916e52d9443c571879572ad8d0047a6d54e9b9bb8c299261 SHA512 79c6072f548e92f23d447c01353e44e169655942b91589a3607440d41631f8eb462dfb13ca74512390e7eda340d6082f8063bfe64440d638eb52ae4c51001161 WHIRLPOOL 73a813e3f45757d9710cdba7e2453369b949a44e9d85c110f1ab6faa2df0724a98af65976499f159d609b136ba7db3957d25222ac72757f641c0f81749eff660 +EBUILD catalyst-9999.ebuild 3703 SHA256 8a65bda494b2614fc2aaa3ba1518140bb5831641ee693f405190a5e554658d00 SHA512 b58d0bda63336c5eab23f6c0fb1a585647fb2ec36e7c3ba69596ad6b54624eeaad4628fb4c47c78a5b3e440036b436cd3935207153c6b923a34326e03f6c6bd7 WHIRLPOOL 76932f674d83691a9561245e5b9e1efdddd75f711e89635d9a01f53e33729d61efa33da647dfd94f667874466e596a9b1f2f326cf84573e2e2efdaa63b69821f diff --git a/dev-util/catalyst/catalyst-9999.ebuild b/dev-util/catalyst/catalyst-9999.ebuild index 944c19bbe..76e66599b 100644 --- a/dev-util/catalyst/catalyst-9999.ebuild +++ b/dev-util/catalyst/catalyst-9999.ebuild @@ -25,7 +25,7 @@ HOMEPAGE="http://www.gentoo.org/proj/en/releng/catalyst/" LICENSE="GPL-2" SLOT="0" RESTRICT="" -IUSE="ccache +livecd-stage1-optional kerncache-hack +nokerncache-hack +xz-hack kernel_linux" +IUSE="ccache +livecd-stage1-optional kerncache-hack +isoroot_checksum +nokerncache-hack +xz-hack kernel_linux" DEPEND="app-text/asciidoc" RDEPEND="app-arch/lbzip2 @@ -66,6 +66,7 @@ src_prepare() { use kerncache-hack && epatch "${FILESDIR}"/gross_kerncache_hack_do_not_commit.patch use nokerncache-hack && epatch "${FILESDIR}"/terrifying_kmerge_hack.patch use livecd-stage1-optional && epatch "${FILESDIR}"/livecd-stage1-optional.patch + use isoroot_checksum && epatch "${FILESDIR}"/isoroot_checksum.patch python_convert_shebangs 2 catalyst modules/catalyst_lock.py } diff --git a/dev-util/catalyst/files/isoroot_checksum.patch b/dev-util/catalyst/files/isoroot_checksum.patch new file mode 100644 index 000000000..1aca2540f --- /dev/null +++ b/dev-util/catalyst/files/isoroot_checksum.patch @@ -0,0 +1,59 @@ +diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh +index 08598e5..bf65460 100755 +--- a/targets/support/create-iso.sh ++++ b/targets/support/create-iso.sh +@@ -78,6 +78,15 @@ else + mkisofs_zisofs_opts="" + fi + ++#we want to create an md5sum for every file on the iso so we can verify it ++#from genkernel during boot. Here we make a function to create the md5sum ++#and then we call it from arches where it makes sense, starting with amd64/x86 ++isoroot_checksum() { ++ echo "Creating checksums for all files included in the iso, please wait..." ++ find "${clst_target_path}" -type f ! -name 'isoroot_checksums' ! -name 'isolinux.bin' -exec sha256sum {} + > "${clst_target_path}"/isoroot_checksums ++ sed -i "s#${clst_target_path}##" "${clst_target_path}"/isoroot_checksums ++} ++ + # Here we actually create the ISO images for each architecture + case ${clst_hostarch} in + alpha) +@@ -262,16 +271,19 @@ case ${clst_hostarch} in + mv ${clst_target_path}/boot/* ${clst_target_path}/isolinux + rm -r ${clst_target_path}/boot + echo "Creating ISO using ISOLINUX bootloader" ++ isoroot_checksum + echo "mkisofs -J -R -l ${mkisofs_zisofs_opts} -V \"${clst_iso_volume_id}\" -o ${1} -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ${clst_target_path}" + mkisofs -J -R -l ${mkisofs_zisofs_opts} -V "${clst_iso_volume_id}" -o ${1} -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ${clst_target_path} || die "Cannot make ISO image" + isohybrid ${1} + elif [ -e ${clst_target_path}/gentoo.efimg ] + then ++ isoroot_checksum + echo "Creating ISO using both ISOLINUX and EFI bootloader" + echo "mkisofs -J -R -l ${mkisofs_zisofs_opts} -V \"${clst_iso_volume_id}\" -o ${1} -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -b gentoo.efimg -c boot.cat -no-emul-boot -z ${clst_target_path}" + mkisofs -J -R -l ${mkisofs_zisofs_opts} -V "${clst_iso_volume_id}" -o ${1} -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -b gentoo.efimg -c boot.cat -no-emul-boot -z ${clst_target_path} || die "Cannot make ISO image" + fi + else ++ isoroot_checksum + echo "Creating ISO using ISOLINUX bootloader" + echo "mkisofs -J -R -l ${mkisofs_zisofs_opts} -V \"${clst_iso_volume_id}\" -o ${1} -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ${clst_target_path}" + mkisofs -J -R -l ${mkisofs_zisofs_opts} -V "${clst_iso_volume_id}" -o ${1} -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ${clst_target_path} || die "Cannot make ISO image" +@@ -279,15 +291,18 @@ case ${clst_hostarch} in + fi + elif [ -e ${clst_target_path}/boot/grub/stage2_eltorito ] + then ++ isoroot_checksum + echo "Creating ISO using GRUB bootloader" + echo "mkisofs -J -R -l ${mkisofs_zisofs_opts} -V \"${clst_iso_volume_id}\" -o ${1} -b boot/grub/stage2_eltorito -c boot/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ${clst_target_path}" + mkisofs -J -R -l ${mkisofs_zisofs_opts} -V "${clst_iso_volume_id}" -o ${1} -b boot/grub/stage2_eltorito -c boot/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ${clst_target_path} || die "Cannot make ISO image" + elif [ -e ${clst_target_path}/gentoo.efimg ] + then ++ isoroot_checksum + echo 'Creating ISO using EFI bootloader' + echo "mkisofs -J -R -l ${mkisofs_zisofs_opts} -V \"${clst_iso_volume_id}\" -o ${1} -b gentoo.efimg -c boot.cat -no-emul-boot ${clst_target_path}" + mkisofs -J -R -l ${mkisofs_zisofs_opts} -V "${clst_iso_volume_id}" -o ${1} -b gentoo.efimg -c boot.cat -no-emul-boot ${clst_target_path} || die "Cannot make ISO image" + else ++ isoroot_checksum + echo "mkisofs -J -R -l ${mkisofs_zisofs_opts} -V \"${clst_iso_volume_id}\" -o ${1} ${clst_target_path}" + mkisofs -J -R -l ${mkisofs_zisofs_opts} -V "${clst_iso_volume_id}" -o ${1} ${clst_target_path} || die "Cannot make ISO image" + fi