Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Dateiliste fürs mergen
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
fragcollector
n00b
n00b


Joined: 17 Jul 2002
Posts: 6

PostPosted: Wed Jul 17, 2002 6:48 am    Post subject: Dateiliste fürs mergen Reply with quote

Gibt es eine Möglichkeit eine Liste aller Dateien zu erstellen die beim mergen runtergeladen werden müssen (und zwar in der Form von Download-URLs)? Mein Rechner hängt nämlich nicht direkt am Internet und muß deshalb alle Dateien einzelnd runterladen. Das sieht dann ungefähr so aus:

Ich will irgendein Paket mergen, und tippe "emerge paketname". emerge will die erste nötige Datei runterladen, findet aber keinen Weg nach draußen und bricht ab. Immerhin sehe ich die URL, die schreib ich in eine Datei. Jeden Tag wenn ich in der Uni bin lad ich die aufgeschriebenen Dateien runter und trag sie auf meiner ZIP-Diskette heim, schmeiß sie nach /usr/portage/distfiles und probiers nochmal. Meistens fehlt dann gleich die nächste Datei. So hab ich z.B. fürs xfree eine halbe Woche gebraucht, für Mozilla nochmal so lang, die Kompilierei war in beiden Fällen aber schön schnell erledigt.

Gibts da irgendwie eine Möglichkeit daß emerge einfach die komplette Liste aller von diesem Paket (und allen Abhängigkeiten) benötigten Dateien ausgibt, dann könnte ich die Sache doch sehr verkürzen. Es muß irgendwie gehen, schließlich stecken die Download-URLs ja in den ebuild-Dateien. Ich kann aber überhaupt kein Python, sonst hätte ich mir dieses Feature schon selber programmiert. Achja, "emerge -p" ist keine Lösung, da es nur die Namen der ebuilds, nicht aber die Dateinamen aller nötigen Files ausgibt (öfters werden noch ein paar Patches benötigt, es ist also nicht einfach 1 Paket=1 downzuloadende Datei).

Ansonsten bin ich mit gentoo ja sehr zufrieden, nur diese Sache stört mich sehr. Ich hoffe jemand kann mir helfen.
Back to top
View user's profile Send private message
DanRok
n00b
n00b


Joined: 13 May 2002
Posts: 24
Location: Hessen - Germany

PostPosted: Wed Jul 17, 2002 9:43 am    Post subject: Reply with quote

Aber sicher geht das :D

Du machst folgendes:

emerge --pretend yourPackageHere >& benötigtePackages.txt


Mit dem -pretend flag wird nur überprüft welche packages gebraucht werden, es wird aber noch kein emerge ausgeführt. Die ">&" leiten den stdout und stderr in die Datei benötigtePackages.txt um.
Back to top
View user's profile Send private message
DanRok
n00b
n00b


Joined: 13 May 2002
Posts: 24
Location: Hessen - Germany

PostPosted: Wed Jul 17, 2002 9:52 am    Post subject: Reply with quote

Oh, hab gerade den Rest deines Posts gelesen...hätte ich vielleicht mal vorher machen sollen :oops:

Najo, aber mit pretend hast Du zumindest schonmal einen Grossteil abgedeckt und meistens reicht das auch. Hab das so schon selbst ein paar mal gemacht, weil ich unter gentoo ebenfalls keinen Internetzugang habe (noch nicht) und meistens waren bei emerge --pretend alle files dabei.

Mit "|&" kannst Du den stdout und stderr auch an ein anderes Programm (nano) weiterleiten. Falls Du noch was nachbearbeiten möchtest.

Wenn Du ">&" verwendest, wird die Datei in die umgeleitet wird noch erstellt, falls diese noch nicht vorhanden ist.
Back to top
View user's profile Send private message
jay
l33t
l33t


Joined: 08 May 2002
Posts: 980

PostPosted: Wed Jul 17, 2002 10:57 am    Post subject: Reply with quote

Noch einfacher gehts, wenn Ihr direkt in die ebuild Datei reinschaut. Die befinden sich unter usr/portage/kategorie/progamm/programm.ebuild - in den EBuilds steht auch die URL der downzuloadenden Pakete drin.
_________________
Do you want your posessions identified? [ynq] (n)
Back to top
View user's profile Send private message
fragcollector
n00b
n00b


