Re: [PATCH] Compilation fixes for macOS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 19, 2017 at 12:20 PM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
> On Wed, 2017-01-18 at 12:07 -0500, Karl MacMillan wrote:
>> Compilation fixes for macOS
>>
>> ln on macOS doesn't support --relative, so use the gnu version by
>> default.
>>
>> Changes to how PREFIX is used in recent Makefiles make it so that
>> installation to /usr/local is broken on all systems, but /usr is not
>> writable on recent macOS versions so that is needed. This patch makes
>> 'PREFIX=/usr/local make install' work again, but will break the
>> default of having LIBDIR be /usr/lib and SHLIBDIR be /usr/lib. I'm
>> not
>> certain what this might break.
>
> The default was LIBDIR=/usr/lib SHLIBDIR=/lib.
> We certainly don't want to break that.
> Of course, on usrmerge environments (i.e. modern Fedora), /lib is just
> a symlink to /usr/lib so it doesn't matter, but not everyone is using
> usrmerge.
>

I opted to just document how to make this work on macOS and dropped
this part of the patch.

> Also, your patch was corrupted and not appliable. Use git send-email.
>

Sigh.

Another patch on the way.

Karl

>
>>
>> ---
>>  README                | 3 +++
>>  libsepol/src/Makefile | 6 ++++--
>>  2 files changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/README b/README
>> index e6f7276..2e04fa6 100644
>> --- a/README
>> +++ b/README
>> @@ -14,6 +14,9 @@ make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install
>> install-pywrap relabel
>>  or on x86 (32-bit), run:
>>  make install install-pywrap relabel
>>
>> +To install everyting under /usr/local run:
>> +make PREFIX=/usr/local install install-pywrap relabel
>> +
>>  This may render your system unusable if the upstream SELinux
>> userspace
>>  lacks library functions or other dependencies relied upon by your
>>  distribution.  If it breaks, you get to keep both pieces.
>> diff --git a/libsepol/src/Makefile b/libsepol/src/Makefile
>> index 497cd56..1a924e1 100644
>> --- a/libsepol/src/Makefile
>> +++ b/libsepol/src/Makefile
>> @@ -2,7 +2,7 @@
>>  PREFIX ?= $(DESTDIR)/usr
>>  INCLUDEDIR ?= $(PREFIX)/include
>>  LIBDIR ?= $(PREFIX)/lib
>> -SHLIBDIR ?= $(DESTDIR)/lib
>> +SHLIBDIR ?= $(PREFIX)/lib
>>  RANLIB ?= ranlib
>>  LIBBASE ?= $(shell basename $(LIBDIR))
>>  CILDIR ?= ../cil
>> @@ -32,10 +32,12 @@ endif
>>
>>  LD_SONAME_FLAGS=-soname,$(LIBSO),--version-script=$(LIBMAP),-z,defs
>>
>> +LN=ln
>>  OS := $(shell uname)
>>  ifeq ($(OS), Darwin)
>>  LD_SONAME_FLAGS=-install_name,$(LIBSO)
>>  LDFLAGS += -undefined dynamic_lookup
>> +LN=gln
>>  endif
>>
>>  all: $(LIBA) $(LIBSO) $(LIBPC)
>> @@ -84,7 +86,7 @@ install: all
>>         install -m 755 $(LIBSO) $(SHLIBDIR)
>>         test -d $(LIBDIR)/pkgconfig || install -m 755 -d
>> $(LIBDIR)/pkgconfig
>>         install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig
>> -       ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET)
>> +       $(LN) -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET)
>>
>>  relabel:
>>         /sbin/restorecon $(SHLIBDIR)/$(LIBSO)
_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.



[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux