Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
#!/bin/bash PKGDIR=/var/db/pkg PORTDIR=/usr/portage TMPDIR=/tmp typeset -i IINSTALLED typeset -i INOTFOUND typeset -i IOK typeset -i INOK cleanup(){ cat $1 \ | grep -v '# $Header:' \ | grep -v 'KEYWORDS=' \ | sed 's/#.*//g' \ | grep -v 'HOMEPAGE=' \ | grep -v 'eerror' \ | grep -v 'einfo' \ | grep -v 'ewarn' \ | grep -v 'elog' \ | grep -v ^$ } for EINSTPATH in $(find $PKGDIR -name \*.ebuild); do CATEGORY=$(echo $EINSTPATH | sed 's#\(^/var/db/pkg/\)\(.*\)\(/.*/.*\)#\2#g') EBUILDNAME=$(echo $EINSTPATH | sed 's#^/var/db/pkg/.*/.*/##g') PACKNAME=$(echo $EINSTPATH | sed 's#\(^/var/db/pkg/.*/\)\([a-zA-Z0-9]*\)\(.*\)#\2#g') # echo $CATEGORY $EBUILDNAME $PACKNAME ENEWPATH=$PORTDIR/$CATEGORY/$PACKNAME*/$EBUILDNAME IINSTALLED=IINSTALLED+1 if [ -e $ENEWPATH ]; then OLD=$(cleanup $EINSTPATH) NEW=$(cleanup $ENEWPATH) if [ "$OLD" == "$NEW" ] ; then IOK=IOK+1 else echo =$CATEGORY/$EBUILDNAME | sed 's/.ebuild//g' INOK=INOK+1 if [ "$1" == '-v' ]; then echo "$OLD" > $TMPDIR/oldebuild echo "$NEW" > $TMPDIR/newebuild diff $TMPDIR/oldebuild $TMPDIR/newebuild fi fi else INOTFOUND=INOTFOUND+1 fi done if ! [ "$1" == '-q' ]; then echo "Installed: $IINSTALLED Notfound: $INOTFOUND OK: $IOK Not OK: $INOK" fi |
Quellcode |
|
1 |
emerge -va1 $(./checkmodebuilds.sh -q) |
Quellcode |
|
1 |
http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-office/openoffice/openoffice-2.4.0.ebuild?rev=1.16&view=log |
Ich auch..Ich bringe gerade mein Testsystem auch in dieser Hinsicht auf den neuesten Stand.
Ist Ardour zufällig aus einem Overlay installiert? Das Script kann noch keine Overlays und vergleicht somit mit dem ebuild aus dem Portage. Das würde das Verhalten erklären.Zitat
Einzig merkwürdig ist das zb media-sound/ardour auch direkt nach dem neu mergen als modifiziert erkannt wird,
Ja, es ist aus dem pro-audio OverlayIst Ardour zufällig aus einem Overlay installiert? Das Script kann noch keine Overlays und vergleicht somit mit dem ebuild aus dem Portage. Das würde das Verhalten erklären.
Hört sich gut an Ich drücke dir die Daumen das du es eines Tages mit dem Script bis in die portage-utils schaffstZur Zeit habe ich keine zeit an dem Skript weiter zu bauen. Es ist aber nicht in vergessenheit geraten.
Ist Ardour zufällig aus einem Overlay installiert? Das Script kann noch keine Overlays und vergleicht somit mit dem ebuild aus dem Portage. Das würde das Verhalten erklären.
Zitat
If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret. All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.
Fehlerberichte (in Englisch!) per E-Mail an: bonzini@gnu.org .
Verwenden Sie dabei den Begriff ``sed'' irgendwo in der ``Betreff:''-Zeile.
./checkmodebuilds.sh: line 25: s#\(^/var/db/pkg/\)\(.*\)\(/.*/.*\)#\2#g: Datei oder Verzeichnis nicht gefunden
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...
-n, --quiet, --silent
suppress automatic printing of pattern space
-e script, --expression=script
add the script to the commands to be executed
-f script-file, --file=script-file
add the contents of script-file to the commands to be executed
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
-l N, --line-length=N
specify the desired line-wrap length for the `l' command
--posix
disable all GNU extensions.
-r, --regexp-extended
use extended regular expressions in the script.
-s, --separate
consider files as separate rather than as a single continuous
long stream.
-u, --unbuffered
load minimal amounts of data from the input files and flush
the output buffers more often
--help display this help and exit
--version output version information and exit
If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret. All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.
Fehlerberichte (in Englisch!) per E-Mail an: bonzini@gnu.org .
Verwenden Sie dabei den Begriff ``sed'' irgendwo in der ``Betreff:''-Zeile.
./checkmodebuilds.sh: line 28: s#\(^/var/db/pkg/.*/\)\([a-zA-Z0-9]*\)\(.*\)#\2#g: Datei oder Verzeichnis nicht gefunden
emerge: the other white meat (command-line interface to the Portage system)
Usage:
emerge [ options ] [ action ] [ ebuildfile | tbz2file | dependency ] [ ... ]
emerge [ options ] [ action ] < system | world >
emerge < --sync | --metadata | --info >
emerge --resume [ --pretend | --ask | --skipfirst ]
emerge --help [ system | world | --sync ]
Options: -[abBcCdDefgGhkKlnNoOpqPsStuvV] [--oneshot] [--newuse] [--noconfmem]
[ --color < y | n > ] [ --columns ]
[ --reinstall changed-use ] [--nospinner]
[ --deep ] [--with-bdeps < y | n > ]
Actions: [ --clean | --depclean | --prune | --regen | --search | --unmerge ]
Help (this screen):
--help (-h short option)
Displays this help; an additional argument (see above) will tell
emerge to display detailed help.
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
#!/bin/sh #set -x I=/tmp/ebuild.installed C=/tmp/ebuild.portage cleanup () { sed 's/#.*//g' $1 | \ grep -v $1 \ -e "^$" \ -e 'KEYWORDS=' \ -e 'HOMEPAGE=' \ -e 'LICENSE=' \ -e 'SRC_URI=' \ -e 'eerror' \ -e 'einfo' \ -e 'ewarn' \ -e 'elog' } cd /var/db/pkg/ || exit 1 find . -mindepth 3 -type f -name '*.ebuild' |\ sort |\ while read FILE do EBUILD_INSTALLED=$(basename $FILE) PACKAGE=$(echo $EBUILD_INSTALLED | cut -f1 -d '.') CATEGORIE=$(echo $FILE | cut -f2 -d'/') EBUILD_PORTAGE=$(ls /usr/portage/$CATEGORIE/$(echo $PACKAGE | cut -f1 -d'-')*/$EBUILD_INSTALLED 2>/dev/null) [[ -f $EBUILD_PORTAGE ]] || continue cleanup $FILE > $I cleanup $EBUILD_PORTAGE > $C DIFF=$(diff $I $C 2>/dev/null) if [[ $? -eq 1 ]]; then if [[ "$1" = "-q" ]]; then echo "=$CATEGORIE/$EBUILD_INSTALLED" | sed 's/.ebuild$//g' else echo -e "$CATEGORIE/$(basename $(dirname $EBUILD_PORTAGE))\t$EBUILD_INSTALLED" fi [[ "$1" = "-v" ]] && echo -e "$DIFF\n" fi rm $I $C done |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »bell« (18.05.2008, 16:07)