Joined: 17 Jul 2002
Posts: 6

PostPosted: Wed Jul 17, 2002 11:26 am    Post subject: Vielleicht eine Lösung Reply with quote

DanRok wrote:
Oh, hab gerade den Rest deines Posts gelesen...hätte ich vielleicht mal vorher machen sollen :oops:


:roll:

DanRok wrote:

Najo, aber mit pretend hast Du zumindest schonmal einen Grossteil abgedeckt und meistens reicht das auch. Hab das so schon selbst ein paar mal gemacht, weil ich unter gentoo ebenfalls keinen Internetzugang habe (noch nicht) und meistens waren bei emerge --pretend alle files dabei.


Meistens, aber eben nicht immer. Und nichts ist lästiger als 10 Files mit 40MB mühsam heimgeschaufelt zu haben nur um dann festzustellen daß eine harmlose kleine Patch-Datei fehlt, die gerade mal 2KB groß wäre. Wie gesagt, bei Software vom Kaliber eines Mozilla brauchts schnell mal ein 20 Files, aber vielleicht nur 10 Pakete.

Mittlerweile ist mir beim Nachdenken doch noch selbst eine mögliche Lösung eingefallen, ohne daß man emerge bzw ebuild antasten müßte. Grundgedanke: Man parst die Ausgabe von emerge -p und erzeugt sich daraus eine Liste der zugehörigen .ebuild-Dateien, dann sourced man jede derselbigen (Sind ja nur Shellscripts) und gibt jeweils die Variable $SRC_URI aus:

Code:

for i in $EBUILDS_TO_PROCESS; do
  (source $i && echo $SRC_URI) >>filelist
done


Dann noch überall ein wget davor, fertig ist das bequeme Download-Skript für die Uni. Nur die URIs der Form mirror://sourceforge/foobar.tar.gz muß man noch gesondert abhandeln. (Dumme Foren-Software, macht alles zu einem anklickbaren Link was nach URL aussieht)

Ich werd das heute abend mal zusammenhacken und austesten. Wenns klappt poste ich es hier.

DanRok wrote:

Mit "|&" kannst Du den stdout und stderr auch an ein anderes Programm (nano) weiterleiten. Falls Du noch was nachbearbeiten möchtest.

Wenn Du ">&" verwendest, wird die Datei in die umgeleitet wird noch erstellt, falls diese noch nicht vorhanden ist.


Weiß ich doch. Ich benutze Linux seit Kernel 1.1.13 (ohne jetzt angeben zu wollen) und bin in meinem Bekanntenkreis sowas wie der lokale bash-Guru :wink:

Nachtrag: jay, deinen Post hatte ich noch nicht gesehen als ich zu schreiben begonnen hatte. Zwei Leute, eine Idee.
Back to top
View user's profile Send private message
fghellar
Bodhisattva
Bodhisattva


Joined: 10 Apr 2002
Posts: 856
Location: Porto Alegre, BR

PostPosted: Thu Jul 18, 2002 1:26 am    Post subject: Re: Dateiliste fürs mergen Reply with quote

fragcollector wrote:
Gibt es eine Möglichkeit eine Liste aller Dateien zu erstellen die beim mergen runtergeladen werden müssen (und zwar in der Form von Download-URLs)?

http://forums.gentoo.org/viewtopic.php?t=5224
_________________
| www.gentoo.org | www.tldp.org | www.google.com |
Back to top
View user's profile Send private message
fragcollector
n00b
n00b


Joined: 17 Jul 2002
Posts: 6

PostPosted: Fri Jul 19, 2002 11:37 am    Post subject: :D Reply with quote

Hey danke, dann kann ich mir die weitere Arbeit an meinem Skript sparen. Ich hoffe doch dieses Skript wird zukünftig standardmäßig der Distribution beiliegen?

Many thanx :D :D
Back to top
View user's profile Send private message
fghellar
Bodhisattva
Bodhisattva


Joined: 10 Apr 2002
Posts: 856
Location: Porto Alegre, BR

PostPosted: Fri Jul 19, 2002 5:48 pm    Post subject: Reply with quote

Man kann doch träumen... ;)
_________________
| www.gentoo.org | www.tldp.org | www.google.com |
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