diff --git a/build.changes b/build.changes index 96c5c74b..13588c90 100644 --- a/build.changes +++ b/build.changes @@ -1,3 +1,204 @@ +------------------------------------------------------------------- +Fri Mar 13 13:41:20 UTC 2020 - Adrian Schröter + +- Leap 15.2 config update (libzstd1 for rpm) +- handle obscpio extraction error as fatal +- Return correct exit code from systemd-nspawn build +- Spec parser: do not parse included files from end to start +- running disk full check also outside of VM +- run disk full check only for chroot + +------------------------------------------------------------------- +Mon Feb 10 08:25:12 UTC 2020 - Adrian Schröter + +- Spec parser: add support for %elif, %elifarch, %elifos +- Support rpm's %include statement (EXPERIMENTAL, known limitations) +- Do not do vminstall expansion in expanddeps unless --vm is used + +------------------------------------------------------------------- +Wed Feb 5 08:23:06 UTC 2020 - Adrian Schröter + +- 15.2 config: preinstall gcrypt deps again +- Recommends for Fedora based distros +- support obsgendiff funcationality +- various smaller code cleanups +- additional test cases for spec file parsing +- various fixes for cornercases during spec file parsing + +------------------------------------------------------------------- +Fri Jan 31 11:49:34 UTC 2020 - Adrian Schröter + +- fix regression in && operator handling of rpm spec file parser +- Correctly expand macros defined with %global + +------------------------------------------------------------------- +Wed Jan 29 12:57:22 UTC 2020 - Adrian Schröter + +- 15.2 config: temporary revert gcrypt preinstall until distro has changed +- factory config: ignore libxtables for iproute2, not needed for ip tool +- Follow upstream rpm changes in regard to logical ops +- Fix macro expansion of lines containing newlines +- add missing header file to avoid compile warnings + +------------------------------------------------------------------- +Tue Jan 28 15:20:28 UTC 2020 - Adrian Schröter + +- support OBS-Milestone comment for kiwi +- switch to preinstall expansion for factory + +------------------------------------------------------------------- +Fri Jan 24 15:44:00 UTC 2020 - Adrian Schröter + +- fix SLE 15 configurations +- Fix dist autodetection for sle15-sp2 + +------------------------------------------------------------------- +Fri Jan 24 14:38:29 UTC 2020 - Adrian Schröter + +- Fix crash when using preinstall dependency expansion in OBS +- build-vm-kvm: use /boot/kernel.obs.build and /boot/initrd.obs.build + as fallback regardless of the platform to have a global fallback + kernel to use for distros that do not use the "kernel-obs-build" + package to provide the guests kernel and initrd as the system + binaries are not reliable for use in a guest system +- use abuild user if $NOROOTFORBUILD is set. + +------------------------------------------------------------------- +Wed Jan 22 12:30:41 UTC 2020 - Adrian Schröter + +- fix createrepo existens check for appimager and docker builds + in chroot +- support to use virt-make-fs for ext3 VM builds + +------------------------------------------------------------------- +Fri Jan 10 09:28:39 UTC 2020 - Adrian Schröter + +- Arch Linux zstd format support +- fix testbuild fail with latest rpm in SP2 and Leap 15.2 +- do not retry automatically on disk full error + +------------------------------------------------------------------- +Tue Jan 7 12:54:44 UTC 2020 - Adrian Schröter + +- allow to enter an existing buildroot w/o recipe +- generate milestone files also for pure online media +- fix ccache setup of non-dotted compiler versions + +------------------------------------------------------------------- +Thu Dec 5 08:57:27 UTC 2019 - Adrian Schröter + +- qemu vm_type is running qemu system emulator now. Works for: + * aarch64 + * armv7l + * ppc64/ppc64le + * s390/s390x + * riscv64 + Note: this requires a kernel and initrd in build target via + kernel-obs-build mechanic +- various --shell improvements +- new --shell-cmd to run commands in chroot/KVM/Qemu/... directly +- raising minimal required memory in qemu mode to 512MB to be able + to run Linux kernel at least +- Normalize epoch 0 away when reading the module info +- Add systemd-nspawn backend (by Oleg Girko) + +------------------------------------------------------------------- +Thu Nov 14 13:18:14 UTC 2019 - Adrian Schröter + +- Add Fedora module parser +- Rpmmd parser: set up a dummy ExternEnt handler +- Add support for modules and publish flags +- add zstd to recommends +- Support rpm's new expression expansion syntax + +------------------------------------------------------------------- +Mon Sep 23 11:57:05 UTC 2019 - Adrian Schröter + +- build-recipe-dsc: Move all build results, not just *.deb and *.changes +- Mount /sys in chroot build +- vc: Do not open the editor if content is set +- adding leap 15.2 and SLE 15 SP2 configs +- Fix some rpmlint warnings +- return exit status 9 in the genbuildreqs case +- Export SYSTEMD_OFFLINE=1 to avoid failures from systemctl + +------------------------------------------------------------------- +Tue Jul 9 13:33:36 UTC 2019 - Adrian Schröter + +- fail build on preinstall failure +- avoid dependency errors on Fedora 30 +- fixes for simpleimage vm build support +- support zstd decompression with old rpms +- license tag fixes + +------------------------------------------------------------------- +Wed Jun 26 10:41:38 UTC 2019 - Dominique Leuenberger + +- configs/15.5.conf: add libzstd1 to preinstall list: RPM is being + extended to support zstd compression, which results in an + additionaly library being linked in. + +------------------------------------------------------------------- +Tue Jun 4 08:24:31 UTC 2019 - Adrian Schröter + +- configs/15.5.conf: remove brp-extract-appdata from support package +- add "-vv" parameter in case of debbuild + +------------------------------------------------------------------- +Thu Mar 21 09:35:43 UTC 2019 - Adrian Schröter + +- Filter out 'MACRO' from Requires(pre) +- Support createrepo_c's CREATEREPO_CHECKSUMS checksum cache +- Skip unsupported GPG check on ArchLinux +- Support #!BuildRequires dependencies +- Collect more statistics +- Install policy-rc.d to prevent services from starting on Debian + +------------------------------------------------------------------- +Wed Jan 23 14:42:17 UTC 2019 - Adrian Schröter + +- add initial SLE 15 SP1 config (bsc#1122895) + +------------------------------------------------------------------- +Mon Jan 21 12:00:48 UTC 2019 - Adrian Schröter + +- update factory config for libreadline8 switch +- cleanup 15.1 config with OBS specific stuff + * should not be used for plain build usage + * workarounds for kiwi should be fixed in packages + +------------------------------------------------------------------- +Thu Dec 6 15:23:11 UTC 2018 - Adrian Schröter + +- support jumping into KVM debug shells using "--vm-type=kvm --shell" +- adapt to new containerd CLI syntax +- Support a new 'UseOBSRepositories' flag +- lxc 3 support +- power9 fixes +- Generate a .milestone artifact for kiwi product builds +- Support rpm's new '^' separator in version comparison +- Allow to specify extra image repos with +- Rework release handling of containers + +------------------------------------------------------------------- +Mon Nov 26 09:24:17 UTC 2018 - Max Lin + +- Add Leap 15.1 config + +------------------------------------------------------------------- +Mon Oct 22 09:43:20 UTC 2018 - Adrian Schröter + +- require psmisc util for fuser +- Start debian support for kiwi images/containers +- Support building with unordered repositories for kiwi/docker builds +- Write the package list of the base container in kiwi container builds +- Support kiwi's "additionaltags" attribute (added in kiwi 9.15.3) +- Add some substitutes for the extra container tags +- Support "OBS-AddTag" directive to set multiple container tags in kiwi builds +- Archlinux updates +- SLE 12 SP4 config +- Appimage: support source file parsing + ------------------------------------------------------------------- Wed Aug 29 13:57:07 UTC 2018 - Adrian Schröter @@ -88,7 +289,7 @@ Wed Jan 24 16:04:35 UTC 2018 - adrian@suse.de Tue Nov 28 13:33:11 UTC 2017 - adrian@suse.de - Fixed Dockerfile repository parsing -- Improve file name check extractbuild +- Improve file name check extractbuild (CVE-2017-14804, bsc#1069904) - track release number of containers - Define SOURCEURL and PATCHURL macros - Keep preinstalled packages diff --git a/build.spec b/build.spec index e74b0d1a..445d7a2b 100644 --- a/build.spec +++ b/build.spec @@ -18,9 +18,15 @@ # needsbinariesforbuild -Name: build +%if 0%{?suse_version} +%define __pkg_name build +%else +%define __pkg_name obs-build +%endif + +Name: %{__pkg_name} Summary: A Script to Build SUSE Linux RPMs -License: GPL-2.0-or-later AND GPL-2.0-only +License: GPL-2.0-only OR GPL-3.0-only Group: Development/Tools/Building Version: 20200313 Release: 0 @@ -33,12 +39,28 @@ Requires: bash Requires: binutils Requires: perl Requires: tar +# needed for fuser +Requires: psmisc +# just to verify existence of packages +BuildRequires: bash +BuildRequires: binutils +BuildRequires: perl +BuildRequires: psmisc +BuildRequires: tar +# For testcases +BuildRequires: perl(Date::Parse) +BuildRequires: perl(Test::Harness) +BuildRequires: perl(Test::More) %if 0%{?fedora} Requires: perl-MD5 Requires: perl-TimeDate +BuildRequires: perl-TimeDate %endif Conflicts: bsdtar < 2.5.5 -%if 0%{?suse_version} > 1000 +BuildRequires: perl(Date::Parse) +BuildRequires: perl(Test::Harness) +BuildRequires: perl(Test::More) +%if 0%{?suse_version} > 1000 || 0%{?centos_version} >= 800 || 0%{?rhel_version} >= 800 || 0%{?fedora_version} >= 21 # None of them are actually required for core features. # Perl helper scripts use them. Recommends: perl(Date::Language) @@ -53,15 +75,17 @@ Recommends: perl(YAML) Recommends: perl(YAML::LibYAML) Recommends: bsdtar Recommends: qemu-linux-user +Recommends: zstd +Recommends: /usr/bin/qemu-kvm Recommends: /sbin/mkfs.ext3 %endif %if 0%{?suse_version} > 1120 || ! 0%{?suse_version} -Requires: build-mkbaselibs +Requires: %{__pkg_name}-mkbaselibs %endif %if 0%{?suse_version} > 1120 || 0%{?mdkversion} -Recommends: build-mkdrpms +Recommends: %{__pkg_name}-mkdrpms %endif %description @@ -85,7 +109,7 @@ Summary: Tools to generate delta rpms Group: Development/Tools/Building Requires: deltarpm # XXX: we wanted to avoid that but mkdrpms needs Build::Rpm::rpmq -Requires: build +Requires: %{__pkg_name} %description mkdrpms This package contains the parts which may be installed in the inner build system @@ -100,11 +124,11 @@ for generating delta rpm packages. %package initvm-%{initvm_arch} Summary: Virtualization initializer for emulated cross architecture builds Group: Development/Tools/Building -Requires: build +Requires: %{__pkg_name} BuildRequires: gcc BuildRequires: glibc-devel -Provides: build-initvm -Obsoletes: build-initvm +Provides: %{__pkg_name}-initvm +Obsoletes: %{__pkg_name}-initvm %if 0%{?suse_version} > 1200 BuildRequires: glibc-devel-static %endif @@ -156,7 +180,7 @@ ln -s sl${SUSE_V:0:2}.${SUSE_V:2:1}.conf default.conf ln -s sle${SLE_V:0:2}.${SLE_V:3:1}.conf default.conf %endif %if 0%{?sles_version} == 1110 -# this is SUSE SLE 11 +# this is SUSE SLE 11 ln -s sles11sp2.conf default.conf %endif # make sure that we have a config @@ -182,12 +206,17 @@ test -e baselibs_global.conf || exit 1 %endif %check +for i in build build-* ; do bash -n $i || exit 1 ; done + +# run perl module unit tests +LANG=C make test || exit 1 + if [ `whoami` != "root" ]; then - echo "WARNING: Not building as root, tests did not run!" + echo "WARNING: Not building as root, build test did not run!" exit 0 fi if [ ! -f "%{buildroot}/usr/lib/build/configs/default.conf" ]; then - echo "WARNING: No default config, tests did not run!" + echo "WARNING: No default config, build test did not run!" exit 0 fi # get back the default.conf link @@ -196,6 +225,8 @@ cp -av %{buildroot}/usr/lib/build/configs/default.conf configs/ export BUILD_IGNORE_2ND_STAGE=1 # use our own build code export BUILD_DIR=$PWD + +# simple chroot build test cd test # target is autodetected %if 0%{?sles_version} @@ -222,7 +253,7 @@ sed -i 's,build-mkbaselibs,,' ../configs/*.conf %config(noreplace) /usr/lib/build/emulator/emulator.sh %{_mandir}/man1/build.1* %{_mandir}/man1/unrpm.1* -%{_mandir}/man1/vc.1* +%{_mandir}/man1/buildvc.1* %if 0%{?suse_version} %exclude /usr/lib/build/initvm.* %endif diff --git a/obs-build-20200313.tar.gz b/obs-build-20200313.tar.gz index 4ef171f0..39b9660b 100644 --- a/obs-build-20200313.tar.gz +++ b/obs-build-20200313.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:80388efecc8913ddecde983faf5ed19ab98f5da963a066ec500b8a4e008744eb -size 303960 +oid sha256:d688f1ca95b26255b820df3df6cbe00f863e2c35e2c652d7816c12b0cfb97ad4 +size 345305