Re: [PATCH] Makefile: expand ~ in DESTDIR

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

 



Christian Göttsche <cgzones@xxxxxxxxxxxxxx> writes:

> On Fri, 2 Jun 2023 at 14:05, Petr Lautrbach <plautrba@xxxxxxxxxx> wrote:
>>
>> Masatake YAMATO <yamato@xxxxxxxxxx> writes:
>>
>> > Though instructed as
>> >
>> >     DESTDIR=~/obj ./scripts/env_use_destdir make test
>
> Is that a valid use case of the script `env_use_destdir`?
> I thought the script is just for executing binaries depending on the
> shared libraries in DESTDIR (e.g. `DESTDIR=~/obj
> ./scripts/env_use_destdir seinfo`), not for make invocations.

`make` is just another binary to run in pre-set environment. Especially
for `make test` it is important to use PATH and LD_LIBRARY_PATH pointing
to the new built binaries.

I personally use `source ./scripts/env_use_destdir` also for manual
testing.

Petr



>> >
>> > in README.md, compiling policy_define.c was failed with following errors:
>> >
>> >     make[1]: Entering directory '/home/yamato/var/selinux/checkpolicy'
>> >     cc -O2 -Werror -Wall -Wextra -Wfloat-equal -Wformat=2 -Winit-self \
>> >        -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes \
>> >        -Wnull-dereference -Wpointer-arith -Wshadow -Wstrict-prototypes \
>> >        -Wundef -Wunused -Wwrite-strings -fno-common -I~/obj/usr/include \
>> >        -o policy_define.o -c policy_define.c
>> >     policy_define.c: In function ‘define_te_avtab_xperms_helper’:
>> >     policy_define.c:2083:61: error: ‘RULE_NOTSELF’ undeclared (first use in this function); did you mean ‘RULE_SELF’?
>> >      2083 |                         avrule->flags |= (add ? RULE_SELF : RULE_NOTSELF);
>> >         |                                                             ^~~~~~~~~~~~
>> >         |                                                             RULE_SELF
>> >
>> > because cc cannot find the directory ~/obj/usr/include passed via -I option.
>> >
>> > cc doesn't expand "~".
>> >
>> > Signed-off-by: Masatake YAMATO <yamato@xxxxxxxxxx>
>>
>> It doesn't work when DESTDIR does not exist -  If no existing file name
>> matches a pattern, then that pattern is omitted from the output of the
>> wildcard function, see
>> https://www.gnu.org/software/make/manual/html_node/Wildcard-Function.html
>>
>>
>> Petr
>>
>> > ---
>> >  Makefile | 6 +++---
>> >  1 file changed, 3 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/Makefile b/Makefile
>> > index 2ffba8e9..053c6d3d 100644
>> > --- a/Makefile
>> > +++ b/Makefile
>> > @@ -26,11 +26,11 @@ else
>> >  endif
>> >
>> >  ifneq ($(DESTDIR),)
>> > -     LIBDIR ?= $(DESTDIR)$(PREFIX)/lib
>> > +     LIBDIR ?= $(wildcard $(DESTDIR))$(PREFIX)/lib
>> >       LIBSEPOLA ?= $(LIBDIR)/libsepol.a
>> >
>> > -     CFLAGS += -I$(DESTDIR)$(PREFIX)/include
>> > -     LDFLAGS += -L$(DESTDIR)$(PREFIX)/lib -L$(LIBDIR)
>> > +     CFLAGS += -I$(wildcard $(DESTDIR))$(PREFIX)/include
>> > +     LDFLAGS += -L$(wildcard $(DESTDIR))$(PREFIX)/lib -L$(LIBDIR)
>> >       export CFLAGS
>> >       export LDFLAGS
>> >       export LIBSEPOLA
>> > --
>> > 2.40.1
>>





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

  Powered by Linux