Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[ebuild] Frage zu "unpack"
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Mon Jun 11, 2012 7:40 pm    Post subject: [ebuild] Frage zu "unpack" Reply with quote

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
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5165

PostPosted: Tue Jun 12, 2012 6:09 am    Post subject: Reply with quote

verwendest du die eclass subversion (oder so ähnlich) in deinem ebuild?
siehe auch http://devmanual.gentoo.org/ebuild-writing/functions/src_unpack/svn-sources/index.html
_________________
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
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Tue Jun 12, 2012 7:08 am    Post subject: Reply with quote

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
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Tue Jun 12, 2012 4:23 pm    Post subject: Reply with quote

@ 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
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5165

PostPosted: Wed Jun 13, 2012 6:15 am    Post subject: Reply with quote

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
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Wed Jun 13, 2012 6:38 am    Post subject: Reply with quote

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
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Wed Jun 13, 2012 4:42 pm    Post subject: Reply with quote

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
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5165

PostPosted: Wed Jun 13, 2012 5:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Wed Jun 13, 2012 5:21 pm    Post subject: Reply with quote

Wenn ich aber "subversion_src_unpack " und "subversion_src_prepare" rausnehme, dann funktioniert es leider nicht. :(
Back to top
View user's profile Send private message
py-ro
Veteran
Veteran


Joined: 24 Sep 2002
Posts: 1734
Location: Velbert

PostPosted: Wed Jun 13, 2012 5:31 pm    Post subject: Reply with quote

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
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Wed Jun 13, 2012 5:38 pm    Post subject: Reply with quote

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
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5165

PostPosted: Wed Jun 13, 2012 7:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Wed Jun 13, 2012 7:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum