.deb packet abändern

A

alienous

Jungspund
hallo, ich hab da wieder ein problem :)

ich habe einen debian v4.0 root, auf welchem schon lamp installiert wurde, also php5-common und die ganzen zusätlichen packete, welche ich auch behalten möchte. das einzige, was ich noch brauche, ist das gmp modul, wofür ich mir nicht die arbeit machen möchte, php komplett neu zu kompilieren. das benötigte modul habich bereits mit apt installiert (libgmp3c2 - Multiprecision arithmetic library), nun muss ich eigentlich nur das php5-common packet so abändern, das es mit dem schalter --with-gmp konfiguriert wird.

hier im forum habich schon den groben weg gefunden

* apt-get source programname
* apt-get build-dep programname
* cd programname-version
* dpkg-buildpackage

ich frage mich jetzt nur, wie ich der bestehenden configure-anweisung den schalter "--with-gmp" mit übergebe! wo finde ich diese configureanweisung?

hoffe ihr könnt mir helfen.

danke
 
Code:
./configure --help

...geht aber nur, wenn Du die source selber kompilierst, amsonsten kannst Du diese Anweisungen meines Wissens nach nicht im Nachhinein abändern.
 
Zuletzt bearbeitet:
also ich dachte immer, wenn ich apt-get install php5-common mache, dann wird wird die source geladen, und dann kompiliert. nun wollt ich einfach die bestehenden schalter durch diesen einen erweitern, sodass ich dann eine für mich angepasste version habe.

gibts da ein leichteren weg, oder funktioniert meiner garnich?

wie gesagt, ich bräuchte haar genau die selbe installation, nur halt noch mit dem gmp-modul... selbstkompilieren heisst ja, das wenn ich ein modul nachinstallieren will über apt-get, es auch automatisch php5 nachinstallieren will, weil ich ja eine selbstkompilierte version laufen hab, die beim apt nich hinterlegt ist...
@gropiuskalle, weiss nich was du meinst, hab den schalter schon!

hoffe dieses unterfangen is nich unlösbar :D

bei einer neukompilierung müsste ich auch auf pfade achten, diese mühsam ersuchen, da das php5 packet nich die standardpfade nutzt, die mir ./configure --help anbietet.

ausserdem ist es schon ganz gut vorkonfiguriert :D

danke
 
aso, hm, kriegt man denn die ./configure zeile raus, mit der die fertig kompilierten packte kompiliert wurden? ansonsten bringt mir das dann ja kaum vorteile :(
 
Da brauchst du schon die sourcen. Du brauchst ja auch das Makefile, um die configureoptionen festlegen zu können.
 
apt-get source php5-common

dann habich ja die sourcen, da sind auch 3 makefiles drinne, aber wie es weitergeht, weiß ich nich, ein neues ./configure würde ja die alten überschreiben oder? was mach ich denn um die nur zu erweitern?
 
was mach ich denn um die nur zu erweitern?

Das geht meines Wissens nach gar nicht - Du musst die makefiles mit einem ./configure selbst erstellen und dabei die per ./configure --help ermittelten Optionen anfügen.
 
Zuletzt bearbeitet:
schade, okay dann wird mein vorhaben wohl scheitern trotzdem danke
 
hallo, ich hab da wieder ein problem :)

ich habe einen debian v4.0 root, auf welchem schon lamp installiert wurde, also php5-common und die ganzen zusätlichen packete, welche ich auch behalten möchte. das einzige, was ich noch brauche, ist das gmp modul, wofür ich mir nicht die arbeit machen möchte, php komplett neu zu kompilieren. das benötigte modul habich bereits mit apt installiert (libgmp3c2 - Multiprecision arithmetic library), nun muss ich eigentlich nur das php5-common packet so abändern, das es mit dem schalter --with-gmp konfiguriert wird.

hier im forum habich schon den groben weg gefunden



ich frage mich jetzt nur, wie ich der bestehenden configure-anweisung den schalter "--with-gmp" mit übergebe! wo finde ich diese configureanweisung?

hoffe ihr könnt mir helfen.

danke

Wenn Du apt-get build-dep php5-common gemacht hast, findest du in dem Ordner wo der Source drin ist das Verzeichniss debian/
Dort findest du die Datei rules, und da drin stehn die ./configure Optionen, da musst du ja nur deinen "Schalter" eintragen. Danach wieder ins Hauptverzeichniss von der Source, und das hier ausführen:
Code:
dpkg-buildpackage -rfakeroot -us -uc
Eine Verzeichnisebene höher findest Du dann das erstellte *.deb Paket, das wie gewohnt mit dpkg -i Programmname installieren.
 
ah wär mir fast geglückt, aber ich frag vorher nochmal lieber nach bevor ich was kaputt mache. also, apt-get build-dep php5-common sagt mir dieses:

