* [PATCH] Makefile: expand ~ in DESTDIR
@ 2023-05-31 1:15 Masatake YAMATO
2023-06-02 12:04 ` Petr Lautrbach
2023-06-08 1:21 ` Masatake YAMATO
0 siblings, 2 replies; 5+ messages in thread
From: Masatake YAMATO @ 2023-05-31 1:15 UTC (permalink / raw)
To: selinux; +Cc: yamato
Though instructed as
DESTDIR=~/obj ./scripts/env_use_destdir make test
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@redhat.com>
---
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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] Makefile: expand ~ in DESTDIR
2023-05-31 1:15 [PATCH] Makefile: expand ~ in DESTDIR Masatake YAMATO
@ 2023-06-02 12:04 ` Petr Lautrbach
2023-06-02 12:54 ` Christian Göttsche
2023-06-08 1:21 ` Masatake YAMATO
1 sibling, 1 reply; 5+ messages in thread
From: Petr Lautrbach @ 2023-06-02 12:04 UTC (permalink / raw)
To: Masatake YAMATO, selinux; +Cc: yamato
Masatake YAMATO <yamato@redhat.com> writes:
> Though instructed as
>
> DESTDIR=~/obj ./scripts/env_use_destdir make test
>
> 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@redhat.com>
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Makefile: expand ~ in DESTDIR
2023-06-02 12:04 ` Petr Lautrbach
@ 2023-06-02 12:54 ` Christian Göttsche
2023-06-02 14:04 ` Petr Lautrbach
0 siblings, 1 reply; 5+ messages in thread
From: Christian Göttsche @ 2023-06-02 12:54 UTC (permalink / raw)
To: Petr Lautrbach; +Cc: Masatake YAMATO, selinux
On Fri, 2 Jun 2023 at 14:05, Petr Lautrbach <plautrba@redhat.com> wrote:
>
> Masatake YAMATO <yamato@redhat.com> 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.
> >
> > 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@redhat.com>
>
> 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
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Makefile: expand ~ in DESTDIR
2023-06-02 12:54 ` Christian Göttsche
@ 2023-06-02 14:04 ` Petr Lautrbach
0 siblings, 0 replies; 5+ messages in thread
From: Petr Lautrbach @ 2023-06-02 14:04 UTC (permalink / raw)
To: Christian Göttsche, selinux; +Cc: Masatake YAMATO
Christian Göttsche <cgzones@googlemail.com> writes:
> On Fri, 2 Jun 2023 at 14:05, Petr Lautrbach <plautrba@redhat.com> wrote:
>>
>> Masatake YAMATO <yamato@redhat.com> 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@redhat.com>
>>
>> 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
>>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Makefile: expand ~ in DESTDIR
2023-05-31 1:15 [PATCH] Makefile: expand ~ in DESTDIR Masatake YAMATO
2023-06-02 12:04 ` Petr Lautrbach
@ 2023-06-08 1:21 ` Masatake YAMATO
1 sibling, 0 replies; 5+ messages in thread
From: Masatake YAMATO @ 2023-06-08 1:21 UTC (permalink / raw)
To: selinux; +Cc: yamato
I would like to withdraw my patch.
It seems that I skipped install target before running the test target.
So I got the error.
Sorry for making noise.
Masatake YAMATO
> Though instructed as
>
> DESTDIR=~/obj ./scripts/env_use_destdir make test
>
> 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@redhat.com>
> ---
> 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
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-06-08 1:22 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-31 1:15 [PATCH] Makefile: expand ~ in DESTDIR Masatake YAMATO
2023-06-02 12:04 ` Petr Lautrbach
2023-06-02 12:54 ` Christian Göttsche
2023-06-02 14:04 ` Petr Lautrbach
2023-06-08 1:21 ` Masatake YAMATO
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).