Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
ebuild mit eigenem diff file
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)
View previous topic :: View next topic  
Author Message
Henning
Apprentice
Apprentice


Joined: 08 Sep 2002
Posts: 196
Location: Braunschweig

PostPosted: Fri Nov 08, 2002 4:42 pm    Post subject: ebuild mit eigenem diff file Reply with quote

Hallo,

will mich mal an ein eigenes ebuild wagen.
Hab dazu mal ne Frage.
Wo wird denn definiert, von welchem Ort die Sourcen downgeloaded werden sollen? Oder muß daß immer ein Standard Server sein.

Wie ist denn das handling von patches? Wird der original Source gepatcht und dann als gentoo version bereitgestellt, oder werden sowohl patch als auch Original auf einem Gentoo Server abgelegt?

Henning
Back to top
View user's profile Send private message
Pietschy
Apprentice
Apprentice


Joined: 25 Jul 2002
Posts: 237

PostPosted: Fri Nov 08, 2002 9:46 pm    Post subject: Reply with quote

Dann will ich mal versuchen deine Frgaen zu beantworten.

zur ersten frage,
Standardmässig werden die dateien von gentoo-server gezogen, man kann aber mittels der Varialble SRC_URI="<link>" eine Alternative festlegen.

2. Frage:
Soweit ich weis liegt nichts gepatchtes auf dem Servern, wird also alles als original gezogen und erst dann gepatcht. Patches können auf den Servern liegen und warscheinlich je nach größe sind sie auch im portagetree vorhanden(jeweils in den unterordnern files (neben den digestfiles)).


_______________________

Ebuilds schreiben ist gar nicht so schwer, eigentlich nur abschreiben :)

als besonders schönes chaotisches aber viel zu lerendes beispiel bennen ich jetzt mal das ebuild von mplayer.


Ronny
Back to top
View user's profile Send private message
citizen428
Retired Dev
Retired Dev


Joined: 10 Jun 2002
Posts: 317
Location: Vienna, Austria

PostPosted: Sat Nov 09, 2002 10:25 am    Post subject: Reply with quote

Schau dir auch das Gentoo Entwickler HOWTO an:
http://www.gentoo.de/htmlfromxsl/gentoo-howto.html

Nach der Lektüre und dem Ansehen einiger Ebuilds wirst du drauf kommen daß das keine großer Hexerei ist.
Back to top
View user's profile Send private message
Henning
Apprentice
Apprentice


Joined: 08 Sep 2002
Posts: 196
Location: Braunschweig

PostPosted: Sat Nov 09, 2002 9:05 pm    Post subject: Reply with quote

Hallo,

habe die how-to's gelesen, komme aber trotzdem nicht weiter.
Also es sind 2 Sourcen für mein Projekt notwendig.
Eine liegt in der Form .tgz vor, die andere ist ein unkomprimiertes diff.

Beide Sourcen werden downgeloaded. Aber bei dem diff File erhalte ich
eine Fehlermeldung. Wie muß ich vorgehen?
Hier noch die Ausgaben.

Danke, Henning

bash-2.05a# emerge ./kvdr-0.51.ebuild
Calculating dependencies ...done!
>>> emerge (1 of 1) media-video/kvdr-0.51 to /
>>> md5 ;-) kvdr-0.51.tgz
>>> No message digest entry found for archive"kvdr_kde3.diff."
!!! Type "ebuild foo.ebuild digest" to generate a new digest.

bash-2.05a# ebuild /usr/portage/distfiles/kvdr_kde3.diff digest
!!! doebuild: /usr/portage/distfiles/kvdr_kde3.diff does not appear to be an ebuild file.
Back to top
View user's profile Send private message
citizen428
Retired Dev
Retired Dev


Joined: 10 Jun 2002
Posts: 317
Location: Vienna, Austria

PostPosted: Sun Nov 10, 2002 4:59 am    Post subject: Reply with quote

Henning wrote:

!!! Type "ebuild foo.ebuild digest" to generate a new digest.

bash-2.05a# ebuild /usr/portage/distfiles/kvdr_kde3.diff digest
!!! doebuild: /usr/portage/distfiles/kvdr_kde3.diff does not appear to be an ebuild file.

Vergleich die erste Zeile mit der die du geschrieben hast. Du sollst ein Digest vom Ebuildfile machen, nicht von dem diff.

#ebuild $PFAD_ZU_EBUILD_FILE/kvdr_kde3.ebuild digest

Lies dir auch mal "man ebuild" durch wenn du das noch nicht getan hast.

