Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
mehrere distfiles verzeichnisse?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
sarahb523
Guru
Guru


Joined: 10 Mar 2004
Posts: 423
Location: Berlin

PostPosted: Fri Sep 17, 2004 6:13 am    Post subject: Reply with quote

ich hab noch eine verbose option hinzugefügt. Jetzt fehlt nur noch eine schöne formatierung des verbose textes.

Auf meiner Wunschliste ist jetzt noch ein kleiner check ob die gefundene datei ein link ist. Wenn das nen link ist, dann sollte der neu anzulegende link nicht auf den gefundenen, sondern auf sein ziel zeigen. Wenn der link ungültig ist, soll weitergesucht werden.

@equinox0r
kannst du auch mal deine version abgleichen und posten? Denn ich denke da is was unterschiedlich... (hab ich anhand deiner ausgaben gesehen)
_________________
AMD Sempron 2400+ / 1GB RAM / NVidia Geforce 5200FX /
Kernel 2.6.31-gentoo-r4 / kde 4.3
Back to top
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Fri Sep 17, 2004 5:03 pm    Post subject: Reply with quote

soooo.. schaust du mal hier :)
mein vollständiges komplettes aktuelles dist_overlay mit check_mount :)

EDIT: code ist richtig und funzt, bla :)
EDIT #2: volltrunkenerweise noch nen bug entdeckt und gefixed *hrhr* (3:13 uhr mez)
buggy: fstab_out=`cat /etc/fstab | awk '{print $2}' | grep -v "^#" | grep -v "^/$"`
fix: fstab_out=`cat /etc/fstab | grep -v "^#" | awk '{print $2}' | grep -v "^/$"`


EDIT #3 (Mo Sep 20 22:04:55 CEST 2004) neue version online (0.3)
_________________
AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel


Last edited by equinox0r on Mon Sep 20, 2004 8:05 pm; edited 1 time in total
Back to top
View user's profile Send private message
sarahb523
Guru
Guru


Joined: 10 Mar 2004
Posts: 423
Location: Berlin

PostPosted: Sat Sep 18, 2004 8:35 am    Post subject: Reply with quote

he das sieht ja richtig toll aus. Kannst du DIST_COPY="0" mal durch DIST_COPY=false (und die entsprechende if zeile) ändern? Ich hatte das in meiner vorigen Version schon getan.

Jetzt fehlen eigentlich nur noch 2 cmd zeilen params zur vollständigkeit:
--help
--version

wenn jemand lust und zeit hat... ansonsten mach ich das am kommenden Montag
_________________
AMD Sempron 2400+ / 1GB RAM / NVidia Geforce 5200FX /
Kernel 2.6.31-gentoo-r4 / kde 4.3
Back to top
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Mon Sep 20, 2004 8:04 pm    Post subject: Reply with quote

dist_overlay 0.3 released!
neues feature: ignore_mount_fail und etwas code umgeschrieben .. kommentiert wird später ;)

hier der code:
Code:
mittlerweile hab ich v.0.3.1 released ... s.u.


und hier noch etwas output:
Code:
[21:44:27] [root@dude.zion]
[~] $ emerge net-misc/whois
Calculating dependencies ...done! \
>>> emerge (1 of 1) net-misc/whois-4.6.6-r3 to /
>>> Downloading http://gentoo.osuosl.org/distfiles/whois_4.6.6.tar.gz
   DISToverlay
 * WARNING Performing DEEPSCAN. This may take some time on large filesystems...

 * searching for whois_4.6.6.tar.gz...
    scanning /data/mp3 ... file not found.

 * /mnt/dvd is not mounted in filesystem. Trying to mount ...
 * /mnt/dvd could not be mounted.
    scanning /mnt/dvd ... file not found.

 * /mnt/burn is not mounted in filesystem. Trying to mount ...
 * /mnt/burn could not be mounted.
    scanning /mnt/burn ... file not found.
    scanning /mnt/dist ... file found!

 *  make a link from file to distfiles

....


.. und mit IGNORE_MOUNT_FAIL=false .. :
Code:
[21:52:27] [root@dude.zion]
[~] $ emerge net-misc/whois
Calculating dependencies ...done! \
>>> emerge (1 of 1) net-misc/whois-4.6.6-r3 to /
>>> Downloading http://gentoo.osuosl.org/distfiles/whois_4.6.6.tar.gz
   DISToverlay
 * WARNING Performing DEEPSCAN. This may take some time on large filesystems...

 * searching for whois_4.6.6.tar.gz...
    scanning /data/mp3 ... file not found.

 * /mnt/dvd is not mounted in filesystem. Trying to mount ...
 * /mnt/dvd could not be mounted.
 * Exiting from previous errors (IGNORE_MOUNT_FAIL)


 * Requested file is not in distfiles overlay.
 * Fetching file from original URI
   http://gentoo.osuosl.org/distfiles/whois_4.6.6.tar.gz

