Ga naar inhoud

[compilen] --prefix v.s. DESTDIR


anoniem

Aanbevolen berichten

/me is bezig een aantal dingen up te daten c.q. bij te installeren aan een server (slackware) en wil daarbij gebruik maken van .tgz (slackware package manager) daartoe moet je de hele bups eerst in een 'neptree' installeren. dat kan op twee manieren: meegeven met ./configure [code:1:31ba42dde8] ./configure --prefix=/home/packages/openssl/usr [/code:1:31ba42dde8] en het schijnt ook te kunen met [code:1:31ba42dde8] ./configure --prefix=/usr make make DESTDIR=/home/packages/openssl/usr install [/code:1:31ba42dde8] (ja, ik weet dat je voor openssl nog wat andere opties moet toevoegen... ;)) mijn vraag is nu vooral: hoe gaan packages daarmee om en wat is aan te raden? ik heb gehoord dat niet alle packages de optie DESTDIR respecteren (en moet dat eigenlijk wel pas bij 'make install'?) waarom dan DESTDIR willen gebruiken? omdat ik ook gehoord heb van packages die de $PREFIX hardcoded vastleggen :roll: en dat zou dus echt nare problemen opleveren! ben ik duidelijk genoeg geweest? ;)
Link naar reactie
Het beste kun je ./configure gewoon naar --prefix=/usr doen, anders krijg je allerlei rare paden geconfigureerd in de software. Of je daarna [b:9fedc8b396]make DESTDIR=/pad/naar/blablafakeroot install[/b:9fedc8b396] ofwel [b:9fedc8b396]make prefix=/pad/naar/fakeroot/usr install[/b:9fedc8b396] moet doen hangt af van de makefile. Kijk gewoon even in de Makefile die gegenereerd wordt naar configure. Tip: kijk ook in de ebuild files op http://www.gentoo.org/index-packages.html want gentoo gebruikt precies zo'n systeem. Soms moet je misschien zelfs wat directories aanmaken. Ik heb wel eens een [i:9fedc8b396]file[/i:9fedc8b396] /var/tmp/blablafakeroot/usr/share/info gehad, omdat die directory niet al bestond werd het bestand er heen gekopieerd als file. Kijk ook goed of er niet packages buiten de boot vallen en toch stiekem in de gewone / rootdir worden geïnstalleerd. Gentoo gebruikt hiervoor een sandbox preload, die je waarschuwt als er buiten de fake rootdir wordt geschreven.
Link naar reactie
[quote:b5258c1f03="wbsoft"]Het beste kun je ./configure gewoon naar --prefix=/usr doen, anders krijg je allerlei rare paden geconfigureerd in de software. Of je daarna [b:b5258c1f03]make DESTDIR=/pad/naar/blablafakeroot install[/b:b5258c1f03] ofwel [b:b5258c1f03]make prefix=/pad/naar/fakeroot/usr install[/b:b5258c1f03] moet doen hangt af van de makefile. Kijk gewoon even in de Makefile die gegenereerd wordt naar configure. [/quote:b5258c1f03] make prefix=blaat... dat zal 'm dan wel wezen... /me gaat ff een makefile lezen :9 [quote:b5258c1f03="wbsoft"] Soms moet je misschien zelfs wat directories aanmaken. Ik heb wel eens een [i:b5258c1f03]file[/i:b5258c1f03] /var/tmp/blablafakeroot/usr/share/info gehad, omdat die directory niet al bestond werd het bestand er heen gekopieerd als file. [/quote:b5258c1f03] ik heb dan ook heel complete directorystructuur aangemaakt ;) [quote:b5258c1f03="wbsoft"] Kijk ook goed of er niet packages buiten de boot vallen en toch stiekem in de gewone / rootdir worden geïnstalleerd. Gentoo gebruikt hiervoor een sandbox preload, die je waarschuwt als er buiten de fake rootdir wordt geschreven.[/quote:b5258c1f03] da's een goeie... maar hoe check ik dat? ik zou maar een optie weten, namelijk installeren als een non-privileged user en als dat goed gaat installeren met userid 0 of iets als chown -R 0.0 *, maar dan krijg je problemen met sommige permissies (suid-bits bijvoorbeeld)
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...