HTH,
citizen428
Back to top
View user's profile Send private message
Henning
Apprentice
Apprentice


Joined: 08 Sep 2002
Posts: 196
Location: Braunschweig

PostPosted: Sun Nov 10, 2002 11:50 am    Post subject: Reply with quote

Hi,

wer schreiben und lesen kann ist klar im Vorteil ;-).

Leider muß ich nur feststellen, daß ich entweder nicht das richtige lese, oder die Info's einfach so kurz sind, daß ich damit nicht zurechtkomme.

Immerhin, den ersten Teil habe ich inzwischen gemeistert. Bis einschließlich make läuft es jetzt. Wie ist das denn mit Variablen? Sind die immer nur lokal, oder muß ich Anfangswerte retten und wieder zurücksetzen, wie in meinem Script (autoconf).

Ja und dann müßte ich laut Original noch ein 'make install' machen.
Wenn ich das einbaue, bekomme ich 'access denied'.
Zu Fuß, also ohne ebuild geht das ohne Probleme.
Die ganze src_install section ist mir noch etwas schleierhaft, muß ich zugeben.

/bin/sh ../../../admin/mkinstalldirs /usr/kde/3/share/doc/HTML/default/kvdr/
mkdir /usr/kde/3/share/doc/HTML/default/kvdr
ACCESS DENIED mkdir: /usr/kde/3/share/doc/HTML/default/kvdr
mkdir: kann Verzeichnis »/usr/kde/3/share/doc/HTML/default/kvdr« nicht anlegen: Keine Berechtigung

Hier noch das Script:

# Copyright 2002
# Distributed under the terms of the GNU General Public License, v2 or later

S=${WORKDIR}/kvdr/
DESCRIPTION="Kvdr the GUI viewer for VDR (VideoDiskRecorder)"
SRC_URI="http://www.s.netic.de/gfiala/kvdr-${PV}.tgz
http://people.freenet.de/renegart/kvdr_kde3.diff"
HOMEPAGE="http://www.s.netic.de/gfiala/"
LICENSE="GPL"

DEPEND=">=media-video/xawtv-3.73-r1"

src_unpack() {

unpack kvdr-${PV}.tgz
cp ${DISTDIR}/kvdr_kde3.diff ${S}
cd ${S}
patch -p1 < kvdr_kde3.diff || die "patch failed"
}


src_compile() {
#we have to save the actual setting, really?
AUTOCONF=${WANT_AUTOCONF_2_5}
export WANT_AUTOCONF_2_5="0"

./configure || die "configure failed"
emake || die "emake failed"

make install || die

#restore settings
${WANT_AUTOCONF_2_5}=${AUTOCONF}
}

src_install() {
echo 'src_install'
}

pkg_postinst() {
echo 'Kvdr works as a GUI for VDR. Start VDR before'
}
Back to top
View user's profile Send private message
Henning
Apprentice
Apprentice


Joined: 08 Sep 2002
Posts: 196
Location: Braunschweig

PostPosted: Sun Nov 10, 2002 1:00 pm    Post subject: Reply with quote

Ok,

hab mal folgendes probiert:

src_install() {
make DESTDIR=${D} install
}

Das hat funktioniert, wüßte nur gern wieso.
Bei jedem neuen ebuild wieder Rätselraten ist ja wohl nicht Sinn der Sache.

Bis dahin, vielmals danke.

Henning
Back to top
View user's profile Send private message
citizen428
Retired Dev
Retired Dev


Joined: 10 Jun 2002
Posts: 317
Location: Vienna, Austria

PostPosted: Sun Nov 10, 2002 1:52 pm    Post subject: Reply with quote

Henning wrote:
src_install() {
make DESTDIR=${D} install
}

Das hat funktioniert, wüßte nur gern wieso.

Aus "man ebuild":
install: Installs the package to the temporary install directory by running the src_install() function. When completed, the install directory (${BUILD_PREFIX}/[package]-[rev-number]/image) will contain all the files that should either be merged to the local file system or included in a binary package.

Aus dem Developer HOWTO:
D: the root directory that is installed to, treat it as the virtual /

src_install: Use this function install the package to an image in ${D}. If your package uses automake, you can do this simply with make DESTDIR=${D} install. Make sure your package installs all its files using ${D} as the root!

Genaueres kann ich dir leider nicht sagen, hab bisher noch keinen Ebuild gemacht bei dem ich automake gebraucht habe.

Auch würde ich dir raten dir die Englische Version des Developer HOWTOS zu Gemüte zu führen, die ist aktueller und ausführlicher als die Deutsche!

HTH,
citizen428
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) 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