Re: ports/158179: some packages do not fully honor -P dir option in pkg_add(1)
Am 16.07.2011 um 04:43 schrieb Stephen Montgomery-Smith: I was looking through the source code of pkg_add. Personally I don't see how the -P or -p option could be made to work with pkg_add. Many of the installation commands involve scripts which have ${PREFIX} hard coded into them. ${PREFIX} is often hard coded when trhe package is created by the port. In my opinion, the options -p and -P should be removed from pkg_add. Either that, or provide the port a way to access @cwd in any scripts it installs. But this would require a major overhaul of the whole ports system, and probably much of the software it installs as well. Am I missing something? Yes. Not honoring the prefix is a bug in the port. If you do need to do prefix-specific things during install, use pkg-install, see http://www.freebsd.org/doc/en/books/porters-handbook/pkg-install.html I suspect that many ports are not well tested outside of /usr/local, but the infrastructure is there and available. Stefan -- Stefan Bethke s...@lassitu.de Fon +49 151 14070811 ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: ports/158179: some packages do not fully honor -P dir option in pkg_add(1)
On 07/16/2011 04:26 AM, Stefan Bethke wrote: Am 16.07.2011 um 04:43 schrieb Stephen Montgomery-Smith: I was looking through the source code of pkg_add. Personally I don't see how the -P or -p option could be made to work with pkg_add. Many of the installation commands involve scripts which have ${PREFIX} hard coded into them. ${PREFIX} is often hard coded when trhe package is created by the port. In my opinion, the options -p and -P should be removed from pkg_add. Either that, or provide the port a way to access @cwd in any scripts it installs. But this would require a major overhaul of the whole ports system, and probably much of the software it installs as well. Am I missing something? Yes. Not honoring the prefix is a bug in the port. If you do need to do prefix-specific things during install, use pkg-install, see http://www.freebsd.org/doc/en/books/porters-handbook/pkg-install.html I suspect that many ports are not well tested outside of /usr/local, but the infrastructure is there and available. You are correct, this needs to be done on a port by port basis. In some ports this is going to be a big job, because in some cases the /usr/local is hard coded into certain binaries. For example, suppose the C source code contains something like: char applications_dir = /usr/local/share/applications; and this is filled in by the ./configure script. How is that handled? ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: ports/158179: some packages do not fully honor -P dir option in pkg_add(1)
On 16 Jul 2011 16:38, Stephen Montgomery-Smith step...@missouri.edu wrote: On 07/16/2011 04:26 AM, Stefan Bethke wrote: Am 16.07.2011 um 04:43 schrieb Stephen Montgomery-Smith: I was looking through the source code of pkg_add. Personally I don't see how the -P or -p option could be made to work with pkg_add. Many of the installation commands involve scripts which have ${PREFIX} hard coded into them. ${PREFIX} is often hard coded when trhe package is created by the port. In my opinion, the options -p and -P should be removed from pkg_add. Either that, or provide the port a way to access @cwd in any scripts it installs. But this would require a major overhaul of the whole ports system, and probably much of the software it installs as well. Am I missing something? Yes. Not honoring the prefix is a bug in the port. If you do need to do prefix-specific things during install, use pkg-install, see http://www.freebsd.org/doc/en/books/porters-handbook/pkg-install.html I suspect that many ports are not well tested outside of /usr/local, but the infrastructure is there and available. You are correct, this needs to be done on a port by port basis. In some ports this is going to be a big job, because in some cases the /usr/local is hard coded into certain binaries. For example, suppose the C source code contains something like: char applications_dir = /usr/local/share/applications; and this is filled in by the ./configure script. How is that handled? It's not. Remember what a package is, literally the files from the plist tarred with some magic +FILEs and the pkg-*install files- if paths are hardcoded in objects that's how it'll be installed. Don't touch the -p option! It's only useful for um someone help here? Chris ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: ports/158179: some packages do not fully honor -P dir option in pkg_add(1)
On 07/16/2011 10:53 AM, Chris Rees wrote: On 16 Jul 2011 16:38, Stephen Montgomery-Smith step...@missouri.edu mailto:step...@missouri.edu wrote: On 07/16/2011 04:26 AM, Stefan Bethke wrote: Am 16.07.2011 um 04:43 schrieb Stephen Montgomery-Smith: I was looking through the source code of pkg_add. Personally I don't see how the -P or -p option could be made to work with pkg_add. Many of the installation commands involve scripts which have ${PREFIX} hard coded into them. ${PREFIX} is often hard coded when trhe package is created by the port. In my opinion, the options -p and -P should be removed from pkg_add. Either that, or provide the port a way to access @cwd in any scripts it installs. But this would require a major overhaul of the whole ports system, and probably much of the software it installs as well. Am I missing something? Yes. Not honoring the prefix is a bug in the port. If you do need to do prefix-specific things during install, use pkg-install, see http://www.freebsd.org/doc/en/books/porters-handbook/pkg-install.html I suspect that many ports are not well tested outside of /usr/local, but the infrastructure is there and available. You are correct, this needs to be done on a port by port basis. In some ports this is going to be a big job, because in some cases the /usr/local is hard coded into certain binaries. For example, suppose the C source code contains something like: char applications_dir = /usr/local/share/applications; and this is filled in by the ./configure script. How is that handled? It's not. Remember what a package is, literally the files from the plist tarred with some magic +FILEs and the pkg-*install files- if paths are hardcoded in objects that's how it'll be installed. What if some of the installation programs are binaries, and /usr/local is hard coded into installation binaries or scripts provided by the software itself. Don't touch the -p option! It's only useful for um someone help here? I am thinking the same thing! ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: ports/158179: some packages do not fully honor -P dir option in pkg_add(1)
On 16 Jul 2011 17:04, Stephen Montgomery-Smith step...@missouri.edu wrote: On 07/16/2011 10:53 AM, Chris Rees wrote: On 16 Jul 2011 16:38, Stephen Montgomery-Smith step...@missouri.edu mailto:step...@missouri.edu wrote: For example, suppose the C source code contains something like: char applications_dir = /usr/local/share/applications; and this is filled in by the ./configure script. How is that handled? It's not. Remember what a package is, literally the files from the plist tarred with some magic +FILEs and the pkg-*install files- if paths are hardcoded in objects that's how it'll be installed. What if some of the installation programs are binaries, and /usr/local is hard coded into installation binaries or scripts provided by the software itself. Sorry, poor wording on my part. If it was compiled as prefix=/usr/local, that's how it'll be installed, regardless of your -p argument. Chris ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: ports/158179: some packages do not fully honor -P dir option in pkg_add(1)
Unless say, you're doing package installation outside of a chroot/jail, to populate something inside a chroot/jail before you start said chroot/jail. Adrian On 17 July 2011 00:13, Chris Rees cr...@freebsd.org wrote: On 16 Jul 2011 17:04, Stephen Montgomery-Smith step...@missouri.edu wrote: On 07/16/2011 10:53 AM, Chris Rees wrote: On 16 Jul 2011 16:38, Stephen Montgomery-Smith step...@missouri.edu mailto:step...@missouri.edu wrote: For example, suppose the C source code contains something like: char applications_dir = /usr/local/share/applications; and this is filled in by the ./configure script. How is that handled? It's not. Remember what a package is, literally the files from the plist tarred with some magic +FILEs and the pkg-*install files- if paths are hardcoded in objects that's how it'll be installed. What if some of the installation programs are binaries, and /usr/local is hard coded into installation binaries or scripts provided by the software itself. Sorry, poor wording on my part. If it was compiled as prefix=/usr/local, that's how it'll be installed, regardless of your -p argument. Chris ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: ports/158179: some packages do not fully honor -P dir option in pkg_add(1)
I was looking through the source code of pkg_add. Personally I don't see how the -P or -p option could be made to work with pkg_add. Many of the installation commands involve scripts which have ${PREFIX} hard coded into them. ${PREFIX} is often hard coded when trhe package is created by the port. In my opinion, the options -p and -P should be removed from pkg_add. Either that, or provide the port a way to access @cwd in any scripts it installs. But this would require a major overhaul of the whole ports system, and probably much of the software it installs as well. Am I missing something? Stephen ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org