View previous topic :: View next topic |
Author |
Message |
tazinblack Veteran
Joined: 23 Jan 2005 Posts: 1146 Location: Baden / Germany
|
Posted: Thu Jan 19, 2017 2:41 pm Post subject: Paket mit speziellen configure Einstellungen bauen |
|
|
Hallo zusammen,
bisher hab ich mich immer erfolgreich davor gedrückt, aber irgendwann musste es ja soweit kommen.
Sprich ich müsste das Paket dev-lang/php mit speziellen configure Optionen bauen, welche sich nicht über USE-Flags abbilden lassen.
In meinem Fall wären das "--with-custom-odbc" und "--with-apxs2=/usr/local/apache2/bin/apxs"
Da ich inzwischen auch schon ein paar Tage mit gentoo arbeite ist mir klar, dass ich dafür wohl das ebuild anpassen muss, damit sich php sonst wie gewohnt verhält.
Um nicht wieder alles zu verlieren beim nächsten sync, brauche ich wohl einen lokalen overlay.
Bzgl. Ebuild werde ich versuchen mich daran zu orientieren https://devmanual.gentoo.org/ebuild-writing/.
Könnt ihr, als alte Hasen, mir evtl. schon vorab den einen oder anderen Tipp geben?
Aktuell installiert habe ich dev-lang/php-5.6.29:5.6. Das ebauild ist also php-5.6.29.ebuild
Aus dem Stand fallen mir schon die ersten Fragen ein:
- Muss ich meinem eigenen ebuild einen eigenen Namen geben? Also z.B. php_custodbc-5.6.29.ebuild
- Vermutlich muss der Ordner dann auch dev-lang/php_custodbc heißen und entsprechend das distfile?
- Was muss ich noch alles aus /usr/portage/dev-lang/php mit in mein overlay mitnehmen? Vermutlich metadata.xml und das Verzeichnis files, nicht aber Manifest
- Brauche ich den repoman?
Ich leg mal los mit meinen overlay...
Danke Euch schon mal für die Tipps! _________________ Gruß / Regards
tazinblack
_______________________________________________________
what's the point in being grown up if you can't be childish sometimes |
|
Back to top |
|
|
tazinblack Veteran
Joined: 23 Jan 2005 Posts: 1146 Location: Baden / Germany
|
Posted: Thu Jan 19, 2017 3:23 pm Post subject: |
|
|
Besonders cool wäre es natürlich, wenn ich per "eselect php" dann auch auf die von mir angepasste Version umschalten könnte.
Dazu müsste das Paket dann wohl vermutlich doch den gleichen Namen haben. _________________ Gruß / Regards
tazinblack
_______________________________________________________
what's the point in being grown up if you can't be childish sometimes |
|
Back to top |
|
|
Fijoldar Apprentice
Joined: 10 Apr 2013 Posts: 248
|
Posted: Thu Jan 19, 2017 6:58 pm Post subject: |
|
|
Im Grunde dürfte es reichen, wenn du einfach folgenden Eintrag in die package.mask hinzufügst:
Code: |
dev-lang/php::gentoo
|
Dann sollte Portage das Paket zwangsläufig aus deinem eigenen Repo nehmen, sobald es konfiguriert wurde. Das Paket muss und sollte dann natürlich genauso heißen. Dann kannst du auch wie bisher mit eselect zwischen den Versionen wechseln.
Das Problem, dass du das ebuild pflegen und regelmäßig neue Versionen pushen musst, hast du ja dann eh. Bei einem so wichtigen Paket, würde ich den Aufwand allerdings nicht unterschätzen . |
|
Back to top |
|
|
Child_of_Sun_24 l33t
Joined: 28 Jul 2004 Posts: 611
|
Posted: Thu Jan 26, 2017 1:03 pm Post subject: |
|
|
Ich füge eigene configure optionen immer mithilfe von /etc/portage/env und /etc/portage/package.env hinzu, allerdings global, so dass keine "neue" Version entsteht.
z.B.
/etc/portage/env/php.conf
EXTRA_ECONF="--with-custom-odbc --with-apxs2=/usr/local/apache2/bin/apxs"
/etc/portage/package.env/php
dev-lang/php php.conf
Du kannst in der /etc/portage/package.env/php auch nur eine Version benennen z.B.:
=dev-lang/php-5.6.29
Wenn du noch eine andere php Version installiert hast könntest du dann auch zwischen den beiden Versionen wechseln. |
|
Back to top |
|
|
tazinblack Veteran
Joined: 23 Jan 2005 Posts: 1146 Location: Baden / Germany
|
Posted: Tue Jan 31, 2017 11:04 am Post subject: |
|
|
Child_of_Sun_24 wrote: | Ich füge eigene configure optionen immer mithilfe von /etc/portage/env und /etc/portage/package.env hinzu, allerdings global, so dass keine "neue" Version entsteht.
z.B.
/etc/portage/env/php.conf
EXTRA_ECONF="--with-custom-odbc --with-apxs2=/usr/local/apache2/bin/apxs"
/etc/portage/package.env/php
dev-lang/php php.conf
Du kannst in der /etc/portage/package.env/php auch nur eine Version benennen z.B.:
=dev-lang/php-5.6.29
Wenn du noch eine andere php Version installiert hast könntest du dann auch zwischen den beiden Versionen wechseln. |
Das klingt auch interessant. Da ich gerade vor dem Problem stehe, ein spezifisches Environment zu brauchen, versuch ich das gleich mal.
Die Frage ist nur, wo baue ich das ein? _________________ Gruß / Regards
tazinblack
_______________________________________________________
what's the point in being grown up if you can't be childish sometimes |
|
Back to top |
|
|
tazinblack Veteran
Joined: 23 Jan 2005 Posts: 1146 Location: Baden / Germany
|
Posted: Tue Jan 31, 2017 12:10 pm Post subject: |
|
|
gefunden!
-> https://wiki.gentoo.org/wiki//etc/portage/package.env _________________ Gruß / Regards
tazinblack
_______________________________________________________
what's the point in being grown up if you can't be childish sometimes |
|
Back to top |
|
|
|