From b0072116971ee5fb5e3d9e59f46cb09bed1f9ff8 Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Thu, 23 Jun 2016 12:57:59 +0200 Subject: [PATCH] libsemanage-2.5-5 - Sort object files for deterministic linking order - Support overriding Makefile RANLIB - Respect CC and PKG_CONFIG environment variable --- libsemanage-fedora.patch | 70 ++++++++++++++++++++++++++++++++++++++-- libsemanage.spec | 13 +++++--- 2 files changed, 77 insertions(+), 6 deletions(-) diff --git a/libsemanage-fedora.patch b/libsemanage-fedora.patch index 05f38d4..f77ecac 100644 --- a/libsemanage-fedora.patch +++ b/libsemanage-fedora.patch @@ -1,8 +1,11 @@ diff --git libsemanage-2.5/ChangeLog libsemanage-2.5/ChangeLog -index 9b4d5b7..209091f 100644 +index 9b4d5b7..731140a 100644 --- libsemanage-2.5/ChangeLog +++ libsemanage-2.5/ChangeLog -@@ -1,3 +1,6 @@ +@@ -1,3 +1,9 @@ ++ * Sort object files for deterministic linking order, from Laurent Bigonville. ++ * Support overriding Makefile RANLIB, from Julien Pivotto. ++ * Respect CC and PKG_CONFIG environment variable, from Julien Pivotto. + * Fix multiple spelling errors, from Laurent Bigonville. + * genhomedircon: %{USERID} and %{USERNAME} support and code cleanups, from Jason Zaman. + @@ -22,6 +25,50 @@ index 6cad529..c816590 100644 int semanage_access_check(semanage_handle_t * sh); /* returns 0 if not connected, 1 if connected */ +diff --git libsemanage-2.5/src/Makefile libsemanage-2.5/src/Makefile +index d1fcc0b..96ee652 100644 +--- libsemanage-2.5/src/Makefile ++++ libsemanage-2.5/src/Makefile +@@ -5,6 +5,7 @@ PYTHON ?= python + PYPREFIX ?= $(notdir $(PYTHON)) + RUBY ?= ruby + RUBYPREFIX ?= $(notdir $(RUBY)) ++PKG_CONFIG ?= pkg-config + + # Installation directories. + PREFIX ?= $(DESTDIR)/usr +@@ -12,11 +13,11 @@ LIBDIR ?= $(PREFIX)/lib + 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)) ++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)) ++RUBYINC ?= $(shell $(PKG_CONFIG) --cflags ruby-$(RUBYLIBVER)) + RUBYINSTALL ?= $(LIBDIR)/ruby/site_ruby/$(RUBYLIBVER)/$(RUBYPLATFORM) + + LIBBASE=$(shell basename $(LIBDIR)) +@@ -51,7 +52,7 @@ SWIGRUBYSO=$(RUBYPREFIX)_semanage.so + LIBSO=$(TARGET).$(LIBVERSION) + + GENERATED=$(SWIGCOUT) $(SWIGRUBYCOUT) semanageswig_python_exception.i +-SRCS= $(filter-out $(GENERATED),$(wildcard *.c)) ++SRCS= $(filter-out $(GENERATED),$(sort $(wildcard *.c))) + + OBJS= $(patsubst %.c,%.o,$(SRCS)) conf-scan.o conf-parse.o + LOBJS= $(patsubst %.c,%.lo,$(SRCS)) conf-scan.lo conf-parse.lo +@@ -61,7 +62,7 @@ SWIG_CFLAGS += -Wno-error -Wno-unused-but-set-variable -Wno-unused-variable -Wno + -Wno-unused-parameter + + override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE +-RANLIB=ranlib ++RANLIB ?= ranlib + + SWIG = swig -Wall -python -o $(SWIGCOUT) -outdir ./ + diff --git libsemanage-2.5/src/database.h libsemanage-2.5/src/database.h index e460379..6a4a164 100644 --- libsemanage-2.5/src/database.h @@ -35,6 +82,18 @@ index e460379..6a4a164 100644 int (*cache) (struct semanage_handle * handle, dbase_t * dbase); /* Forgets all changes that haven't been written +diff --git libsemanage-2.5/src/exception.sh libsemanage-2.5/src/exception.sh +index 94619d2..d18959c 100644 +--- libsemanage-2.5/src/exception.sh ++++ libsemanage-2.5/src/exception.sh +@@ -9,6 +9,6 @@ echo " + } + " + } +-gcc -x c -c -I../include - -aux-info temp.aux < ../include/semanage/semanage.h ++${CC:-gcc} -x c -c -I../include - -aux-info temp.aux < ../include/semanage/semanage.h + for i in `awk '/extern int/ { print $6 }' temp.aux`; do except $i ; done + rm -f -- temp.aux -.o diff --git libsemanage-2.5/src/genhomedircon.c libsemanage-2.5/src/genhomedircon.c index 1a9e87e..c5ea436 100644 --- libsemanage-2.5/src/genhomedircon.c @@ -570,6 +629,13 @@ index 1a9e87e..c5ea436 100644 ignore_free(); return retval; +diff --git libsemanage-2.5/tests/.gitignore libsemanage-2.5/tests/.gitignore +new file mode 100644 +index 0000000..f07111d +--- /dev/null ++++ libsemanage-2.5/tests/.gitignore +@@ -0,0 +1 @@ ++libsemanage-tests diff --git libsemanage-2.5/utils/semanage_migrate_store libsemanage-2.5/utils/semanage_migrate_store index 0ebd285..2bdcc05 100755 --- libsemanage-2.5/utils/semanage_migrate_store diff --git a/libsemanage.spec b/libsemanage.spec index 5aafc59..c19a5d9 100644 --- a/libsemanage.spec +++ b/libsemanage.spec @@ -1,20 +1,20 @@ %global with_python3 1 %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib(1))")} -%define libsepolver 2.5-0 -%define libselinuxver 2.5-0 +%define libsepolver 2.5-7 +%define libselinuxver 2.5-7 Summary: SELinux binary policy manipulation library Name: libsemanage Version: 2.5 -Release: 4%{?dist} +Release: 5%{?dist} License: LGPLv2+ Group: System Environment/Libraries Source: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20160223/libsemanage-2.5.tar.gz # download https://raw.githubusercontent.com/fedora-selinux/scripts/master/selinux/make-fedora-selinux-patch.sh # run: # $ VERSION=2.5 ./make-fedora-selinux-patch.sh libsemanage -# HEAD https://github.com/fedora-selinux/selinux/commit/b4fd6cda6dede7a90892aac8f138b86b3ebda3e8 +# HEAD https://github.com/fedora-selinux/selinux/commit/9abe77e2a670f2f2dfb91f9cec46ee37f9c23995 Patch1: libsemanage-fedora.patch URL: https://github.com/SELinuxProject/selinux/wiki Source1: semanage.conf @@ -194,6 +194,11 @@ rm -rf ${RPM_BUILD_ROOT} %endif # if with_python3 %changelog +* Thu Jun 23 2016 Petr Lautrbach - 2.5-5 +- Sort object files for deterministic linking order +- Support overriding Makefile RANLIB +- Respect CC and PKG_CONFIG environment variable + * Fri May 06 2016 Petr Lautrbach - 2.5-4 - Fix multiple spelling errors - genhomedircon: %{USERID} and %{USERNAME} support and code cleanup