diff mbox series

package/skeleton: drop $(HOST_DIR)/usr compatibility symlink

Message ID 20230409210814.496117-1-arnout@mind.be
State Accepted
Headers show
Series package/skeleton: drop $(HOST_DIR)/usr compatibility symlink | expand

Commit Message

Arnout Vandecappelle April 9, 2023, 9:08 p.m. UTC
It has been years that we removed $(HOST_DIR)/usr. Because of this
symlink, however, there are still packages that install things in
$(HOST_DIR)/usr. Remove the symlink so those packages will start to
fail.

Note that there's now a check-package check to detect such incorrectly
instaled things, so this should only affect external packages.

Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
---
 package/skeleton/skeleton.mk | 4 ----
 1 file changed, 4 deletions(-)

Comments

Yann E. MORIN April 10, 2023, 4:51 p.m. UTC | #1
Arnout, All,

On 2023-04-09 23:08 +0200, Arnout Vandecappelle spake thusly:
> It has been years that we removed $(HOST_DIR)/usr. Because of this
> symlink, however, there are still packages that install things in
> $(HOST_DIR)/usr. Remove the symlink so those packages will start to
> fail.
> 
> Note that there's now a check-package check to detect such incorrectly
> instaled things, so this should only affect external packages.
> 
> Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
> ---
>  package/skeleton/skeleton.mk | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/package/skeleton/skeleton.mk b/package/skeleton/skeleton.mk
> index 634c76e437..186cb60189 100644
> --- a/package/skeleton/skeleton.mk
> +++ b/package/skeleton/skeleton.mk
> @@ -11,11 +11,7 @@
>  SKELETON_ADD_TOOLCHAIN_DEPENDENCY = NO
>  SKELETON_ADD_SKELETON_DEPENDENCY = NO
>  
> -# We create a compatibility symlink in case a post-build script still
> -# uses $(HOST_DIR)/usr
>  define HOST_SKELETON_INSTALL_CMDS
> -# check-package DoNotInstallToHostdirUsr
> -	$(Q)ln -snf . $(HOST_DIR)/usr

Should we have a kind of post-isntall test that checks that a package
did not create that (e.g. because their makefile hard-codes something
like DESTDIR/usr)?

This is probably a good candidate for GLOBAL_INSTRUMENTATION_HOOKS, no?

Regards,
Yann E. MORIN.

>  	$(Q)mkdir -p $(HOST_DIR)/lib
>  	$(Q)mkdir -p $(HOST_DIR)/include
>  	$(Q)case $(HOSTARCH) in \
> -- 
> 2.39.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
Arnout Vandecappelle April 10, 2023, 7:05 p.m. UTC | #2
On 10/04/2023 18:51, Yann E. MORIN wrote:
> Arnout, All,
> 
> On 2023-04-09 23:08 +0200, Arnout Vandecappelle spake thusly:
>> It has been years that we removed $(HOST_DIR)/usr. Because of this
>> symlink, however, there are still packages that install things in
>> $(HOST_DIR)/usr. Remove the symlink so those packages will start to
>> fail.
>>
>> Note that there's now a check-package check to detect such incorrectly
>> instaled things, so this should only affect external packages.
>>
>> Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
>> ---
>>   package/skeleton/skeleton.mk | 4 ----
>>   1 file changed, 4 deletions(-)
>>
>> diff --git a/package/skeleton/skeleton.mk b/package/skeleton/skeleton.mk
>> index 634c76e437..186cb60189 100644
>> --- a/package/skeleton/skeleton.mk
>> +++ b/package/skeleton/skeleton.mk
>> @@ -11,11 +11,7 @@
>>   SKELETON_ADD_TOOLCHAIN_DEPENDENCY = NO
>>   SKELETON_ADD_SKELETON_DEPENDENCY = NO
>>   
>> -# We create a compatibility symlink in case a post-build script still
>> -# uses $(HOST_DIR)/usr
>>   define HOST_SKELETON_INSTALL_CMDS
>> -# check-package DoNotInstallToHostdirUsr
>> -	$(Q)ln -snf . $(HOST_DIR)/usr
> 
> Should we have a kind of post-isntall test that checks that a package
> did not create that (e.g. because their makefile hard-codes something
> like DESTDIR/usr)?

  If we are going to keep dragging along stuff to support legacy forever, then 
it's probably simpler to just keep this symlink. If something installs in 
HOST_DIR/usr it's probably going to break somewhere down the line, right? So I 
don't think we need to bother.

  BTW, DESTDIR is empty for host builds. And PREFIX/usr would be completely crazy.

  Regards,
  Arnout