....


sowie auszugsweise meine /etc/make.conf:
Code:
DISTDIRS="/data/mp3:/mnt/dvd:/mnt/burn:/mnt/dist"

#FETCHCOMMAND='/usr/bin/wget --waitretry=5 -O ${DISTDIR}/${FILE} ${URI}'
FETCHCOMMAND='/usr/local/bin/dist_overlay.sh --search ${URI}'

DIST_FETCH="/usr/bin/wget -t 1 --waitretry=5 --passive-ftp -O ${DISTDIR}/${FILE} ${URI}"

DIST_CHECK_MOUNT=true

DIST_DEEPSCAN=true


lecker oder? ;)

allerdings gefällt mir
Code:
# download distfile
function download_distfile {
   file_uri="$1"
   file_name="$2"
   ${DIST_FETCH} -O ${DISTDIR}/$file_name $file_uri
}
nicht so ganz denn eigentlich gehört das nach oben in die einstellungen, ist aber ohne $file_uri nicht möglich .. any ideas? (nicht nur sarahb *g*)
_________________
AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel


Last edited by equinox0r on Tue Sep 21, 2004 2:05 am; edited 1 time in total
Back to top
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Tue Sep 21, 2004 2:04 am    Post subject: Reply with quote

*argl* .. ich hab zuviel zeit und nix zu tun ;)

noch eine neue version draussen ... dist_overlay 0.3.1 released (und nebenbei bin ich auch noch Guru geworden) :D
clean mode wurde etwas verbessert....

EDIT (Di Sep 21 23:17:43 CEST 2004):
- Codeoptimierung function download_distfile
- Release final version 0.3.2

EDIT (Sa Jan 04:45:22 CEST 2005):
- Neues Release 0.3.3
- several bugfixes

aktuelle Version herunterladen
http://lichtspiele.org/~equinox/dist_overlay/

und natürlich etwas ausgabe :)
Code:
[04:01:13] [root@dude.zion]
[~] $ dist_overlay.sh --clean
   DISToverlay

   Cleaning up dead links in /usr/portage/distfiles...
 * Deleting symlink whois... Sure? (y|n) y
 * Deleting symlink whoisficken... Sure? (y|n) y
Nothing left to do; exiting.


@sarah und alle die sich ältere versionen aufgehoben haben ...
könnt ihr mir was ihr noch habt bitte schicken? ich hab nicht mehr alle (vor allem deine init version sarah) und wollte das mal alles gesammelt online stellen .. merci :)
_________________
AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel


Last edited by equinox0r on Sat Jan 08, 2005 3:47 am; edited 6 times in total
Back to top
View user's profile Send private message
sarahb523
Guru
Guru


Joined: 10 Mar 2004
Posts: 423
Location: Berlin

PostPosted: Tue Sep 21, 2004 9:53 am    Post subject: Reply with quote

he das script wird ja immer genialer. Alte versionen (bis auf die die ich hier gepostet habe) hab ich leider nicht. Dien ursprungsversion läßt sich sicher herstellen.

die aktuelle version hat aber noch einen kleinen schönheitsfehler. Wenn deltup verwendet wird, wird dem deltup script auch die wget option -O mitgegeben. dieses führt natürlich zu einem fehler. Ich habe bei mir die option herrausgenommen. Wozu brauchen wir die überhaupt? das deltup script benutzt die option intern auch nicht (von dort hab ich übrigends die wget zeile)
_________________
AMD Sempron 2400+ / 1GB RAM / NVidia Geforce 5200FX /
Kernel 2.6.31-gentoo-r4 / kde 4.3
Back to top
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Tue Sep 21, 2004 5:07 pm    Post subject: Reply with quote

von mir aus kann das auch -O auch wieder raus, allerdings weiss ich nicht, ob das distfile dann auch wirklich nach $DISTDIR heruntergeladen wird... müsste ich ma ausprobieren ;)

oder die andere möglichkeit dass DIST_FETCH in der make.conf stehen muss, dann haben wir keine probleme mehr :twisted:


mein lieblingsfähnrich (harry kim) hat übrigens mal gesagt dass ein gutes programm nicht durch zu viele parameter verschlechtert werden sollte ... in diesem zusammenhang würde ich dann gerne die final releasen wollen, ausserdem wäre ein eintrag in http://forums.gentoo.org/viewtopic.php?t=67849 bestimmt sinnvoll ... die ehre überlass ich dir sarah, ist schliesslich "dein" script ;)
_________________
AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel
Back to top
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Mon Nov 22, 2004 11:53 pm    Post subject: Reply with quote

