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