> 
> This is probably a good candidate for GLOBAL_INSTRUMENTATION_HOOKS, no?
> 
> Regards,
> Yann E. MORIN.
> 
>>   	$(Q)mkdir -p $(HOST_DIR)/lib
>>   	$(Q)mkdir -p $(HOST_DIR)/include
>>   	$(Q)case $(HOSTARCH) in \
>> -- 
>> 2.39.2
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
>
Yann E. MORIN April 10, 2023, 7:25 p.m. UTC | #3
Arnout, All,

On 2023-04-10 21:05 +0200, Arnout Vandecappelle spake thusly:
> On 10/04/2023 18:51, Yann E. MORIN wrote:
> >Arnout, All,
> >
> >On 2023-04-09 23:08 +0200, Arnout Vandecappelle spake thusly:
> >>It has been years that we removed $(HOST_DIR)/usr. Because of this
> >>symlink, however, there are still packages that install things in
> >>$(HOST_DIR)/usr. Remove the symlink so those packages will start to
> >>fail.
> >>
> >>Note that there's now a check-package check to detect such incorrectly
> >>instaled things, so this should only affect external packages.
> >>
> >>Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
> >>---
> >>  package/skeleton/skeleton.mk | 4 ----
> >>  1 file changed, 4 deletions(-)
> >>
> >>diff --git a/package/skeleton/skeleton.mk b/package/skeleton/skeleton.mk
> >>index 634c76e437..186cb60189 100644
> >>--- a/package/skeleton/skeleton.mk
> >>+++ b/package/skeleton/skeleton.mk
> >>@@ -11,11 +11,7 @@
> >>  SKELETON_ADD_TOOLCHAIN_DEPENDENCY = NO
> >>  SKELETON_ADD_SKELETON_DEPENDENCY = NO
> >>-# We create a compatibility symlink in case a post-build script still
> >>-# uses $(HOST_DIR)/usr
> >>  define HOST_SKELETON_INSTALL_CMDS
> >>-# check-package DoNotInstallToHostdirUsr
> >>-	$(Q)ln -snf . $(HOST_DIR)/usr
> >
> >Should we have a kind of post-isntall test that checks that a package
> >did not create that (e.g. because their makefile hard-codes something
> >like DESTDIR/usr)?
> 
>  If we are going to keep dragging along stuff to support legacy forever,
> then it's probably simpler to just keep this symlink. If something installs
> in HOST_DIR/usr it's probably going to break somewhere down the line, right?
> So I don't think we need to bother.

I am also all for dropping legacy stuf after a while.

Applied to master, thanks.

>  BTW, DESTDIR is empty for host builds. And PREFIX/usr would be completely crazy.

Damn, of course. But if packages' buildsystems would never do such silly
things at all, life would be so much easier for us... ;-]

Regards,
Yann E. MORIN.

>  Regards,
>  Arnout
> 
> >
> >This is probably a good candidate for GLOBAL_INSTRUMENTATION_HOOKS, no?
> >
> >Regards,
> >Yann E. MORIN.
> >
> >>  	$(Q)mkdir -p $(HOST_DIR)/lib
> >>  	$(Q)mkdir -p $(HOST_DIR)/include
> >>  	$(Q)case $(HOSTARCH) in \
> >>-- 
> >>2.39.2
> >>
> >>_______________________________________________
> >>buildroot mailing list
> >>buildroot@buildroot.org
> >>https://lists.buildroot.org/mailman/listinfo/buildroot
> >
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/skeleton/skeleton.mk b/package/skeleton/skeleton.mk
index 634c76e437..186cb60189 100644
--- a/package/skeleton/skeleton.mk
+++ b/package/skeleton/skeleton.mk
@@ -11,11 +11,7 @@ 
 SKELETON_ADD_TOOLCHAIN_DEPENDENCY = NO
 SKELETON_ADD_SKELETON_DEPENDENCY = NO
 
-# We create a compatibility symlink in case a post-build script still
-# uses $(HOST_DIR)/usr
 define HOST_SKELETON_INSTALL_CMDS
-# check-package DoNotInstallToHostdirUsr
-	$(Q)ln -snf . $(HOST_DIR)/usr
 	$(Q)mkdir -p $(HOST_DIR)/lib
 	$(Q)mkdir -p $(HOST_DIR)/include
 	$(Q)case $(HOSTARCH) in \