Re: how do ports install into ${destroot} instead of into ${prefix} directly?
Hi René - If the Makefile is hand-written, it probably does not contain a way to set DESTROOT or some other variable to direct where to install stuff outside of PREFIX -- you'll need to read through the Makefile to verify, generally in the install: section. If this is this case, you have to add it yourself as a patch. Hopefully that's not too painful for qtchooser ;) Good luck! - MLD On Thu, Dec 11, 2014, at 11:44 AM, René J.V. Bertin wrote: Taking a break from qt4-mac next generation I'm giving some love to my port for qtchooser. Problem: whatever magic ensures that things get installed into ${destroot} first doesn't work with this project and its hand-written Makefile. As a result, `port destroot qtchooser` installs things directly into ${prefix} ... What is required to correct this?! ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users
Re: how do ports install into ${destroot} instead of into ${prefix} directly?
On Thursday December 11 2014 11:53:00 Michael Dickens wrote: Hi Hi René - If the Makefile is hand-written, it probably does not contain a way to set DESTROOT or some other variable to direct where to install stuff outside of PREFIX -- you'll need to read through the Makefile to No, it doesn't. I figured I had to edit it, but how? Alternatively, couldn't I change the destroot command so that it executes make with an appropriate set of options? Cheers, R. ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users
Re: how do ports install into ${destroot} instead of into ${prefix} directly?
On Dec 11, 2014, at 12:38 PM, René J.V. Bertin rjvber...@gmail.com wrote: On Thursday December 11 2014 11:53:00 Michael Dickens wrote: Hi René - If the Makefile is hand-written, it probably does not contain a way to set DESTROOT or some other variable to direct where to install stuff outside of PREFIX -- you'll need to read through the Makefile to No, it doesn't. I figured I had to edit it, but how? Assuming the makefile uses prefix properly, its install target needs to install to $(DESTDIR)$(prefix) instead of just $(prefix). Alternatively, couldn't I change the destroot command so that it executes make with an appropriate set of options? We already pass DESTDIR=$destroot to the make invocation. Make can't force a makefile to use it. vq ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users
Re: how do ports install into ${destroot} instead of into ${prefix} directly?
On Thu, Dec 11, 2014, at 12:38 PM, René J.V. Bertin wrote: On Thursday December 11 2014 11:53:00 Michael Dickens wrote: Hi René - If the Makefile is hand-written, it probably does not contain a way to set DESTROOT or some other variable to direct where to install stuff outside of PREFIX -- you'll need to read through the Makefile to No, it doesn't. I figured I had to edit it, but how? Here's what I do: {{{ cd `port dir qtchooser` sudo port extract qtchooser pushd work sudo chmod -R a+rw . cd qtchooser* git init git add .[a-zA-Z0-9]* * git commit -a -m init }}} Then, open the file of interest (e.g., Makefile) in your preferred editor and go wild. When you're done, you can use git diff to retrieve a -p1 patchfile. You can then edit the -p1 patchfile to be -p0, or just use -p1 if possible (all patches much be of the same patch level). Alternatively, couldn't I change the destroot command so that it executes make with an appropriate set of options? Yes, if the Makefile supports a way to do this. Having not seen the Makefile, I can't say for sure. - MLD ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users
Re: how do ports install into ${destroot} instead of into ${prefix} directly?
On Thursday December 11 2014 12:52:55 Lawrence Velázquez wrote: We already pass DESTDIR=$destroot to the make invocation. Make can't force a makefile to use it. See, that's the bit I was missing :) cd qtchooser* git init git add .[a-zA-Z0-9]* * git commit -a -m init }}} Then, open the file of interest (e.g., Makefile) in your preferred editor and go wild. When you're done, you can use git diff to retrieve That's what I also do often (sometimes in the work dir after `port patch foo`). Oh, and KDevelop generates -p0 patchfiles, so those are usable without editing ;) R. ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users
Re: how do ports install into ${destroot} instead of into ${prefix} directly?
On Thu, Dec 11, 2014 at 1:42 PM, René J.V. rjvber...@gmail.com wrote: We already pass DESTDIR=$destroot to the make invocation. Make can't force a makefile to use it. See, that's the bit I was missing :) It's only the same thing RPM has conditioned Linux devs into doing for years now -- brandon s allbery kf8nh sine nomine associates allber...@gmail.com ballb...@sinenomine.net unix, openafs, kerberos, infrastructure, xmonadhttp://sinenomine.net ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users
Re: how do ports install into ${destroot} instead of into ${prefix} directly?
On Dec 11, 2014, at 10:53 AM, Michael Dickens wrote: If the Makefile is hand-written, it probably does not contain a way to set DESTROOT or some other variable to direct where to install stuff outside of PREFIX That's not necessarily so. Humans are certainly capable of writing Makefiles that use the DESTDIR variable properly. If the Makefile in question does not do so, consider fixing the Makefile to do so, then providing a patch to the developers so that they can include it in the next version ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users
Re: how do ports install into ${destroot} instead of into ${prefix} directly?
On Thursday December 11 2014 13:56:52 Ryan Schmidt wrote: On Dec 11, 2014, at 10:53 AM, Michael Dickens wrote: If the Makefile is hand-written, it probably does not contain a way to set DESTROOT or some other variable to direct where to install stuff outside of PREFIX That's not necessarily so. Humans are certainly capable of writing Makefiles that use the DESTDIR variable properly. If the Makefile in Who said anything about not being able to? question does not do so, consider fixing the Makefile to do so, then providing a patch to the developers so that they can include it in the next version The Makefiles in question already contained INSTALL_ROOT. I doubt that the developer would be interested in replacing that with DESTDIR... R. ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users
Re: how do ports install into ${destroot} instead of into ${prefix} directly?
On Dec 11, 2014, at 3:14 PM, René J.V. Bertin rjvber...@gmail.com wrote: question does not do so, consider fixing the Makefile to do so, then providing a patch to the developers so that they can include it in the next version The Makefiles in question already contained INSTALL_ROOT. I doubt that the developer would be interested in replacing that with DESTDIR... Using DESTDIR is a pretty common convention for Unix-y build systems. Is INSTALL_ROOT the convention somewhere else? In any case, it's easy enough to do something like this (untested): destroot.destdir-strsed s/DESTDIR/INSTALL_ROOT/ vq ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users
Re: how do ports install into ${destroot} instead of into ${prefix} directly?
On Dec 11, 2014, at 3:14 PM, René J.V. Bertin rjvber...@gmail.com wrote: The Makefiles in question already contained INSTALL_ROOT. I doubt that the developer would be interested in replacing that with DESTDIR... so you just need to set destroot.destdir INSTALL_ROOT=${destroot} -- Daniel J. Luke ++ | * dl...@geeklair.net * | | *-- http://www.geeklair.net -* | ++ | Opinions expressed are mine and do not necessarily | | reflect the opinions of my employer. | ++ ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users
Re: how do ports install into ${destroot} instead of into ${prefix} directly?
On Thursday December 11 2014 15:32:03 Lawrence Velázquez wrote: Using DESTDIR is a pretty common convention for Unix-y build systems. Is INSTALL_ROOT the convention somewhere else? I think it's what qmake produces, so it would be a Qt convention - which would be pretty appropriate. destroot.destdir-strsed s/DESTDIR/INSTALL_ROOT/ I did something similar, see the Portfile attached to https://trac.macports.org/ticket/46029#comment:8 R. ___ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users