Blame kernel-subpackage-spec

Bernhard M. Wiedemann 6ebc4a
%define rpm_kver %(rpm -q --qf '%%{VERSION}' %kernel_package_name)
Bernhard M. Wiedemann 6ebc4a
%define rpm_krel %(rpm -q --qf '%%{RELEASE}' %kernel_package_name)
Bernhard M. Wiedemann 6ebc4a
0ccffb
%include /usr/lib/rpm/kernel/kernel-spec-macros
0ccffb
Bernhard M. Wiedemann 6ebc4a
# Force bzip2 instead of lzma compression to
Bernhard M. Wiedemann 6ebc4a
# 1) allow install on older dist versions, and
Bernhard M. Wiedemann 6ebc4a
# 2) decrease build times (bsc#962356)
Bernhard M. Wiedemann 6ebc4a
# %%define _binary_payload w9.bzdio
Bernhard M. Wiedemann 6ebc4a
# Do not recompute the build-id of vmlinux in find-debuginfo.sh (bsc#964063)
Bernhard M. Wiedemann 6ebc4a
%undefine _unique_build_ids
Bernhard M. Wiedemann 6ebc4a
%define _no_recompute_build_ids 1
Bernhard M. Wiedemann 6ebc4a
# prevent usr/lib/debug/boot/vmlinux-4.12.14-11.10-default-4.12.14-11.10.ppc64le.debug
Bernhard M. Wiedemann 6ebc4a
%undefine _unique_debug_names
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%define kernel_requires        %(rpm -q --queryformat '[%%{REQUIREFLAGS:deptype},%%{REQUIRENEVRS}\\n]' %kernel_package_name | grep -vE 'rpmlib,|interp,' | grep -E 'manual,' | sed -e 's/.*,//' | tr '\\n' ' ')
Bernhard M. Wiedemann 6ebc4a
%define kernel_requires_pre    %(rpm -q --queryformat '[%%{REQUIREFLAGS:deptype},%%{REQUIRENEVRS}\\n]' %kernel_package_name | grep -vE 'rpmlib,|interp,' | grep -E 'pre,' | sed -e 's/.*,//' | tr '\\n' ' ')
Bernhard M. Wiedemann 6ebc4a
%define kernel_requires_preun  %(rpm -q --queryformat '[%%{REQUIREFLAGS:deptype},%%{REQUIRENEVRS}\\n]' %kernel_package_name | grep -vE 'rpmlib,|interp,' | grep -E 'preun,' | sed -e 's/.*,//' | tr '\\n' ' ')
Bernhard M. Wiedemann 6ebc4a
%define kernel_requires_post   %(rpm -q --queryformat '[%%{REQUIREFLAGS:deptype},%%{REQUIRENEVRS}\\n]' %kernel_package_name | grep -vE 'rpmlib,|interp,' | grep -E 'post,' | sed -e 's/.*,//' | tr '\\n' ' ')
Bernhard M. Wiedemann 6ebc4a
%define kernel_requires_postun %(rpm -q --queryformat '[%%{REQUIREFLAGS:deptype},%%{REQUIRENEVRS}\\n]' %kernel_package_name | grep -vE 'rpmlib,|interp,' | grep -E 'postun,' | sed -e 's/.*,//' | tr '\\n' ' ')
Bernhard M. Wiedemann 184a47
%define kernel_base_provides %(rpm -q --queryformat '[%%{PROVIDENEVRS}\\n]' %kernel_package_name | sed -E 's/^%kernel_package_name(-srchash| =)/%name\\1/g' | grep -vE '^(ksym|kmod|firmware)[(]' | tr '\\n' ' )')
Bernhard M. Wiedemann 184a47
%define kernel_base_obsoletes %(rpm -q --queryformat '[%%{OBSOLETENEVRS}\\n]' %kernel_package_name | sed -E 's/^%kernel_package_name(-srchash| =)/%name\\1/g' | grep -vE '^(ksym|kmod|firmware)[(]' | tr '\\n' ' )')
Bernhard M. Wiedemann 184a47
%define kernel_base_conflicts %(rpm -q --queryformat '[%%{CONFLICTNEVRS}\\n]' %kernel_package_name | grep -vE '^(ksym|kmod|firmware)[(]' | tr '\\n' ' )')
Bernhard M. Wiedemann 184a47
%define kernel_base_recommends %(rpm -q --queryformat '[%%{RECOMMENDNEVRS}\\n]' %kernel_package_name | grep -v '^kernel-firmware' | grep -vE '^(ksym|kmod|firmware)[(]' | tr '\\n' ' )')
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%if ! %(expr 1 - 1)
Bernhard M. Wiedemann 6ebc4a
%if "%{kernel_requires}" != ""
Bernhard M. Wiedemann 6ebc4a
Requires:       %kernel_requires
Bernhard M. Wiedemann 6ebc4a
%endif
Bernhard M. Wiedemann 6ebc4a
%if "%{kernel_requires_pre}" != ""
Bernhard M. Wiedemann 6ebc4a
Requires(pre):  %kernel_requires_pre
Bernhard M. Wiedemann 6ebc4a
%endif
Bernhard M. Wiedemann 6ebc4a
%if "%{kernel_requires_preun}" != ""
Bernhard M. Wiedemann 6ebc4a
Requires(preun):%kernel_requires_preun
Bernhard M. Wiedemann 6ebc4a
%endif
Bernhard M. Wiedemann 6ebc4a
%if "%{kernel_requires_post}" != ""
Bernhard M. Wiedemann 6ebc4a
Requires(post): %kernel_requires_post
Bernhard M. Wiedemann 6ebc4a
%endif
Bernhard M. Wiedemann 6ebc4a
%if "%{kernel_requires_postun}" != ""
Bernhard M. Wiedemann 6ebc4a
Requires(postun):%kernel_requires_postun
Bernhard M. Wiedemann 6ebc4a
%endif
Bernhard M. Wiedemann 6ebc4a
%endif
Bernhard M. Wiedemann 184a47
%if "%{kernel_base_provides}" != ""
Bernhard M. Wiedemann 184a47
Provides:     %{kernel_base_provides}
Bernhard M. Wiedemann 184a47
%endif
Bernhard M. Wiedemann 184a47
%if "%{kernel_base_obsoletes}" != ""
Bernhard M. Wiedemann 184a47
Obsoletes:     %{kernel_base_obsoletes}
Bernhard M. Wiedemann 184a47
%endif
Bernhard M. Wiedemann 184a47
%if "%{kernel_base_conflicts}" != ""
Bernhard M. Wiedemann 184a47
Conflicts:     %{kernel_base_conflicts}
Bernhard M. Wiedemann 184a47
%endif
Bernhard M. Wiedemann 78ffbf
%if "%{kernel_base_recommends}" != ""
Bernhard M. Wiedemann 78ffbf
Recommends:     %{kernel_base_recommends}
Bernhard M. Wiedemann 78ffbf
%endif
0ccffb
# This should give Conflicts: %%kernel_package_name = %%source_rel as old
0ccffb
# kernel-default-base did.  Together with the %%obsolete_rebuilds translated
0ccffb
# from %%kernel_package_name to %%name we should be set for obsoletes against
0ccffb
# kernel rebuilds.
Bernhard M. Wiedemann 6ebc4a
Conflicts:      %(rpm -q --queryformat '[%%{PROVIDENEVRS}\n]' %kernel_package_name | grep '^%kernel_package_name =' | sort -V | head -n 1)
0ccffb
# To protect against obsolete rebuilds of self we need a provide equivalent to
0ccffb
# %%source_rel on this package version, and do obsolete of lower upload numbers
0ccffb
# and lower rebuild numbers of %%name built against same kernel.
0ccffb
# The %%source-rel is calculated from the subpackage version here.
0ccffb
Provides: %name = %version-%source_rel
0ccffb
%obsolete_rebuilds_subpackage %name
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%description
Bernhard M. Wiedemann 6ebc4a
%(rpm -q --qf '%%{DESCRIPTION}' %kernel_package_name)
Bernhard M. Wiedemann 6ebc4a
%extradescription
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
This is a subpackage of %kernel_package_name. Development files are in
Bernhard M. Wiedemann b687c9
%kernel_package_name-devel, sources in kernel-source%variant, and
Bernhard M. Wiedemann b687c9
debug information in %kernel_package_name-debuginfo.
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%package rebuild
Bernhard M. Wiedemann 6ebc4a
Summary: Empty package to ensure rebuilding %name in OBS
Bernhard M. Wiedemann 6ebc4a
Group: Other
Bernhard M. Wiedemann 6ebc4a
Requires: %kernel_package_name = %rpm_kver-%rpm_krel
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%description rebuild
Bernhard M. Wiedemann 6ebc4a
This is empty package that ensures %name is rebuilt every time
Bernhard M. Wiedemann 6ebc4a
%kernel_package_name is rebuilt in OBS.
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
There is no reason to install this package.
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%files rebuild
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%prep
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%build
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%install
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
echo "%{?modules}" | tr ', ' '\n\n' > request-modules
Bernhard M. Wiedemann 6ebc4a
%scriptdir/kernel-subpackage-build %kernel_package_name %rpm_kver-%rpm_krel %package_name-%version-%release
Bernhard M. Wiedemann 6ebc4a
7a4f11
%pre -f prein.sh
7a4f11
7a4f11
%post -f postin.sh
7a4f11
Bernhard M. Wiedemann 6ebc4a
%preun -f preun.sh
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%postun -f postun.sh
Bernhard M. Wiedemann 6ebc4a
7a4f11
%posttrans -f posttrans.sh
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%files -f subpackage.flist
Bernhard M. Wiedemann 6ebc4a
Bernhard M. Wiedemann 6ebc4a
%changelog