Message ID | 1475381714-9906-2-git-send-email-jason@perfinion.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On 10/02/2016 12:15 AM, Jason Zaman wrote: > instead of building the path manually which is more error prone Thanks, applied both. I guess the only question I have is whether a) this same change ought to be applied to all other Makefiles (e.g. libsemanage, policycoreutils), and b) could this break any existing build recipes that relied on setting PYLIBDIR. Doesn't appear that Fedora spec files do so, but not sure about other distribution packages. > > Signed-off-by: Jason Zaman <jason@perfinion.com> > --- > libselinux/src/Makefile | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile > index f9e3de1..13501cd 100644 > --- a/libselinux/src/Makefile > +++ b/libselinux/src/Makefile > @@ -12,9 +12,8 @@ PREFIX ?= $(DESTDIR)/usr > 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)) > -PYLIBDIR ?= $(LIBDIR)/$(PYLIBVER) > +PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])') > RUBYLIBVER ?= $(shell $(RUBY) -e 'print RUBY_VERSION.split(".")[0..1].join(".")') > RUBYINC ?= $(shell $(PKG_CONFIG) --exists ruby-$(RUBYLIBVER) && $(PKG_CONFIG) --cflags ruby-$(RUBYLIBVER) || $(PKG_CONFIG) --cflags ruby) > RUBYINSTALL ?= $(DESTDIR)$(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]') > @@ -160,10 +159,10 @@ install: all > ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) > > install-pywrap: pywrap > - test -d $(PYLIBDIR)/site-packages/selinux || install -m 755 -d $(PYLIBDIR)/site-packages/selinux > - install -m 755 $(SWIGSO) $(PYLIBDIR)/site-packages/_selinux.so > - install -m 755 $(AUDIT2WHYSO) $(PYLIBDIR)/site-packages/selinux/audit2why.so > - install -m 644 $(SWIGPYOUT) $(PYLIBDIR)/site-packages/selinux/__init__.py > + test -d $(PYSITEDIR)/selinux || install -m 755 -d $(PYSITEDIR)/selinux > + install -m 755 $(SWIGSO) $(PYSITEDIR)/_selinux.so > + install -m 755 $(AUDIT2WHYSO) $(PYSITEDIR)/selinux/audit2why.so > + install -m 644 $(SWIGPYOUT) $(PYSITEDIR)/selinux/__init__.py > > install-rubywrap: rubywrap > test -d $(RUBYINSTALL) || install -m 755 -d $(RUBYINSTALL) >
On 03/10/16 15:35, Stephen Smalley wrote: > On 10/02/2016 12:15 AM, Jason Zaman wrote: >> instead of building the path manually which is more error prone > > Thanks, applied both. I guess the only question I have is whether a) > this same change ought to be applied to all other Makefiles (e.g. > libsemanage, policycoreutils), and b) could this break any existing > build recipes that relied on setting PYLIBDIR. Doesn't appear that > Fedora spec files do so, but not sure about other distribution packages. For the second question, ArchLinux packages will not break. I quickly looked at the Debian packages and it appears libselinux is using PYLIBDIR [1] but not libsemanage [2]. Also the Debian packages appear to install the Python module into /usr/lib/python.../dist-packages instead of the site-packages directory. I am wondering whether this may be important. Nicolas [1] https://anonscm.debian.org/cgit/selinux/libselinux.git/tree/debian/python.mk [2] https://anonscm.debian.org/cgit/selinux/libsemanage.git/ [3] https://packages.debian.org/sid/amd64/python3-selinux/filelist [4] https://packages.debian.org/sid/amd64/python3-semanage/filelist
On 10/03/2016 04:10 PM, Nicolas Iooss wrote: > On 03/10/16 15:35, Stephen Smalley wrote: >> On 10/02/2016 12:15 AM, Jason Zaman wrote: >>> instead of building the path manually which is more error prone >> >> Thanks, applied both. I guess the only question I have is whether a) >> this same change ought to be applied to all other Makefiles (e.g. >> libsemanage, policycoreutils), and b) could this break any existing >> build recipes that relied on setting PYLIBDIR. Doesn't appear that >> Fedora spec files do so, but not sure about other distribution packages. > > For the second question, ArchLinux packages will not break. I quickly > looked at the Debian packages and it appears libselinux is using > PYLIBDIR [1] but not libsemanage [2]. Also the Debian packages appear to > install the Python module into /usr/lib/python.../dist-packages instead > of the site-packages directory. I am wondering whether this may be > important. > > Nicolas > > [1] > https://anonscm.debian.org/cgit/selinux/libselinux.git/tree/debian/python.mk > [2] https://anonscm.debian.org/cgit/selinux/libsemanage.git/ > [3] https://packages.debian.org/sid/amd64/python3-selinux/filelist > [4] https://packages.debian.org/sid/amd64/python3-semanage/filelist (cc Debian selinux maintainer)
diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile index f9e3de1..13501cd 100644 --- a/libselinux/src/Makefile +++ b/libselinux/src/Makefile @@ -12,9 +12,8 @@ PREFIX ?= $(DESTDIR)/usr 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)) -PYLIBDIR ?= $(LIBDIR)/$(PYLIBVER) +PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])') RUBYLIBVER ?= $(shell $(RUBY) -e 'print RUBY_VERSION.split(".")[0..1].join(".")') RUBYINC ?= $(shell $(PKG_CONFIG) --exists ruby-$(RUBYLIBVER) && $(PKG_CONFIG) --cflags ruby-$(RUBYLIBVER) || $(PKG_CONFIG) --cflags ruby) RUBYINSTALL ?= $(DESTDIR)$(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]') @@ -160,10 +159,10 @@ install: all ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) install-pywrap: pywrap - test -d $(PYLIBDIR)/site-packages/selinux || install -m 755 -d $(PYLIBDIR)/site-packages/selinux - install -m 755 $(SWIGSO) $(PYLIBDIR)/site-packages/_selinux.so - install -m 755 $(AUDIT2WHYSO) $(PYLIBDIR)/site-packages/selinux/audit2why.so - install -m 644 $(SWIGPYOUT) $(PYLIBDIR)/site-packages/selinux/__init__.py + test -d $(PYSITEDIR)/selinux || install -m 755 -d $(PYSITEDIR)/selinux + install -m 755 $(SWIGSO) $(PYSITEDIR)/_selinux.so + install -m 755 $(AUDIT2WHYSO) $(PYSITEDIR)/selinux/audit2why.so + install -m 644 $(SWIGPYOUT) $(PYSITEDIR)/selinux/__init__.py install-rubywrap: rubywrap test -d $(RUBYINSTALL) || install -m 755 -d $(RUBYINSTALL)
instead of building the path manually which is more error prone Signed-off-by: Jason Zaman <jason@perfinion.com> --- libselinux/src/Makefile | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)