Problem with sed in spec file

Juan Orti Alcaine juan.orti at miceliux.com
Wed Aug 21 11:21:20 UTC 2013


Hello, I'm adding a SELinux module to the gogoc package, as seen in this 
draft [1], and I've received a error about the dependecies. In my spec 
file I use this to extract the selinux-policy version and use it as a 
dependency:

%global selinux_policyver %(%{__sed} -e 
's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' 
/usr/share/selinux/devel/policyhelp || echo 0.0.0)

BuildRequires:  openssl-devel
BuildRequires:  systemd
BuildRequires:  checkpolicy
BuildRequires:  selinux-policy-devel
BuildRequires:  /usr/share/selinux/devel/policyhelp
BuildRequires:  hardlink
%if "%{selinux_policyver}" != ""
Requires:       selinux-policy >= %{selinux_policyver}
%endif

I use mock to compile it for f19 and f20:
$ mock -r fedora-rawhide-x86_64 gogoc-1.2-30.fc20.src.rpm
$ mock -r fedora-19-x86_64 gogoc-1.2-30.fc20.src.rpm

And when I check the dependecies, I see it has been a problem with the 
sed command in f20. What can be the cause? a problem with f20 rpm and 
double back-slashes?

# everything ok in f19
$ rpm -qpR 
/var/lib/mock/fedora-19-x86_64/result/gogoc-1.2-30.fc19.x86_64.rpm
/bin/sh
/bin/sh
/bin/sh
/sbin/fixfiles
/usr/sbin/semodule
/usr/sbin/semodule
config(gogoc) = 1.2-30.fc19
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libcrypto.so.10()(64bit)
libcrypto.so.10(libcrypto.so.10)(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
policycoreutils-python
radvd
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
selinux-policy >= 3.12.1
systemd
systemd
systemd
rpmlib(PayloadIsXz) <= 5.2-1

# PROBLEM! the sed hasn't worked I have two bogus dependencies:
# file:///usr/share/doc/selinux-policy/html/index.htm
# selinux-policy >= xdg-open
$ rpm -qpR 
/var/lib/mock/fedora-rawhide-x86_64/result/gogoc-1.2-30.fc20.x86_64.rpm
/bin/sh
/bin/sh
/bin/sh
/sbin/fixfiles
/usr/sbin/semodule
/usr/sbin/semodule
config(gogoc) = 1.2-30.fc20
file:///usr/share/doc/selinux-policy/html/index.html
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libcrypto.so.10()(64bit)
libcrypto.so.10(libcrypto.so.10)(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
policycoreutils-python
radvd
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
selinux-policy >= xdg-open
systemd
systemd
systemd
rpmlib(PayloadIsXz) <= 5.2-1

[1] 
https://fedoraproject.org/wiki/SELinux_Policy_Modules_Packaging_Draft



More information about the devel mailing list