From 4e45d74a0418ab3fec0dcde96121ec103aa6ae2e Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Fri, 11 Dec 2015 21:47:31 +0100 Subject: reproducible fedora rpms: as a start, build 235 fedora-23 source packages (those from @buildsys-build) --- TODO | 3 +-- bin/reproducible_build_rpm.sh | 4 +++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/TODO b/TODO index 45b1172d..74ad1cbd 100644 --- a/TODO +++ b/TODO @@ -284,16 +284,15 @@ This is about Debian, below are more todo entries for other projects… * build script ** maintenance should do maintenance too, to avoid blocking: if stamp file is older than 6h, do mock --update ** how to allow more than one mock builder per node? using schroots? -** how to get a list of packages? ** no variations introduced yet: *** use '-j$NUM_CPU' and 'NEW_NUM_CPU=$(echo $NUM_CPU-1|bc)' *** modify TZ, LANG, LC_ALL, umask * other bits: ** use modified rpmbuild package from dhiru ** verify gpg signatures (via /etc/mock/) +** one day we will want to schedule all 17k source packages in fedora… * hosts/pb-build3/etc/yum/repos.d/* is really not sooo good but works… * build rawhide too (once fedora-23 builds nicely) -** when adding rawhide make sure this is not needed: 'yumdownloader --enablerepo=fedora-23-src --source sudo' * more notes: ** https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds diff --git a/bin/reproducible_build_rpm.sh b/bin/reproducible_build_rpm.sh index 6b4a92a3..2ef3d446 100755 --- a/bin/reproducible_build_rpm.sh +++ b/bin/reproducible_build_rpm.sh @@ -45,7 +45,9 @@ download_package() { choose_package() { echo "$(date -u ) - choosing package to be build." local MIN_AGE=6 - for PKG in sudo git screen vim joe less rpm file ssh ; do + # instead of hardcoding the list of packages we can also use something like this to get a list of all packages: + # yumdownloader --urls --source --releasever=23 '*' + for PKG in bash bzip2 coreutils cpio diffutils fedora-release findutils gawk gcc gcc-c++ gcc-c++ grep gzip info make patch redhat-rpm-config rpm-build sed shadow-utils tar unzip util-linux util-linux which xz audit-libs audit-libs basesystem binutils bzip2-libs bzip2-libs ca-certificates chkconfig cpp cracklib cracklib cracklib-dicts crypto-policies curl cyrus-sasl-lib cyrus-sasl-lib dwz elfutils elfutils-default-yama-scope elfutils-libelf elfutils-libelf elfutils-libs elfutils-libs emacs-filesystem expat fedora-repos file file-libs filesystem gc gdb gdbm ghc-srpm-macros glib2 glib2 glibc glibc glibc-common glibc-devel glibc-headers gmp gmp gnat-srpm-macros gnupg2 gnutls go-srpm-macros groff-base guile isl kernel-headers keyutils-libs krb5-libs libacl libacl libarchive libassuan libatomic_ops libattr libattr libbabeltrace libblkid libblkid libcap libcap libcap-ng libcap-ng libcom_err libcurl libdb libdb libdb-utils libfdisk libfdisk libffi libffi libgcc libgcc libgcrypt libgcrypt libgomp libgpg-error libgpg-error libidn libidn libipt libksba libmetalink libmount libmount libmpc libmpc libnghttp2 libpwquality libseccomp libseccomp libsecret libselinux libselinux libsemanage libsepol libsmartcols libsmartcols libssh2 libstdc++ libstdc++ libstdc++-devel libtasn1 libtool-ltdl libunistring libuser libuser libutempter libutempter libuuid libuuid libverto libxml2 lua lzo mpfr mpfr ncurses ncurses-base ncurses-libs ncurses-libs nettle npth nspr nspr nss nss nss-softokn nss-softokn nss-softokn-freebl nss-softokn-freebl nss-sysinit nss-tools nss-util nss-util ocaml-srpm-macros openldap openldap openssl-libs p11-kit p11-kit-trust pam pam pcre pcre perl perl-Carp perl-Encode perl-Exporter perl-File-Path perl-File-Temp perl-Getopt-Long perl-HTTP-Tiny perl-MIME-Base64 perl-PathTools perl-Pod-Escapes perl-Pod-Perldoc perl-Pod-Simple perl-Pod-Usage perl-Scalar-List-Utils perl-Socket perl-Storable perl-Term-ANSIColor perl-Term-Cap perl-Text-ParseWords perl-Text-Tabs+Wrap perl-Time-HiRes perl-Time-Local perl-Unicode-Normalize perl-constant perl-generators perl-libs perl-macros perl-parent perl-podlators perl-srpm-macros perl-threads perl-threads-shared pinentry pkgconfig popt popt python3 python3-libs python3-pip python3-setuptools readline readline rpm rpm-build-libs rpm-libs rpm-plugin-selinux setup shared-mime-info sqlite sqlite systemd-libs systemd-libs tzdata ustr xz-libs xz-libs zip zlib zlib ; do # build package if it has never build or at least $MIN_AGE days ago if [ ! -d $BASE/rpm/$RELEASE/$ARCH/$PKG ] || [ ! -z $(find $BASE/rpm/$RELEASE/$ARCH/ -name $PKG -mtime +$MIN_AGE) ] ; then SRCPACKAGE=$PKG -- cgit v1.2.3-70-g09d2