catalyst: testing patch for faster generation and faster verification

This commit is contained in:
Rick Farina (Zero_Chaos) 2020-01-15 13:40:37 -05:00
parent d00f36eca5
commit 0ed5390aeb
No known key found for this signature in database
GPG key ID: A29433C0AA431DDC
2 changed files with 103 additions and 0 deletions

View file

@ -0,0 +1,69 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
if [[ ${PV} == *9999* ]]; then
SRC_ECLASS="git-r3"
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/catalyst.git"
EGIT_BRANCH="master"
else
SRC_URI="https://gitweb.gentoo.org/proj/catalyst.git/snapshot/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86"
fi
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1 ${SRC_ECLASS}
DESCRIPTION="Release metatool used for creating releases based on Gentoo Linux"
HOMEPAGE="https://wiki.gentoo.org/wiki/Catalyst"
LICENSE="GPL-2"
SLOT="0"
IUSE="ccache doc +iso kernel_linux system-bootloader"
DEPEND="
app-text/asciidoc
>=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}]
"
RDEPEND="
>=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}]
>=dev-python/pydecomp-0.3[${PYTHON_USEDEP}]
app-arch/lbzip2
app-crypt/shash
sys-fs/dosfstools
!kernel_FreeBSD? ( || ( app-arch/tar[xattr] app-arch/libarchive[xattr] ) )
kernel_FreeBSD? ( app-arch/libarchive[xattr] )
amd64? ( >=sys-boot/syslinux-3.72 )
x86? ( >=sys-boot/syslinux-3.72 )
ccache? ( dev-util/ccache )
iso? ( virtual/cdrtools )
kernel_linux? ( app-misc/zisofs-tools >=sys-fs/squashfs-tools-2.1 )
"
PDEPEND="system-bootloader? ( >=sys-apps/memtest86+-5.01-r4
sys-boot/grub:2
amd64? ( sys-boot/grub[grub_platforms_efi-32,grub_platforms_efi-64] )
x86? ( sys-boot/grub[grub_platforms_efi-32] )
sys-boot/syslinux
sys-boot/shim )"
python_prepare_all() {
eapply "${FILESDIR}"/blake2.patch
python_setup
echo VERSION="${PV}" "${PYTHON}" setup.py set_version
VERSION="${PV}" "${PYTHON}" setup.py set_version || die
distutils-r1_python_prepare_all
}
python_compile_all() {
# build the man pages and docs
emake
}
python_install_all() {
distutils-r1_python_install_all
if use doc; then
dodoc files/HOWTO.html files/docbook-xsl.css
fi
}

View file

@ -0,0 +1,34 @@
diff --git a/catalyst/hash_utils.py b/catalyst/hash_utils.py
index 1134f50..a1a7445 100644
--- a/catalyst/hash_utils.py
+++ b/catalyst/hash_utils.py
@@ -11,6 +11,7 @@ from catalyst.support import CatalystError
# fields = ["func", "cmd", "args", "id"]
HASH_DEFINITIONS = {
"adler32" :["calc_hash2", "shash", ["-a", "ADLER32"], "ADLER32"],
+ "blake2" :["calc_hash2", "b2sum", [ ], "BLAKE2"],
"crc32" :["calc_hash2", "shash", ["-a", "CRC32"], "CRC32"],
"crc32b" :["calc_hash2", "shash", ["-a", "CRC32B"], "CRC32B"],
"gost" :["calc_hash2", "shash", ["-a", "GOST"], "GOST"],
diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh
index 8338e30..92efaa8 100755
--- a/targets/support/create-iso.sh
+++ b/targets/support/create-iso.sh
@@ -94,12 +94,14 @@ else
mkisofs_zisofs_opts=""
fi
-#we want to create a sha512sum for every file on the iso so we can verify it
-#from genkernel during boot. Here we make a function to create the sha512sums
+#we want to create a checksum for every file on the iso so we can verify it
+#from genkernel during boot. Here we make a function to create the sha512sums, and blake2sums
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 sha512sum {} + > "${clst_target_path}"/isoroot_checksums
+ find "${clst_target_path}" -type f ! -name 'isoroot_checksums' ! -name 'isolinux.bin' ! -name 'isoroot_b2sums' -exec sha512sum {} + > "${clst_target_path}"/isoroot_checksums
${clst_sed} -i "s#${clst_target_path}/\?##" "${clst_target_path}"/isoroot_checksums
+ find "${clst_target_path}" -type f ! -name 'isoroot_checksums' ! -name 'isolinux.bin' ! -name 'isoroot_b2sums' -exec b2sum {} + > "${clst_target_path}"/isoroot_b2sums
+ ${clst_sed} -i "s#${clst_target_path}/\?##" "${clst_target_path}"/isoroot_b2sums
}
run_mkisofs() {