sooodele :)
mal was neues von hier:

Zu finden gibt es das Script künftig 2mal hier im Forum:
http://forums.gentoo.org/viewtopic.php?p=1561711
http://forums.gentoo.org/viewtopic.php?t=67849

und unter:
http://www.lichtspiele.org/~equinox/dist_overlay

wir hoffen dass das jemand von euch noch benutzt ;)
_________________
AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel
Back to top
View user's profile Send private message
Rawk
n00b
n00b


Joined: 21 Dec 2003
Posts: 44

PostPosted: Tue Jan 04, 2005 5:03 pm    Post subject: Reply with quote

Vielen Dank für das nette Script. :)
Zwei Dinge sind mir aufgefallen:
- in DISTDIRS muss ein : stehen, auch wenn nur ein Verzeichnis eingetragen ist.
- in DIST_FETCH mit wget sollte man "-P ${DISTDIR}" ergänzen, damit die Datei auch im richtigen Ordner landet. Hatte mich erst gewundert warum, die Datei immer wieder runtergeladen wird, bis ich gemerkt hab, dass sie im aktuellen Verzeichnis gelandet ist. ;)
Back to top
View user's profile Send private message
Rawk
n00b
n00b


Joined: 21 Dec 2003
Posts: 44

PostPosted: Tue Jan 04, 2005 7:45 pm    Post subject: Reply with quote

Code:
if  ${DIST_COPY} ; then

lief bei mir nicht; habs dann mal in
Code:
if [ ${DIST_COPY} ]; then
geändert und
Code:
DIST_COPY=true
gesetzt.
Außerdem funktioniert deepscan nicht, da beim Aufruf von get_distfile $NEW_FILE und $DIR übergeben werden und $DIR einen Pfad aus $DISTDIRS enthält ohne den/die Unterordner. Ich hab mich dann mal versucht (obwohl ich (bisher) keine Ahnung vom shell scripting hab ;)) und das ist dabei herausgekommen:
Code:
 
# DIST_DEEPSCAN for searching in subdirectories
       if ( ${DIST_DEEPSCAN} ); then
          DIST_FIND_RESULT=`find "$DIR" ${DIST_DEEPSCAN_OPTS} -name "$NEW_FILE"`
        if [ -n "$DIST_FIND_RESULT"  ]; then
           LENGTH1=`expr length "$DIST_FIND_RESULT"`
           LENGTH2=`expr length "$NEW_FILE"`
           LENGTH=`expr $LENGTH1 - $LENGTH2`
           LENGTH=`expr $LENGTH - 1`
           DIR=`echo $DIST_FIND_RESULT | cut -c -$LENGTH`
           get_distfile $NEW_FILE $DIR
        fi

Ist vielleicht nicht die beste Möglichkeit, aber es funktioniert. ;)
Back to top
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Sat Jan 08, 2005 3:44 am    Post subject: Reply with quote

hallöle .. mal wieder was neues:

release v. 0.3.3
+echo $DISTDIRS | grep : > /dev/null || break
in function scan
--info parameter hinzugefügt
raus aus der endlosschleife wenn DISTDIRS kein : im string hat.

@Rawk: den von dir beschriebenen Fehler hab ich nur teilweise feststellen können.
die variablen $NEW_FILE und $DIR sind durchaus richtig gesetzt, in $NEW_FILE steht der dateiname der gefundenen datei, in $DIR das verzeichnis zur datei.
allerdings hattest du recht:
Code:
if [ ${DIST_COPY} ]; then
muss richtig sein, danke dafür, hab ich gleich mitgefixed für das neue release. :)

die jew. aktuelle version findet ihr übrigens unter http://lichtspiele.org/~equinox/dist_overlay

bis denn :)

ps: sarah, wenn du das hier mal lesen solltest: nimmst du bitte auch deine alten codeschnipsel raus (falls vorhanden) und anstelle davon nen verweis auf die url. thx :)
_________________
AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel
Back to top
View user's profile Send private message
d4rkn0va
n00b
n00b


Joined: 07 Jan 2005
Posts: 22

PostPosted: Sat Jan 08, 2005 6:09 pm    Post subject: Reply with quote

Ich versteh selbst nicht ganz wieso, aber auf jeden Fall kopiert das Script bei mir trotz DIST_COPY=false jede der gefundenen Dateien aus den anderen Verzeichnissen nach /usr/portage/distfiles.