The following NEW packages will be installed:
apache-common apache-dev apache2-prefork-dev bison build-essential chrpath comerr-dev debhelper firebird2-common firebird2-dev flex
fontconfig freetds-dev g++ g++-4.1 gettext html2text intltool-debian libapr1-dev libaprutil1-dev libaspell-dev libaspell15 libaudio2
libbz2-dev libc-client-dev libct3 libcurl3-openssl-dev libdb4.4-dev libexpat1-dev libfbclient1 libfbembed1 libfontconfig1-dev
libfreetype6-dev libgcrypt11-dev libgd2-xpm-dev libgpg-error-dev libice-dev libidn11-dev libjpeg62-dev libkadm55 libkrb5-dev
libldap2-dev libltdl3-dev libmcrypt-dev libmhash-dev libmng1 libmysqlclient15-dev libncurses5-dev libodbcinstq1c2 libpam0g-dev
libpcre3-dev libpcrecpp0 libpng12-dev libpq-dev libpspell-dev libqt3-mt librecode-dev librecode0 libsensors-dev libsm-dev libsnmp-perl
libsnmp9-dev libsqlite0 libsqlite0-dev libsqlite3-dev libstdc++6-4.1-dev libsybdb5 libt1-dev libtidy-0.99-0 libtidy-dev libwrap0-dev
libx11-dev libxau-dev libxcursor1 libxdmcp-dev libxext-dev libxfixes3 libxft2 libxi6 libxinerama1 libxml2-dev libxmltok1 libxmltok1-dev
libxpm-dev libxrandr2 libxrender1 libxslt1-dev libxslt1.1 pkg-config po-debconf re2c unixodbc-dev uuid-dev x11proto-core-dev
x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xtrans-dev
The following packages will be upgraded:
libcurl3 libfreetype6 libkrb53 libpq4
4 upgraded, 98 newly installed, 0 to remove and 12 not upgraded.
Need to get 45.7MB of archives.

obwohl ich ja das php packet bereits installiert hab. ich hab die sourcen dann mit apt-get source programname gezogen, die datei rules erweitert, und dannach den befehl dpkg-buildpackage -rfakeroot -us -uc versucht, aber dieser meint auch, das es Abhängigkeiten gäbe, die nicht erfüllt seien:

/usr/src/php5-5.2.0# dpkg-buildpackage -rfakeroot -us -uc
dpkg-buildpackage: source package is php5
dpkg-buildpackage: source version is 5.2.0-8+etch7
dpkg-buildpackage: source changed by sean finney <seanius@debian.org>
dpkg-buildpackage: host architecture amd64
dpkg-buildpackage: source version without epoch 5.2.0-8+etch7
dpkg-checkbuilddeps: Unmet build dependencies: apache-dev (>= 1.3.23) apache2-prefork-dev (>= 2.0.53-3) bison chrpath debhelper (>= 3) firebird2-dev flex (>= 2.5.4) freetds-dev libapr1-dev (>= 1.2.7-8) libbz2-dev (>= 1.0.0) libc-client-dev libcurl3-openssl-dev | libcurl3-dev libdb4.4-dev libexpat1-dev (>= 1.95.2-2.1) libfreetype6-dev libgcrypt11-dev libgd2-xpm-dev (>= 2.0.28-3) libjpeg62-dev libkrb5-dev libldap2-dev libmcrypt-dev libmhash-dev (>= 0.8.8) libmysqlclient15-dev | libmysqlclient12-dev libncurses5-dev libpam0g-dev libpcre3-dev (>= 6.6) libpng12-dev libpq-dev | postgresql-dev libpspell-dev librecode-dev libsnmp9-dev | libsnmp-dev libsqlite0-dev libt1-dev libtidy-dev libwrap0-dev libxmltok1-dev libxml2-dev (>= 2.4.14) libxslt1-dev (>= 1.0.18) re2c unixodbc-dev
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)

Abhängigkeiten sind also nich erfüllt, obwohl ich das packet installiert hab?
 
Hast Du mal vorher ein apt-get update && apt-get upgrade gemacht? Evtl. ist ja eine neue Version vorhanden, dewegen der Unterschied...
 
Den Hafer, den apt-get build-deb ausspuckt solltest Du schon installieren, denn das sind alles Sachen, die für das Bauen benötigt werden (ohne geht's nicht, wie Du ja bei Deinem verzweifelten Versuch am Ende siehts). Wenn Du dann irgendwann Dein neues Paket fertig hast, kannste die ja wieder entfernen.
 
es hat tatsächlich geklappt!!! ich bin begeistert!

vielen dank an euch für die hilfe, besonders defcon und goodspeed!

ich gehe mich nun weiter freuen :D bye
 
hi, sorry das ich das thema nochmal rauskrame, mein neues prob fällt aber genau in die selbe kategorie! mit --with-gmp hat es wunderbar geklappt, aber wenn ich die von php mitgelieferte GDlib installieren will (--with-gd) scheints mit dem schalter in der rulesdatei nicht zu klappen. ich hab vorher natürlich das php5-gd paket deinstalliert und die sourcen neu geladen. dann hab ich die rules datei um --with-gd und --with-gmp erweitert und neu kompilieren lassen.
raus kamen wieder einige pakete, unter anderem php5-gd!(obwohl ichs ja deinstalliert hab) habe dann dpkg -i php5_5.2.0-8+etch7_all.deb php5-common_5.2.0-8+etch7_amd64.deb installiert, apache neugestartet, und siehe da, gmp ist installiert, gd allerdings nicht! weiß einer rat? währe euch sehr verbunden!
danke
 

Ähnliche Themen

.deb-packete per apt-get erstellen

Apt würde gern wichtige Pakete lösche.

Richtige libc Version installieren

Samba kann nicht installiert werden

Krieg proftd-mysql nich ans laufen

Zurück
Oben