diff --git a/libsemanage-fedora.patch b/libsemanage-fedora.patch index 5444220..f0b675c 100644 --- a/libsemanage-fedora.patch +++ b/libsemanage-fedora.patch @@ -1,5 +1,5 @@ diff --git libsemanage-2.6/src/Makefile libsemanage-2.6/src/Makefile -index 68aab72..ccaa29d 100644 +index 68aab72..913fc0a 100644 --- libsemanage-2.6/src/Makefile +++ libsemanage-2.6/src/Makefile @@ -2,7 +2,7 @@ @@ -7,10 +7,63 @@ index 68aab72..ccaa29d 100644 # targets with "PYPREFIX": PYTHON ?= python -PYPREFIX ?= $(notdir $(PYTHON)) -+PYPREFIX ?= $(shell $(PYTHON) -c 'import sys;print("python%d" % sys.version_info[0])') ++PYPREFIX ?= $(shell $(PYTHON) -c 'import sys;print("python-%d.%d" % sys.version_info[:2])') RUBY ?= ruby RUBYPREFIX ?= $(notdir $(RUBY)) PKG_CONFIG ?= pkg-config +@@ -14,11 +14,12 @@ SHLIBDIR ?= $(DESTDIR)/lib + INCLUDEDIR ?= $(PREFIX)/include + PYLIBVER ?= $(shell $(PYTHON) -c 'import sys;print("python%d.%d" % sys.version_info[0:2])') + PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX)) +-PYLIBDIR ?= $(LIBDIR)/$(PYLIBVER) +-RUBYLIBVER ?= $(shell $(RUBY) -e 'print RUBY_VERSION.split(".")[0..1].join(".")') +-RUBYPLATFORM ?= $(shell $(RUBY) -e 'print RUBY_PLATFORM') +-RUBYINC ?= $(shell $(PKG_CONFIG) --cflags ruby-$(RUBYLIBVER)) +-RUBYINSTALL ?= $(LIBDIR)/ruby/site_ruby/$(RUBYLIBVER)/$(RUBYPLATFORM) ++PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX)) ++PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])') ++PYCEXT ?= $(shell $(PYTHON) -c 'import imp;print([s for s,m,t in imp.get_suffixes() if t == imp.C_EXTENSION][0])') ++RUBYINC ?= $(shell $(RUBY) -e 'puts "-I" + RbConfig::CONFIG["rubyarchhdrdir"] + " -I" + RbConfig::CONFIG["rubyhdrdir"]') ++RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -lruby"') ++RUBYINSTALL ?= $(DESTDIR)$(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]') + + LIBBASE=$(shell basename $(LIBDIR)) + +@@ -81,10 +82,10 @@ $(SWIGRUBYLOBJ): $(SWIGRUBYCOUT) + $(CC) $(CFLAGS) $(SWIG_CFLAGS) $(RUBYINC) -fPIC -DSHARED -c -o $@ $< + + $(SWIGSO): $(SWIGLOBJ) +- $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $< -L. -lsemanage -L$(LIBDIR) ++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $< -L. -lsemanage $(PYLIBS) -L$(LIBDIR) + + $(SWIGRUBYSO): $(SWIGRUBYLOBJ) +- $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -L. -lsemanage -L$(LIBDIR) ++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -L. -lsemanage $(RUBYLIBS) -L$(LIBDIR) + + $(LIBA): $(OBJS) + $(AR) rcs $@ $^ +@@ -98,7 +99,7 @@ $(LIBPC): $(LIBPC).in ../VERSION + sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBBASE):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ + + semanageswig_python_exception.i: ../include/semanage/semanage.h +- bash exception.sh > $@ ++ bash -e exception.sh > $@ || (rm -f $@ ; false) + + conf-scan.c: conf-scan.l conf-parse.h + $(LEX) $(LFLAGS) -t $< > $@ +@@ -145,9 +146,9 @@ install: all + cd $(LIBDIR) && ln -sf $(LIBSO) $(TARGET) + + install-pywrap: pywrap +- test -d $(PYLIBDIR)/site-packages || install -m 755 -d $(PYLIBDIR)/site-packages +- install -m 755 $(SWIGSO) $(PYLIBDIR)/site-packages/_semanage.so +- install -m 755 semanage.py $(PYLIBDIR)/site-packages ++ test -d $(PYSITEDIR) || install -m 755 -d $(PYSITEDIR) ++ install -m 755 $(SWIGSO) $(PYSITEDIR)/_semanage$(PYCEXT) ++ install -m 644 semanage.py $(PYSITEDIR) + + + install-rubywrap: rubywrap diff --git libsemanage-2.6/src/direct_api.c libsemanage-2.6/src/direct_api.c index e5c72cd..9c3149b 100644 --- libsemanage-2.6/src/direct_api.c diff --git a/libsemanage.spec b/libsemanage.spec index b54456e..e44e223 100644 --- a/libsemanage.spec +++ b/libsemanage.spec @@ -7,14 +7,14 @@ Summary: SELinux binary policy manipulation library Name: libsemanage Version: 2.6 -Release: 3%{?dist} +Release: 4%{?dist} License: LGPLv2+ Group: System Environment/Libraries Source: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20161014/libsemanage-2.6.tar.gz # download https://raw.githubusercontent.com/fedora-selinux/scripts/master/selinux/make-fedora-selinux-patch.sh # run: # $ VERSION=2.6 ./make-fedora-selinux-patch.sh libsemanage -# HEAD https://github.com/fedora-selinux/selinux/commit/de207e979af0e22d7f6908a3c3fb2d6d1f2dbc8e +# HEAD https://github.com/fedora-selinux/selinux/commit/55c710487a365122fc1c961c7b05620defbfe65a Patch1: libsemanage-fedora.patch URL: https://github.com/SELinuxProject/selinux/wiki Source1: semanage.conf @@ -195,6 +195,11 @@ rm -rf ${RPM_BUILD_ROOT} %endif # if with_python3 %changelog +* Fri Apr 28 2017 Petr Lautrbach - 2.6-4 +- Follow upstream and rename _semanage.so to _semanage.cpython-36m-x86_64-linux-gnu.so +- Revert "Enable expand-check by default" in order to avoid possible upgrade issues, + see https://bugzilla.redhat.com/show_bug.cgi?id=1319652#c25 + * Tue Apr 18 2017 Petr Lautrbach - 2.6-3 - Do not list duplicate port entries after setting a boolean (#1439875)