summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2015-12-11 21:47:31 +0100
committerHolger Levsen <holger@layer-acht.org>2015-12-11 21:51:28 +0100
commit4e45d74a0418ab3fec0dcde96121ec103aa6ae2e (patch)
tree68e5fa14e8ab1fe58cc33fbc99aa9e4fe12e20d9
parentc994845677083a75d2200547ae61357670eb2b3d (diff)
downloadjenkins.debian.net-4e45d74a0418ab3fec0dcde96121ec103aa6ae2e.tar.xz
reproducible fedora rpms: as a start, build 235 fedora-23 source packages (those from @buildsys-build)
-rw-r--r--TODO3
-rwxr-xr-xbin/reproducible_build_rpm.sh4
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