Re: ports/158179: some packages do not fully honor -P dir option in pkg_add(1)

2011-07-16 Thread Stefan Bethke
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)

2011-07-16 Thread Stephen Montgomery-Smith

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)

2011-07-16 Thread Chris Rees
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)

2011-07-16 Thread Stephen Montgomery-Smith

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)

2011-07-16 Thread Chris Rees
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)

2011-07-16 Thread Adrian Chadd
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)

2011-07-15 Thread 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?

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