Adrian Schröter 2020-03-13 13:47:01 +00:00 committed by Git OBS Bridge
parent 270b4fe856
commit 62bc55bb42
3 changed files with 248 additions and 16 deletions

View File

@ -1,3 +1,204 @@
-------------------------------------------------------------------
Fri Mar 13 13:41:20 UTC 2020 - Adrian Schröter <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- support OBS-Milestone comment for kiwi
- switch to preinstall expansion for factory
-------------------------------------------------------------------
Fri Jan 24 15:44:00 UTC 2020 - Adrian Schröter <adrian@suse.de>
- fix SLE 15 configurations
- Fix dist autodetection for sle15-sp2
-------------------------------------------------------------------
Fri Jan 24 14:38:29 UTC 2020 - Adrian Schröter <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <dimstar@opensuse.org>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <adrian@suse.de>
- add initial SLE 15 SP1 config (bsc#1122895)
-------------------------------------------------------------------
Mon Jan 21 12:00:48 UTC 2019 - Adrian Schröter <adrian@suse.de>
- 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 <adrian@suse.de>
- 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 <!-- OBS-Imagerepo: -->
- Rework release handling of containers
-------------------------------------------------------------------
Mon Nov 26 09:24:17 UTC 2018 - Max Lin <mlin@suse.com>
- Add Leap 15.1 config
-------------------------------------------------------------------
Mon Oct 22 09:43:20 UTC 2018 - Adrian Schröter <adrian@suse.de>
- 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 <adrian@suse.de> Wed Aug 29 13:57:07 UTC 2018 - Adrian Schröter <adrian@suse.de>
@ -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 Tue Nov 28 13:33:11 UTC 2017 - adrian@suse.de
- Fixed Dockerfile repository parsing - Fixed Dockerfile repository parsing
- Improve file name check extractbuild - Improve file name check extractbuild (CVE-2017-14804, bsc#1069904)
- track release number of containers - track release number of containers
- Define SOURCEURL and PATCHURL macros - Define SOURCEURL and PATCHURL macros
- Keep preinstalled packages - Keep preinstalled packages

View File

@ -18,9 +18,15 @@
# needsbinariesforbuild # 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 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 Group: Development/Tools/Building
Version: 20200313 Version: 20200313
Release: 0 Release: 0
@ -33,12 +39,28 @@ Requires: bash
Requires: binutils Requires: binutils
Requires: perl Requires: perl
Requires: tar 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} %if 0%{?fedora}
Requires: perl-MD5 Requires: perl-MD5
Requires: perl-TimeDate Requires: perl-TimeDate
BuildRequires: perl-TimeDate
%endif %endif
Conflicts: bsdtar < 2.5.5 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. # None of them are actually required for core features.
# Perl helper scripts use them. # Perl helper scripts use them.
Recommends: perl(Date::Language) Recommends: perl(Date::Language)
@ -53,15 +75,17 @@ Recommends: perl(YAML)
Recommends: perl(YAML::LibYAML) Recommends: perl(YAML::LibYAML)
Recommends: bsdtar Recommends: bsdtar
Recommends: qemu-linux-user Recommends: qemu-linux-user
Recommends: zstd
Recommends: /usr/bin/qemu-kvm
Recommends: /sbin/mkfs.ext3 Recommends: /sbin/mkfs.ext3
%endif %endif
%if 0%{?suse_version} > 1120 || ! 0%{?suse_version} %if 0%{?suse_version} > 1120 || ! 0%{?suse_version}
Requires: build-mkbaselibs Requires: %{__pkg_name}-mkbaselibs
%endif %endif
%if 0%{?suse_version} > 1120 || 0%{?mdkversion} %if 0%{?suse_version} > 1120 || 0%{?mdkversion}
Recommends: build-mkdrpms Recommends: %{__pkg_name}-mkdrpms
%endif %endif
%description %description
@ -85,7 +109,7 @@ Summary: Tools to generate delta rpms
Group: Development/Tools/Building Group: Development/Tools/Building
Requires: deltarpm Requires: deltarpm
# XXX: we wanted to avoid that but mkdrpms needs Build::Rpm::rpmq # XXX: we wanted to avoid that but mkdrpms needs Build::Rpm::rpmq
Requires: build Requires: %{__pkg_name}
%description mkdrpms %description mkdrpms
This package contains the parts which may be installed in the inner build system 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} %package initvm-%{initvm_arch}
Summary: Virtualization initializer for emulated cross architecture builds Summary: Virtualization initializer for emulated cross architecture builds
Group: Development/Tools/Building Group: Development/Tools/Building
Requires: build Requires: %{__pkg_name}
BuildRequires: gcc BuildRequires: gcc
BuildRequires: glibc-devel BuildRequires: glibc-devel
Provides: build-initvm Provides: %{__pkg_name}-initvm
Obsoletes: build-initvm Obsoletes: %{__pkg_name}-initvm
%if 0%{?suse_version} > 1200 %if 0%{?suse_version} > 1200
BuildRequires: glibc-devel-static BuildRequires: glibc-devel-static
%endif %endif
@ -182,12 +206,17 @@ test -e baselibs_global.conf || exit 1
%endif %endif
%check %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 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 exit 0
fi fi
if [ ! -f "%{buildroot}/usr/lib/build/configs/default.conf" ]; then 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 exit 0
fi fi
# get back the default.conf link # 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 export BUILD_IGNORE_2ND_STAGE=1
# use our own build code # use our own build code
export BUILD_DIR=$PWD export BUILD_DIR=$PWD
# simple chroot build test
cd test cd test
# target is autodetected # target is autodetected
%if 0%{?sles_version} %if 0%{?sles_version}
@ -222,7 +253,7 @@ sed -i 's,build-mkbaselibs,,' ../configs/*.conf
%config(noreplace) /usr/lib/build/emulator/emulator.sh %config(noreplace) /usr/lib/build/emulator/emulator.sh
%{_mandir}/man1/build.1* %{_mandir}/man1/build.1*
%{_mandir}/man1/unrpm.1* %{_mandir}/man1/unrpm.1*
%{_mandir}/man1/vc.1* %{_mandir}/man1/buildvc.1*
%if 0%{?suse_version} %if 0%{?suse_version}
%exclude /usr/lib/build/initvm.* %exclude /usr/lib/build/initvm.*
%endif %endif

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:80388efecc8913ddecde983faf5ed19ab98f5da963a066ec500b8a4e008744eb oid sha256:d688f1ca95b26255b820df3df6cbe00f863e2c35e2c652d7816c12b0cfb97ad4
size 303960 size 345305