View previous topic :: View next topic |
Author |
Message |
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Mon Jun 11, 2012 7:40 pm Post subject: [ebuild] Frage zu "unpack" |
|
|
Hallo Zusammen,
ich habe ein kleine Problem mit einem ebuild, das gerade zu basteln versuche.
Ich möchte ein ebuild bauen, dass mir etwas via Subversion herunterlädt und installiert.
Das Ganze funktioniert schon ganz gut, bis auf einen kleinen Schönheitfehler.
Die Software, die ich installieren möchte, liest die Version via subversion aus. Leider aber ist es so, dass portage beim Entpacken, das Verzeichnis ".svn" nicht entpackt.
Die Frage ist nun, ob es Möglichkeit gibt, portage dazu zu bringen, dass der Ordner ".svn" auch mit entpackt wird? |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5186
|
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Tue Jun 12, 2012 7:08 am Post subject: |
|
|
Die eclass scheint beim Kopieren die .svn-Verzeichnisse nicht mitzunehmen.
@3PO: Um was für Software handelt es sich? Da es die sourcen via subversion gibt nehme ich an es ist OpenSource. Kannst du zur Projektseite nen Link posten? Evtl. versteckt sich in den Sourcen eine configure-Option, mit der man das Ziehen der Version aus dem .svn verhindern kann. Das ist nämlich keine so dolle Idee, denn es macht das Packen fürs release/snapshots komplexer. Vergisst man diese Stolperfalle zu entfernen, kompiliert das Release nicht (außer man belässt die ganzen .svn im Release, was wiederum den tarball aufbläst) So was macht man besser mit hooks. |
|
Back to top |
|
|
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Tue Jun 12, 2012 4:23 pm Post subject: |
|
|
@ firefly,
ja, die verwende ich:
Code: | .....
src_prepare() {
subversion_src_unpack
subversion_src_prepare
}
..... |
@ franzf,
ja die Software ist Opensource, allerdings ist es so, dass sie aus lizenzrechtlichen Gründen recht grenzwerting und möchte sie deshalb hier nicht nennen.
Die Frage ist doch aber die, ob es generell möglich ist, portage anzuweisen, die verstecken Verzeichnisse von Repos herunterzuladen und im builddir zu entpacken? |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5186
|
Posted: Wed Jun 13, 2012 6:15 am Post subject: |
|
|
3PO wrote: | Die Frage ist doch aber die, ob es generell möglich ist, portage anzuweisen, die verstecken Verzeichnisse von Repos herunterzuladen und im builddir zu entpacken? |
Das Verzeichnis wird ja "heruntergeladen" *g* denn ohne dieses Verzeichnis funktioniert subversion nicht
Eventuell kann man die Version in src_prepare von .svn auslesen. Nur die Frage ist ob es eine Variable gibt, welche den Source Pfad enthält.
Wenn das geht müsste man nur dem build system der software mitteilen diese Version zu nehmen statt selbst zu versuchen die Version auszulesen.
Oder man kopiert handisch in src_prepare/src_unpack die benötigten dateien aus dem .svn Verzeichnis. Das komplette Verzeichnis würde ich da aber nicht kopieren, das wäre dann doch etwas zu viele Daten die da kopiert werden müssten. _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Wed Jun 13, 2012 6:38 am Post subject: |
|
|
firefly wrote: | Oder man kopiert handisch in src_prepare/src_unpack die benötigten dateien aus dem .svn Verzeichnis. |
Das habe ich mir auch schon gedacht. Aber um herauszufinden, was die genau treiben, muss man sich den SOurcecode anschauen. Dann kann man eigentlich auch gleich Patchen und eine eigene, fixe Versionsnummer einfügen (falls dieese nicht zur Feature-Erkennung oder sonstwas gebraucht wird, siehe z.B. makemkv).
BTW:
Code: | src_prepare() {
subversion_src_unpack
subversion_src_prepare
} |
Mach das doch raus. inherit subversion exportiert schon sein src_unpack und src_prepare, welche dann genommen werden, falls du sie nicht selbst im ebuild definierst. |
|
Back to top |
|
|
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Wed Jun 13, 2012 4:42 pm Post subject: |
|
|
Danke erstmal für die Tipps.
Ich das jetzt so gelöst, dass ich das entsprechende File patche und dort dann den Pfad zu "/usr/portage/distfiles/svn-src/....." angebe.
franzf wrote: | [...]
BTW:
Code: | src_prepare() {
subversion_src_unpack
subversion_src_prepare
} |
Mach das doch raus. inherit subversion exportiert schon sein src_unpack und src_prepare, welche dann genommen werden, falls du sie nicht selbst im ebuild definierst. |
Das verstehe ich nicht, was genau meinst Du damit, bzw. was wäre denn der richtige Weg? |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5186
|
Posted: Wed Jun 13, 2012 5:01 pm Post subject: |
|
|
3PO wrote: | Danke erstmal für die Tipps.
Ich das jetzt so gelöst, dass ich das entsprechende File patche und dort dann den Pfad zu "/usr/portage/distfiles/svn-src/....." angebe.
franzf wrote: | [...]
BTW:
Code: | src_prepare() {
subversion_src_unpack
subversion_src_prepare
} |
Mach das doch raus. inherit subversion exportiert schon sein src_unpack und src_prepare, welche dann genommen werden, falls du sie nicht selbst im ebuild definierst. |
Das verstehe ich nicht, was genau meinst Du damit, bzw. was wäre denn der richtige Weg? |
er meint dass du src_prepare() komplett entfernen kannst, wenn in dieser methode eh nur die beiden aufrufe zu den subversion_xx methoden stehen. Denn die subversion eclass exportiert schon selbst die src_prepare methode. _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Wed Jun 13, 2012 5:21 pm Post subject: |
|
|
Wenn ich aber "subversion_src_unpack " und "subversion_src_prepare" rausnehme, dann funktioniert es leider nicht. |
|
Back to top |
|
|
py-ro Veteran
Joined: 24 Sep 2002 Posts: 1734 Location: Velbert
|
Posted: Wed Jun 13, 2012 5:31 pm Post subject: |
|
|
Du musst src_prepare dann ganz rausnehmen, es sei den du hast selber noch Sachen da drin, dann kannst es dir nicht sparen. |
|
Back to top |
|
|
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Wed Jun 13, 2012 5:38 pm Post subject: |
|
|
py-ro wrote: | Du musst src_prepare dann ganz rausnehmen, es sei den du hast selber noch Sachen da drin, dann kannst es dir nicht sparen. |
So funktioniert es:
Code: | [...]
DEPEND="${RDEPEND}"
src_prepare() {
subversion_src_unpack
subversion_src_prepare
sed -i -e 's:\(CMAKE_EXE_LINKER_FLAGS\) "-s":\1 "":' CMakeLists.txt || die
}
src_configure() {
... |
So nicht:
Code: | [...]
DEPEND="${RDEPEND}"
src_prepare() {
sed -i -e 's:\(CMAKE_EXE_LINKER_FLAGS\) "-s":\1 "":' CMakeLists.txt || die
}
src_configure() {
,.. |
|
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5186
|
Posted: Wed Jun 13, 2012 7:05 pm Post subject: |
|
|
3PO wrote: | py-ro wrote: | Du musst src_prepare dann ganz rausnehmen, es sei den du hast selber noch Sachen da drin, dann kannst es dir nicht sparen. |
So funktioniert es:
Code: | [...]
DEPEND="${RDEPEND}"
src_prepare() {
subversion_src_unpack
subversion_src_prepare
sed -i -e 's:\(CMAKE_EXE_LINKER_FLAGS\) "-s":\1 "":' CMakeLists.txt || die
}
src_configure() {
... |
So nicht:
Code: | [...]
DEPEND="${RDEPEND}"
src_prepare() {
sed -i -e 's:\(CMAKE_EXE_LINKER_FLAGS\) "-s":\1 "":' CMakeLists.txt || die
}
src_configure() {
,.. |
|
moep liest du überhaupt was wir schreiben? Du kannst src_prepare komplett entfernen wenn du nur die beiden subversion_xx methoden darin aufrufst, wenn du aber noch mehr darin machst, dann brauchst du auch die beinde subversion_xx aufrufe.. Nun kapiert? _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Wed Jun 13, 2012 7:15 pm Post subject: |
|
|
firefly wrote: | [...] Nun kapiert? |
Denke schon, sonst würde es ja nicht funktionieren.
Aber weshalb muss das immer in eine Diskusion ausarten??
Meine Frage war doch eigentlich nur, ob man protage dazu bewegen kann, versteckte Verzeichnisse auch zu entpacken..... |
|
Back to top |
|
|
|