We have some news to share for the request index beta feature. We’ve added more options to sort your requests, counters to the individual filters and documentation for the search functionality. Checkout the blog post for more details.

File kernel-spec-macros of Package kernel-source

# This file is included by all the kernel-*.spec files

# Build with bash instead of sh as the shell: this turns on bash
# extensions like <(...).
%define _buildshell /bin/bash

%define using_buildservice	0%{?opensuse_bs}

%if ! 0%{?using_buildservice}
%define using_buildservice 0%(echo %disturl | grep -q '^obs://build\.[^.]*suse\.' && echo 1)
%endif

# TW is usrmerged
%if 0%{?suse_version} >= 1550
%define usrmerged 1
%else
%define usrmerged 0
%endif

# source_rel is the package release string, without the rebuild counter
# generated by the build service. If the release string has a non-digit
# suffix, we keep that suffix and strip the rightmost digit component.
# This is used in KOTD builds: 2.1.g1234567 -> 2.g1234567
# In PTF projects, there is no rebuild counter, so we leave the release
# string intact.
%define source_rel %release
%define obsolete_rebuilds() %nil
%define obsolete_rebuilds_subpackage() %nil
%if %using_buildservice && ! 0%{?is_ptf}
%define source_rel %(echo %release | sed -r 's/\\.[0-9]+($|\\.[^.]*[^.0-9][^.]*$)/\\1/')
# If the rebuild counter is > 1, obsolete all previous rebuilds (boo#867595)
%define obsolete_rebuilds() %( \
	set -- $(echo %release | sed -rn 's/(.*\\.)([0-9]+)($|\\.[^.]*[^.0-9][^.]*$)/\\1 \\2 \\3/p') \
	if test -n "$2" && test "$2" -gt 99; then echo "warning: Rebuild counter too high in %release" >&2; exit 0; fi \
	for i in $(seq 1 $(($2-1))) ; do echo "Obsoletes: %1 = %version-$1$i$3" ; done \
)
%define obsolete_rebuilds_subpackage() %( \
	set -- $(echo %release | sed -rn 's/(.*\\.)([0-9]+)($|\\.[^.]*[^.0-9][^.]*$)/\\1 \\2 \\3/p') \
	if test -n "$2" && test "$2" -gt 99; then echo "warning: Rebuild counter too high in %release" >&2; exit 0; fi \
	cnt=$2
	set -- $(echo %source_rel | sed -rn 's/(.*\\.)([0-9]+)($|\\.[^.]*[^.0-9][^.]*$)/\\1 \\2 \\3/p') \
	if test -n "$2" && test "$2" -gt 99; then echo "warning: Upload counter too high in %source_rel" >&2; exit 0; fi \
	for i in $(seq 1 $2) ; do for j in $(seq 1 $cnt) ; do [ $i = $2 ] && [ $j = $cnt ] && break \
		echo "Obsoletes: %1 = %version-$1$i.$j$3" \
	done ; done \
)
%endif

# how the kernel release string (uname -r) should look like
%define kernelrelease %patchversion-%source_rel

# Compare the kernel version to the given argument, return value semantics
# same as strcmp(3). Example: %%if %%{kver_cmp 4.8} > 0 ... %%endif
%define kver_cmp() %{lua: print(rpm.vercmp(rpm.expand("%patchversion"), rpm.expand("%1")))}

%define my_builddir %_builddir/%{name}-%{version}

# macro to add the source timestamp to package descriptions
%define source_timestamp %(sed '1s/^/Source Timestamp: /' %_sourcedir/source-timestamp || :)

# function used in developent package scriptlets
%define relink_function relink() {			\
    if [ -h "$2" ]; then				\
	local old=$(readlink "$2")			\
	[ "$old" = "$1" ] && return 0			\
	echo "Changing symlink $2 from $old to $1"	\
    elif [ -e "$2" ]; then				\
	echo "Replacing file $2 with symlink to $1"	\
    fi							\
    rm -f "$2" && ln -s "$1" "$2"			\
}

%if %{usrmerged}
%define kernel_module_directory /usr/lib/modules
%else
%define kernel_module_directory /lib/modules
%endif

# Very basic macro for conditional execution.
%define run_if_exists run_if_exists() { \
if [ -x "$1" ] ; then                   \
  "$@"                                  \
else                                    \
  echo Cannot execute "$1" >&2          \
fi                                      \
}                                       \
run_if_exists
openSUSE Build Service is sponsored by