[slack] Apache 2.x met checkinstall

Pagina: 1
Acties:

  • PowerSp00n
  • Registratie: Februari 2002
  • Laatst online: 17-11-2025

PowerSp00n

There is no spoon

Topicstarter
Hallo,

Ik ben de laatste tijd wat bezig om met checkinstall packages te maken voor slackware servers. Dit omdat het mij wel handig lijkt om op deze manier de software te installeren en updaten op servers.

Nu was ik met Apache 2.0.53 bezig maar dit wil nog niet echt lukken. Voor het compilen van apache gebruik in de volgende regels:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
./configure \
    --prefix=/usr/local/apache \
    --enable-so \
    --enable-rewrite \
    --enable-ssl \
    --enable-info \
    --enable-suexec \
    --with-suexec-bin=/usr/local/apache/sbin/suexec \
    --with-suexec-caller=nodody \
    --with-suexec-userdir=cgi-bin \
    --with-suexec-docroot=/home \
    --with-suexec-uidmin=1000 \
    --with-suexec-gidmin=100 \
    --with-suexec-logfile=/var/log/httpd-suexec \
    --with-suexec-safepath=/usr/local/bin:/usr/bin:/bin && \
make -j3 && \
checkinstall \
    --type=slackware \
    --pkgname=httpd \
    --pkgversion=$* \
    --pkgarch=i686 \
    --pkgrelease=1sda \
    --maintainer=[mijnmail] \
    --autodoinst=no \
    --newslack


Maar als checkinstall zijn werk gaat doen dan stopt het al snel en eindig ik met de volgende output:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cp -p /packages/build/httpd-2.0.53/srclib/apr/include/*.h /usr/local/apache/include;
cp: preserving times for `/usr/local/apache/include/apr.h': No such file or directory
cp: preserving times for `/usr/local/apache/include/apr_allocator.h': No such file or directory
cp: preserving times for `/usr/local/apache/include/apr_atomic.h': No such file or directory

etc.etc.etc.etc

cp: preserving times for `/usr/local/apache/include/apr_version.h': No such file or directory
cp: preserving times for `/usr/local/apache/include/apr_want.h': No such file or directory
make[2]: *** [install] Error 1
make[2]: Leaving directory `/packages/build/httpd-2.0.53/srclib/apr'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/packages/build/httpd-2.0.53/srclib'
make: *** [install-recursive] Error 1

****  Installation failed. Aborting package creation.


Hier gaat er dus duidelijk wat fout. Als ik de checkinstall vervang door een normale 'make install' gaat alles goed wat toch aangeeft dat het binnen checkinstall ergens fout gaat. Als ik na deze 'make install' nog een keer checkinstall draai werkt het wel, dus blijkbaar worden er een aantal dingen buitenom de checkinstall omgeving gedraait wat niet helemaal de bedoeling is en kan het nu dus na de make install wel de files vinden. Maar vervolgens bevat de package niet alle files en library's die het moet bevatten.

Ik dacht dat ik vast niet de enige zou zijn die dit heeft meegemaakt maar als ik bovenstaande foutmeldingen of woordencombinaties zoek met google kom ik toch weinig tegen danwel helemaal niets.

Ik vraag me ook af, zeker nu dat checkinstall meer kwaad dan goed heeft gedaan laten we maar zeggen, of checkinstall nu echt zoveel beter is dan make install met een root of prefix meegegeven. Handig van checkinstall is wel dat het enkele handelingen gelijk uitvoert over de files die in je package gaan, maar dat kun je natuurlijk zelf ook doen.

Weet iemand hoe ik dit probleem op zou kunnen lossen?

  • slager
  • Registratie: November 2000
  • Laatst online: 13-02 19:04
Ik weet niet veel van checkinstall, maar weet wel dat bijvoorbeeld Patrick Volkerding (maintainer van Slackware) absoluut geen fan is van checkinstall. En dat zal niet voor niets zijn. Ik maak zelf mijn slackware packages altijd gewoon met een buildscripts. Genoeg voorbeelden te vinden in de source-tree van Slackware (hier bijvoorbeeld voor apache 1.3.33).

Dat lost je checkinstall probleem dus niet op, maar je krijgt wel een goed Slackware package.

  • PowerSp00n
  • Registratie: Februari 2002
  • Laatst online: 17-11-2025

PowerSp00n

There is no spoon

Topicstarter
slager schreef op zaterdag 12 februari 2005 @ 19:35:
Ik weet niet veel van checkinstall, maar weet wel dat bijvoorbeeld Patrick Volkerding (maintainer van Slackware) absoluut geen fan is van checkinstall. En dat zal niet voor niets zijn. Ik maak zelf mijn slackware packages altijd gewoon met een buildscripts. Genoeg voorbeelden te vinden in de source-tree van Slackware (hier bijvoorbeeld voor apache 1.3.33).

Dat lost je checkinstall probleem dus niet op, maar je krijgt wel een goed Slackware package.
Ik ben checkinstall gaan gebruiken nadat ik het volgende las van _JGC_ in de post [rml][ linux] programma's verwijderen[/rml]
Dingen als "make DESTDIR" zijn allemaal leuk en aardig, maar na wat ik heb gezien aan rotzooi tot nu toe wil ik dus nooit meer het commando "make DESTDIR=... install" draaien als root. Wat een enorm aantal b0rken troepdingen zijn er op deze wereld :X
(overigens compileer ik alles in een chroot systeem en pleur ik dat ding van tijd tot tijd weg om opnieuw te beginnen :X)
Maar checkinstall is tot nu toe niet veel beter. Ik overweeg ook om het gewoon de slackware way te doen. Hoe is jouw ervaring daarmee?

Leuke signature trouwens, komt me erg bekend voor _/-\o_ ...

Verwijderd

Ik heb alleen maar goede ervaringen met checkinstall. Ik vraag me af waar Slager vandaan haalt dat Pat geen fan is van checkinstall? Het wordt immers wel met Slackware meegeleverd (weliswaar in extra/ maar toch).

Ik weet het niet zeker, maar ik vermoed dat het volgende fout gaat:
code:
1
2
3
4
cp -p /packages/build/httpd-2.0.53/srclib/apr/include/*.h /usr/local/apache/include;
cp: preserving times for `/usr/local/apache/include/apr.h': No such file or directory
cp: preserving times for `/usr/local/apache/include/apr_allocator.h': No such file or directory
cp: preserving times for `/usr/local/apache/include/apr_atomic.h': No such file or directory


Voor zover ik weet installeert checkinstall de package pas nadat deze is gemaakt. Maw, het make install-script denkt dat /usr/local/apache/include/* al bestaan en wil daar iets mee doen (preserving times, wat dat dan ook moge zijn) maar die directory bestaat nog niet, die wordt pas aangemaakt op het moment dat de package geinstalleerd wordt.

jm2c :)