Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Deutsches Forum (German)
  • Search

mehrere distfiles verzeichnisse?

Support-Forum
Diskussionen rund um Installation, Betrieb und Anpassungen von Gentoo und dessen Paketen sowie dabei auftretenden (technischen) Problemen.
Deutsches Portal: www.gentoo.de
Post Reply
  • Print view
Advanced search
41 posts
  • 1
  • 2
  • Next
Author
Message
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

mehrere distfiles verzeichnisse?

  • Quote

Post by sarahb523 » Mon Sep 13, 2004 7:21 pm

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
Top
Romses
Apprentice
Apprentice
User avatar
Posts: 257
Joined: Tue Jan 20, 2004 2:33 pm
Location: Frankfurt

  • Quote

Post by Romses » Mon Sep 13, 2004 7:31 pm

Hi

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

Gruß Romses
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Mon Sep 13, 2004 7:40 pm

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
Top
psyqil
Advocate
Advocate
User avatar
Posts: 2767
Joined: Mon May 26, 2003 8:17 pm

  • Quote

Post by psyqil » Mon Sep 13, 2004 7:59 pm

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

Wie wäre denn, file://media/dvd bei GENTOO_MIRRORS einzutragen?
Top
Anarcho
Advocate
Advocate
User avatar
Posts: 2970
Joined: Sun Jun 06, 2004 7:51 pm
Location: Germany

  • Quote

Post by Anarcho » Mon Sep 13, 2004 8:12 pm

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....
Top
psyqil
Advocate
Advocate
User avatar
Posts: 2767
Joined: Mon May 26, 2003 8:17 pm

  • Quote

Post by psyqil » Mon Sep 13, 2004 8:23 pm

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!
Top
equinox0r
l33t
l33t
User avatar
Posts: 614
Joined: Wed Feb 18, 2004 12:39 am
Contact:
Contact equinox0r
Website

  • Quote

Post by equinox0r » Mon Sep 13, 2004 8:58 pm

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
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Mon Sep 13, 2004 9:18 pm

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
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Mon Sep 13, 2004 11:17 pm

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.
Last edited by sarahb523 on Mon Sep 13, 2004 11:52 pm, edited 1 time in total.
AMD Sempron 2400+ / 1GB RAM / NVidia Geforce 5200FX /
Kernel 2.6.31-gentoo-r4 / kde 4.3
Top
equinox0r
l33t
l33t
User avatar
Posts: 614
Joined: Wed Feb 18, 2004 12:39 am
Contact:
Contact equinox0r
Website

  • Quote

Post by equinox0r » Mon Sep 13, 2004 11:35 pm

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

ich mach mich mal an "# - colored and better formated output" dran ;)
Last edited by equinox0r on Tue Sep 14, 2004 5:09 pm, edited 2 times in total.
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
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Mon Sep 13, 2004 11:50 pm

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: Select all

#!/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
Last edited by sarahb523 on Fri Sep 17, 2004 6:04 am, edited 9 times in total.
AMD Sempron 2400+ / 1GB RAM / NVidia Geforce 5200FX /
Kernel 2.6.31-gentoo-r4 / kde 4.3
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Tue Sep 14, 2004 12:10 am

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
Top
equinox0r
l33t
l33t
User avatar
Posts: 614
Joined: Wed Feb 18, 2004 12:39 am
Contact:
Contact equinox0r
Website

  • Quote

Post by equinox0r » Tue Sep 14, 2004 1:33 am

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 http://forums.gentoo.org/viewtopic.php? ... 11#1561711 zu finden ... (bis sarah die alte version 2 threads weiter oben upgedated hat .... )
Last edited by equinox0r on Tue Sep 21, 2004 11:21 pm, edited 2 times in total.
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
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Tue Sep 14, 2004 8:12 am

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
Top
equinox0r
l33t
l33t
User avatar
Posts: 614
Joined: Wed Feb 18, 2004 12:39 am
Contact:
Contact equinox0r
Website

  • Quote

Post by equinox0r » Tue Sep 14, 2004 5:02 pm

hmm...

Code: Select all

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: Select all

DIST_FETCH="/usr/bin/wget -t 1 --passive-ftp -O ${URI}"
-O braucht einen dateinamen
Last edited by equinox0r on Thu Sep 16, 2004 1:42 am, edited 1 time in total.
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
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Tue Sep 14, 2004 7:07 pm

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
Top
equinox0r
l33t
l33t
User avatar
Posts: 614
Joined: Wed Feb 18, 2004 12:39 am
Contact:
Contact equinox0r
Website

  • Quote

Post by equinox0r » Tue Sep 14, 2004 8:18 pm

sarahb523 wrote:

Code: Select all

       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: Select all

       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
Top
equinox0r
l33t
l33t
User avatar
Posts: 614
Joined: Wed Feb 18, 2004 12:39 am
Contact:
Contact equinox0r
Website

  • Quote

Post by equinox0r » Tue Sep 14, 2004 9:32 pm

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
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Tue Sep 14, 2004 11:30 pm

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
Top
equinox0r
l33t
l33t
User avatar
Posts: 614
Joined: Wed Feb 18, 2004 12:39 am
Contact:
Contact equinox0r
Website

  • Quote

Post by equinox0r » Wed Sep 15, 2004 12:14 am

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: Select all

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
Last edited by equinox0r on Fri Sep 17, 2004 7:41 pm, edited 1 time in total.
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
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Wed Sep 15, 2004 5:56 pm

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
Top
equinox0r
l33t
l33t
User avatar
Posts: 614
Joined: Wed Feb 18, 2004 12:39 am
Contact:
Contact equinox0r
Website

  • Quote

Post by equinox0r » Wed Sep 15, 2004 11:36 pm

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?
Last edited by equinox0r on Fri Sep 17, 2004 1:08 am, edited 1 time in total.
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
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Thu Sep 16, 2004 9:01 am

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
Top
sarahb523
Guru
Guru
Posts: 423
Joined: Wed Mar 10, 2004 10:25 am
Location: Berlin

  • Quote

Post by sarahb523 » Thu Sep 16, 2004 1:02 pm

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
Top
equinox0r
l33t
l33t
User avatar
Posts: 614
Joined: Wed Feb 18, 2004 12:39 am
Contact:
Contact equinox0r
Website

  • Quote

Post by equinox0r » Thu Sep 16, 2004 11:16 pm

*jubel*
wieder internet daheim :)

hier mal übrigens die ausgabe von dist_overlay:

Code: Select all

[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
Top
Post Reply
  • Print view

41 posts
  • 1
  • 2
  • Next

Return to “Deutsches Forum (German)”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic