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 1, 2  Next  
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: Mon Sep 13, 2004 7:21 pm    Post subject: mehrere distfiles verzeichnisse? Reply with quote

Hi,

gibt es ne möglichkeit mehr als ein distfiles directory zu definieren? Ich habe oft quellen auf cd/dvd. Ich möchte das (aus paltzgründen) nicht immer in /usr/portage/distfiles kopieren. Allerdings hab ich in diesem verzeichnis auch dateien (die ich selbst heruntergeladen habe) die ich brauche. Klar ich könnte immer ein anderes $DISTDIR definieren, aber das setzt immer vorraus das ich weiß wo die betreffende datei liegt. Das ist aber extrem umständlich und macht mehr arbeit als es nutzt.
_________________
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
Romses
Apprentice
Apprentice


Joined: 20 Jan 2004
Posts: 257
Location: Frankfurt

PostPosted: Mon Sep 13, 2004 7:31 pm    Post subject: Reply with quote

Hi

Das klingt für mich nach einem Fall für Portage Overlay
oder verstehe ich dich da falsch?

Gruß Romses
Back to top
View user's profile Send private message
sarahb523
Guru
Guru


Joined: 10 Mar 2004
Posts: 423
Location: Berlin

PostPosted: Mon Sep 13, 2004 7:40 pm    Post subject: Reply with quote

gilt das auch für distfiles? denn wenn ich sachen die im overlay liegen download (bzw. emerge downloaded) landen die in /usr/portage/distfiles. Dies verhalten finde ich auch okay.
Allerdings würde ich gern noch 2 weitere $DISTDIR 's nach /media/dvd und nach /home/daten2/archiv/distfiles legen. Also instgesamt möchte ich das emerge an 3 orten nach distfiles sucht bevor es welche herunterlädt. Wenn was heruntergeladen wird soll es in /usr/portage/distfiles landen.
_________________
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
psyqil
Advocate
Advocate


Joined: 26 May 2003
Posts: 2767

PostPosted: Mon Sep 13, 2004 7:59 pm    Post subject: Reply with quote

Also, der Amiga konnte das... :wink:

Wie wäre denn, file://media/dvd bei GENTOO_MIRRORS einzutragen?
Back to top
View user's profile Send private message
Anarcho
Advocate
Advocate


Joined: 06 Jun 2004
Posts: 2970
Location: Germany

PostPosted: Mon Sep 13, 2004 8:12 pm    Post subject: Reply with quote

psyqil wrote:
Also, der Amiga konnte das... :wink:

Wie wäre denn, file://media/dvd bei GENTOO_MIRRORS einzutragen?


Klingt nicht schlecht, würde aber bedeuten das er die Sachen dann doch in das normale distfiles kopiert, denn er würde sie ja trotzdem runterladen, nur eben von Platte oder CD/DVD.
Dann kann man sie auch manuell kopieren.
Das einzige was mir so spontan einfallen würde, wäre ein script welches links auf alle anderen Dateien macht und ein aufräumscript, welches die Links wieder beseitigt.

Alternativ kannst du dir auch ein Script schreiben, welches parameter gesteuert distfiles als link setzt.
Dann benennst du distfiles in distfiles-alt (oder was anderes) um und setzt nen link mit namen distfiles drauf.
Wenn das Script dann mit parameter "dvd" aufgerufen wird, dann löscht es den link und setzt nen neuen auf das dvd-laufwerk, analog mit der anderen platte.

Nur so ein paar überlegungen....
Back to top
View user's profile Send private message
psyqil
Advocate
Advocate


Joined: 26 May 2003
Posts: 2767

PostPosted: Mon Sep 13, 2004 8:23 pm    Post subject: Reply with quote

file://... macht wget auch nicht mit, schade...

mount -bind wäre nicht ganz schlecht, aber da kann man genausogut $DISTDIR ändern...

Nee, symlinks klingen erstmal gut, prima Idee, man muß die vielleicht auch gar nicht jedesmal löschen, solange sie noch aktuell sind, d.h. die CD/DVD noch irgendwo existiert!
Back to top
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Mon Sep 13, 2004 8:58 pm    Post subject: Reply with quote

wenn ihr dazu was rausgefunden habt würde mich das sehr interessieren :)
hatte eine art "distdir_overlay" im sinn, aber das gibts ja leider nicht ..

ich hab das jetzt mit distfiles auf fileserver via nfs gelöst.. prinzipiell wär so ein overlay aber nicht verkehrt ...
_________________
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
sarahb523
Guru
Guru


Joined: 10 Mar 2004
Posts: 423
Location: Berlin

PostPosted: Mon Sep 13, 2004 9:18 pm    Post subject: Reply with quote

das mit den links hört sich gut an.
Man könnte ein eigenes fetch command machen (wie im "75% weniger downloads" thread). Dieses würde schauen ob es die geforderte datei in den alternativen dir's gibt (im distfiles ist es ja nich, da das fetch aufgerufen wird). Wenn es die datei in den alternativen dirs gibt, wird ein link in's reguläre distfiles gemacht.

Der vorteil:
es existieren nur links zu files die man wirklich gemerged hat

nachteil:
links bleiben immer erhalten, also es wird nicht aufgeräumt (wie auch bei den regulären datein in distfiles).

Um das zu lösen könnte man ein script schreiben, welche alle (evtl. nur die toten) links löscht. ODER wenn es ein command aufruf (wie die fetchcommand variable) gibt, welches nach der install aufgerufen wird, könnte man den betreffenden link ja auch gleich wieder löschen. Dann bleibt distfiles immer sauber

Man könnte das ganze noch so erweitern, das man beim fetch gefragt wird ob automatisch cd/nfs/.. eingebunden werden soll.
_________________
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
sarahb523
Guru
Guru


Joined: 10 Mar 2004
Posts: 423
Location: Berlin

PostPosted: Mon Sep 13, 2004 11:17 pm    Post subject: Reply with quote

da ich gerade irgendwie nich schlafen und auch nich sonderlich müde bin hab ich mal was gebastelt. Erklärungen wie es geht steht im script header. Mir ist bewußt das mein script noch nicht ausgereift ist und ggf. etwas umständlich ist. Wer verbesserungsvorschläge/erweiterungen hat, kann sie hier gleich mal posten

Als basis diente mir das getdeltup.sh script - thx to the author :-D

EDIT
um ein wenig platz zu sparen. hab ich hier den code rausgenommen. der neuere code siehe 2 postings weiter unten.

_________________
AMD Sempron 2400+ / 1GB RAM / NVidia Geforce 5200FX /
Kernel 2.6.31-gentoo-r4 / kde 4.3


Last edited by sarahb523 on Mon Sep 13, 2004 11:52 pm; 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: Mon Sep 13, 2004 11:35 pm    Post subject: Reply with quote

i love you !!! :) :) :) :)

ich mach mich mal an "# - colored and better formated output" dran ;)
_________________
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 14, 2004 5:09 pm; edited 2 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: Mon Sep 13, 2004 11:50 pm    Post subject: Reply with quote

equinox0r wrote:

i love you !!!

ich mach mich mal an "# - colored and better formated output" dran


1) das macht schon jemand anders, aber trotzdem danke :-)
2) das hab ich mal so nebenbei auch erledigt

ich wäre an einem guten system für das löschen interessiert. Also dafür sollte man auf der konsole z.b.
dist_overlay.sh --clean-all-dead
aufrufen um das distfiles zu säubern. Schön wäre auch wenn man das ganze mit loggt und dann später nur die geloggten files löscht

EDIT: code aktualisiert
Code:

#!/bin/bash
 # distfiles overlay script - dist_overlay.sh
 #
 # version 0.2.3
 # INSTALL
 # - copy this script to /usr/local/bin
 # - add  FETCHCOMMAND="/usr/local/bin/dist_overlay.sh \${URI}" to make.conf
 # - modify following var's to your needs or set it in make.conf
 # var's in make.conf have higher priority
 # see http://forums.gentoo.org/viewtopic.php?p=1535632
 #
 
 # a : seperated list to the directories containing distfiles
 # (cd-rom/dvd-rom/samba/nfs are checked to be mount)
 DISTDIRS="/mnt/dvd:/mnt/cdrecorder"
 
 # command for fetching the file, if it wasn't found.
 #DIST_FETCH="/usr/local/bin/getdelta.sh"   # for deltup user
 DIST_FETCH="/usr/bin/wget -t 1 --passive-ftp"
 
 #file for log activity, enter a empty string to disable log writing
 DIST_LOG="/var/log/dist_overlay.log"
 
 # set true for coping a file instead of making a link
 DIST_COPY=false

# be more verbose
 DIST_VERBOSE=false

 #### planed for further releases
 # other distfiles location which needs to be mounted
 # (nfs,cd,dvd,samba,...)
 # MOUNT_DISTDIRS=""
 
 # set to true to search for distfiles in subdirectories
 DIST_DEEPSCAN=true
 
 # options for find in deepscan
 DIST_DEEPSCAN_OPTS="-follow"
 
 ###########################################################
 # ---! you do not need to change anything below this !--- #
 #                                                         #
 ###########################################################
 # include variables from gentoo make.globals and make.conf
 source /etc/make.globals
 source /etc/make.conf

 # some colors for colored output
 
 if $COLOR
 then
    RED="\033[01;31m"
    GREEN="\033[01;32m"
    YELLOW="\033[01;33m"
    BLUE="\033[01;34m"
    MAGENTA="\033[01;35m"
    CYAN="\033[01;36m"
    NORMAL="\033[00m"
 else
    RED=""
    GREEN=""
    YELLOW=""
    BLUE=""
    MAGENTA=""
    CYAN=""
    NORMAL=""
 fi
 
 # log writing stuff
 function write_log {
    if [ -n "$DIST_LOG" ]; then
       stamp=`date +%s`
       echo "$stamp: $@" >> $DIST_LOG
    fi
    if ${DIST_VERBOSE} ; then
       echo " >>> $stamp: $@"
   fi
 }
 
 # deleting symlinks (from clean mode)
 function delete {
    write_log "(DELETE/CLEAN) $DISTDIR/$1"
    echo -e "${RED}\n*${NORMAL} Deleting symlink $1 (no such file)\n";
    rm $DISTDIR/$1
 }
 
 # clean dead symlinks in $DISTDIR
 function clean {
    link_files=`ls -l "$1"| grep ^l| awk '{print $9}'`
    for name in $link_files; do [ -f $name ] || delete $name; done
 }
 
 # copy or symlink distfile to $DISTDIR
 function get_distfile {
    FILE="$1"
    DIR="$2"
 
    echo -e "${GREEN}file found!\n${NORMAL}"
 
    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 file to distfiles\n\n"
       ln -sf $2/$1 $DISTDIR/$1
    fi
 
    FETCHED=true
    break
 }
 
 # search for distfiles in overlay
 function scan {
    ORIG_URI="$1"
    NEW_FILE=$(basename "$ORIG_URI")
       
    echo -e "${GREEN}\n * ${NORMAL}searching for $NEW_FILE"
    DIR=`echo $DISTDIRS | cut -d ":" -f 1`
     
    i=1
    FETCHED=false
   
    while [[ -n "$DIR" ]]
    do
       echo -ne "    ${NORMAL}scanning $DIR ... "
 
       # 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
             get_distfile $NEW_FILE $DIR
          fi   
       elif [ -e "$DIR/$NEW_FILE" ]; then
           get_distfile $NEW_FILE $DIR
       fi
       
 
       echo -e "${YELLOW}file not found.${NORMAL}"
 
       i=`expr $i + 1`
       DIR=`echo $DISTDIRS | cut -d ":" -f $i`
    done
 
    if ! ${FETCHED}; then
       write_log "(FETCH) $ORIG_URI"
       echo -e "${RED}\n * Requested file is not in distfiles overlay."
       echo -e "${GREEN} * ${NORMAL}Fetching file from original URI\n   $ORIG_URI\n"
       $DIST_FETCH -O $DISTDIR/$NEW_FILE $ORIG_URI
    fi
 }
 
 case "$1" in
    "clean")
       clean $DISTDIR
    ;;
    *)
       scan $1
    ;;
 esac
 
 exit 0

_________________
AMD Sempron 2400+ / 1GB RAM / NVidia Geforce 5200FX /
Kernel 2.6.31-gentoo-r4 / kde 4.3


Last edited by sarahb523 on Fri Sep 17, 2004 6:04 am; edited 9 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 14, 2004 12:10 am    Post subject: Reply with quote

leider funzt deltup jetzt nicht mehr, ich denke da gibts irgendwelche konflike mit den var names in den scripten, ich checke das mal

EDIT
hab den fehler gefunden und oben korrigiert. getdeltup.sh und dist_overlay.sh haben beide die variable FETCH genutzt. Dadurch gabs eine lustige rekursion seintens getdeltup.sh. Ich habe nun im script FETCH durch DIST_FETCH getauscht. In meiner make.conf hab ich DIST_FETCH="/usr/local/bin/getdelta.sh"
da ich deltup benutze. Mein DISTDIRS hab ich auch in die make.conf gepackt, das is irgendwie sauberer ;-)
- so und jetzt geh ich schlafen!

_________________
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 14, 2004 1:33 am    Post subject: Reply with quote

ich hab das für meine zwecke noch etwas abgeändert, teilweise vervollständigt etc, aber noch nicht getestet.. mein rechner daheim ist abgeschmiert bzw. fährt nicht mehr hoch, kanns also erst heute mittag testen ...

danke nochmal sarah, is was nettes draus geworden :-D

EDIT: code rausgenommen um platz zu sparen ...
das vollständige gibts 2 threads weiter oben ;)

EDIT: neue version 0.3.2 ist jetz unter https://forums.gentoo.org/viewtopic.php?p=1561711#1561711 zu finden ... (bis sarah die alte version 2 threads weiter oben upgedated hat .... )
_________________
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 11:21 pm; edited 2 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 14, 2004 8:12 am    Post subject: Reply with quote

ich habe es jetzt noch nicht großartig getestet, aber es scheint zu gehen. Weiterhin habe ich oben noch mal ein paar schönheitskorrekturen gemacht und auch noch ne "copy distfiles" funktion reingebastelt, denn das könnte evtl. auch ganz nützlich sein.
_________________
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 14, 2004 5:02 pm    Post subject: Reply with quote

hmm...
Code:
DIST_FETCH="/usr/bin/wget -t 1 --passive-ftp -O $DISTDIR"

das "-O $DISTDIR" fand ich schon ganz praktisch bzw. sicherer, falls mal irgendwo was schiefgehen sollte ... deshalb hab ich auch "source /etc/make.conf" nach oben gezogen...

werd das morgen mal bei mir richtig testen :)

moep an alle
equi

EDIT abgeändert in:
Code:
DIST_FETCH="/usr/bin/wget -t 1 --passive-ftp -O ${URI}"

-O braucht einen dateinamen
_________________
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 Thu Sep 16, 2004 1:42 am; 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: Tue Sep 14, 2004 7:07 pm    Post subject: Reply with quote

habs oben geändert. ich bin heute auch schon am testen, bisher keine probleme...
_________________
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 14, 2004 8:18 pm    Post subject: Reply with quote

sarahb523 wrote:
Code:
       if [ -e "$DIR/$NEW_FILE" ]; then
          write_log "(SYMLINK) $NEW_FILE ($DISTDIR -> $DIR)"
          echo -e "${GREEN}file found!\n${NORMAL}"
          if [ $DIST_COPY = "1" ]; then
            echo -e "${GREEN} * ${NORMAL} copy file to distfiles\n\n"
            cp $DIR/$NEW_FILE $DISTDIR
          else
            echo -e "${GREEN} * ${NORMAL} make a link from file to distfiles\n\n"
            ln -sf $DIR/$NEW_FILE $DISTDIR/$NEW_FILE
          fi
          FETCHED=true
          break
       fi

tust du da bitte noch was abändern? (log-krams)
Code:
       if [ -e "$DIR/$NEW_FILE" ]; then
          echo -e "${GREEN}file found!\n${NORMAL}"
          if [ $DIST_COPY = "1" ]; then
            write_log "(COPY) $NEW_FILE ($DISTDIR)"
            echo -e "${GREEN} * ${NORMAL} copy file to distfiles\n\n"
            cp $DIR/$NEW_FILE $DISTDIR
          else
            write_log "(SYMLINK) $NEW_FILE ($DISTDIR -> $DIR)"
            echo -e "${GREEN} * ${NORMAL} make a link from file to distfiles\n\n"
            ln -sf $DIR/$NEW_FILE $DISTDIR/$NEW_FILE
          fi
          FETCHED=true
          break
       fi


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
Back to top
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Tue Sep 14, 2004 9:32 pm    Post subject: Reply with quote

sarahb523 wrote:
Man könnte das ganze noch so erweitern, das man beim fetch gefragt wird ob automatisch cd/nfs/.. eingebunden werden soll.

was genau meinst du eigentlich damit?
_________________
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
sarahb523
Guru
Guru


Joined: 10 Mar 2004
Posts: 423
Location: Berlin

PostPosted: Tue Sep 14, 2004 11:30 pm    Post subject: Reply with quote

naja man könnte eine liste von temporär vorhandenen laufwerken (cd,smb,nfs,...) definieren, die dann wenn sie nicht eingebunden sind, eingebunden werden. Dann könnte man noch eine var IGNORE_MOUNT_FAIL machen. Wenn diese gesetzt ist, wird ein mount fehler ignoriert. Wenn diese nicht gesetzt ist, wird der user gefragt was zu machen ist (abort,retry,ignore). dies kann praktisch sein wenn man vergessen hat die cd einzulegen oder den netz-pc einzuschalten. außerdem muß man nicht mehr selbst mounten. Mit einer var "AUTO_UMOUNT" könnte man nach abschluß des scriptes die laufwerke wieder unmounten. Dies macht aber nur bei schnelleren netzlaufwerken sinn, da das ständige mount/umount bei z.b. einem emerge -u world viel zeit fressen würde.

Also im prinzip bin ich erstmal mit dem zufrieden so wie es ist, allerdings könnte man in dem script noch ne menge reinbasteln. irgendwann könnte man das auch noch mit dem deltup script zu einem "ultimate-fetch-script" verschmelzen. Mir würden spontan auch noch ein paar weitere sachen einfallen, z.b. prüfung der datei, falls fehlerhaft wird kein link gemacht und ggf. im nächsten distdir gesucht.

Ehrlich gesagt hätte ich nicht gedacht wie komplex das "herunterladen" der distfiles werden kann, aber linux/gentoo läßt einem hier soviel kreative freiheit....
_________________
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: Wed Sep 15, 2004 12:14 am    Post subject: Reply with quote

bin jetzt grad bissl am basteln und hab da was zusammengescriptet, mit dem man diese liste realisieren könnte, aber das ist keine feine lösung finde ich ....
Code:
TMP_DISTDIRS=(/dev/hda1 /mnt/bla /dev/hdb1 /mnt/xxx /dev/hdc4 /mnt/blubb)
VAR=0
LIMIT=`echo $[ ${#ARR[@]} / 2]`
for ((a=0; a < LIMIT ; a++)); do
        V1=${ARR[$VAR]}
        let "VAR+=1"
        V2=${ARR[$VAR]}
        echo "mounte $V1 nach $V2"
        let "VAR+=1"
done

fällt dir dazu was besseres ein?
(solved -> version 0.2.9 function check_mount)

um das md5 einer datei zu kennen brauchst du dann übrigens noch den namen vom paket (kriegst mit qpkg --find-pattern und dann kannst du das mit --md5-check überprüfen lassen ... allerdings find ich das nicht so sinnvoll, das macht portage schon.
ist das file korrupt wirds sowieso mit dem dist_overlay script wieder geholt ;)

auto_umount wird auch nicht ganz einfach, das script weiss ja nicht wann portage nicht mehr danach sucht bzw. benötigt ... oder seh ich das falsch?

tja .. komplex is das alles schon ;)
ich hab ein ~200 zeilen bash script gebastelt um grundlegend ein programm starten und beenden zu können ... o_O
_________________
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 Fri Sep 17, 2004 7:41 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: Wed Sep 15, 2004 5:56 pm    Post subject: Reply with quote

hmm fein is das nich, aber es könnte gehen. naja das is aber auch nich so wichtig. das auto_umount ist nur mit dist_copy=1 sinnvoll. Die quelle könnte hier ein nfs server im lan sein, der für alle die pakete archiviert. Falls dann doch mal was benötigt wird kann eine workstation sich die vermissten files wieder holen. Aber ka. ob das so sinn macht.

Viel interressanter würde ich DIST_DEEPSCAN finden. Denn es wäre durchaus praktisch wenn auch die subdirs eines distdirs auch mit durchsucht werden. besonders bei der DVD verwendung (mit multisession gebrannt) ist das ideal, da ich mir meine Pakete in ordnern ablegen kann ... wenn du lust hast... ;-)
_________________
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: Wed Sep 15, 2004 11:36 pm    Post subject: Reply with quote

sooooodele ;)

also ich hab gebastelt (aber nicht getestet, hab daheim kein funktionierendes internet) ...
neue version mit DIST_DEEPSCAN, ich hoffe mal ich hab das so einigermaßen hinbekommen wie du dir das vorgestellt hast ...

achtung: function scan hat sich ziemlich verändert !
EDIT: noch ein kleines bugfix in DIST_FETCH und etwas weiter kommentiert ...

<caps-lock>CODE RAUSGENOMMEN</caps-lock>

was meinste? ;)

übrigens: wenn man mehrere mirrors in seine mirrorlist eingetragen hat und wie ich gerade internetlos ist, wird (bei mir) 3mal versucht die datei von einem der server zu laden und natürlich auch 3mal dist_overlay aufgerufen.. etwas unpraktisch ... sollte man das am besten über das log lösen?
_________________
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 Fri Sep 17, 2004 1:08 am; 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: Thu Sep 16, 2004 9:01 am    Post subject: Reply with quote

ich habe es mal getestet und ein paar bugs behoben. (code siehe oben)

das -O .... in DIST_FETCH ist buggy, deshalb habe ich es direkt unten beim aufruf des fetch kommandos eingebaut. Das if mit dem find hat auch nich ganz so gefunzt, jetzt sollte es gehen
_________________
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
sarahb523
Guru
Guru


Joined: 10 Mar 2004
Posts: 423
Location: Berlin

PostPosted: Thu Sep 16, 2004 1:02 pm    Post subject: Reply with quote

das source make.conf nach oben zu ziehen war keine gute idee, da dadurch die optionen des scripts eine höhere priorität erhalten. dies ist aber nachteilig, da es schon eine schöne sache ist die optionen global in der make.conf festzulegen.

code ist geändert worden...
_________________
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: Thu Sep 16, 2004 11:16 pm    Post subject: Reply with quote

*jubel*
wieder internet daheim :)

hier mal übrigens die ausgabe von dist_overlay:
Code:
[01:10:54] [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 a while

 * searching for whois_4.6.6.tar.gz
    scanning /data/mp3 (DEEPSCAN) file not found
    scanning /mnt/dvd (DEEPSCAN) file not found
    scanning /mnt/burn (DEEPSCAN) file not found
    scanning /mnt/dist (DEEPSCAN) file found
 * creating symlink from file to distfiles
Now starting merge...

....


funzt doch prima :)
_________________
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
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Goto page 1, 2  Next
Page 1 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