Vll hat ja jemand noch diesen Fehler, bin irgendwie langsam am verzweifeln was ich noch machn koennte.

Nachtrag:
Die kritische Stelle sollte jawohl diese hier sein, scheint mir aber alles in Ordnung, trotzdem krieg ich das Mistding echt nicht zum linken!

Code:
   if [ ${DIST_COPY} ]; then
      write_log "(COPY) $1 ($DISTDIR)"
      echo -e "${GREEN} * ${NORMAL} copy file to distfiles\n\n"
      cp $2/$1 $DISTDIR
   else
      write_log "(SYMLINK) $1 ($DISTDIR -> $2)"
      echo -e "${GREEN} * ${NORMAL} make a link from distfiles to file\n\n"
      ln -sf $2/$1 $DISTDIR/$1
   fi



Nachtrag 2:
Selbst wenn ich das Script dazu zwinge, mir nen link zu machen statt die Datei zu kopieren, bricht mir mein emerge mit einem Fehler bei einem chown aufgrund read-only ab, da die gelinkte Datei bei mir auf DVD liegt.

Manuelles chown :portage funktioniert aber.

Sind das alles Fehler meinerseits oder sind diese Fehler sonst auch bekannt?
Back to top
View user's profile Send private message
Rawk
n00b
n00b


Joined: 21 Dec 2003
Posts: 44

PostPosted: Sun Jan 09, 2005 8:51 pm    Post subject: Reply with quote

Es muss wohl
Code:
if ( ${DIST_COPY} ); then
sein...

Das mit dem read-only ist bei mir auch aufgetreten (nfs). Wenn man dann nochmal emerge xyz macht gehts. Aber soweit ich das beurteilen kann liegt das an Portage und nicht an dem Script...
Back to top
View user's profile Send private message
Pette
n00b
n00b


Joined: 14 Feb 2004
Posts: 46
Location: Hamburg / Germany

PostPosted: Wed Jan 19, 2005 11:24 am    Post subject: Reply with quote

Hallo.

Ich bin hellauf begeistert von diesem tollen Skript!

Hab dennoch 2 Fragen/Anmerkungen:

1) Mein eines Dist_Overlay Verzeichnis wird per NFS von meinem Desktop-PC auf meinen Laptop gemountet. Wenn ich nun mit dem Laptop an der Uni bin und dort "emerge -uf" ausführe, versucht er natürlich auch dieses Verzeichnis zu mounten. Und das kann mit unter Minuten dauern, bis er gerafft hat, dass das Verzeichnis nicht gemountet werden kann.
Kann man den mount-Prozess irgendwie beschleunigen? Gibts da nicht ne Art "timout" Funktion?
Wäre cool.

2) Wenn er eine Datei auf dem Desktop zuhause gefunden hat, macht er einen Link dorthin. Wunderbar. Jedoch bricht das Skript sofort danach mit Fehler-Meldungen ab. Ich glaube diese Fehlermeldungen stehen in Zusammenhang mit dem getdelta-Skript. Bin mir aber nicht sicher.
Ich werde die Fehlermeldung nachreichen, sobald ich zuhause bin.


Greetz,
Pette
Back to top
View user's profile Send private message
d4rkn0va
n00b
n00b


Joined: 07 Jan 2005
Posts: 22

PostPosted: Mon Jan 31, 2005 2:42 pm    Post subject: Reply with quote

Also, das mit dem Read-Only-Fehler ist garantiert ein "Fehler" in Portage, allerdings gibts da sicher auch nen Fix dafür, egal wie dirty er ist..

Morgen rüst ich hier 60 Rechner auf gentoo um, spätestens dann brauch ich das Script, hat irgendwer noch Vorschläge?
_________________
AMD AthlonXP 3000+ @ 2,4GHz | 1 GB DDR-RAM | 2x160GB Samsung SATA (SoftRAID0)
=> gentoo 2.6.14-r1 | gcc-4.0.1 | gnome-2.12 [ stage 1 on 3 ]
Back to top
View user's profile Send private message
Pette
n00b
n00b


Joined: 14 Feb 2004
Posts: 46
Location: Hamburg / Germany

PostPosted: Wed Mar 23, 2005 7:20 pm    Post subject: Reply with quote

Hab gerade diesen Thread entdeckt:

HOWTO:Download Cache for your LAN-Http-Replicator (ver 3.0)

Hab mich noch nicht wirklich näher damit befasst, aber ist das nicht sowas in der Art wie DistOverlay?

Hat das hier schon jemand ausprobiert?


Greetz,
Pette
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
Goto page Previous  1, 2
Page 2 of 2

 
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