salex schrieb:
Hi....
Weiter oben wurde ein Script vorgestellt, welches das einfache updaten/upgraden möglich macht.
Danke an den Autor, der da echt gute Arbeit geleistet hat..
Leider findet das Script bei mir die pkgchk.conf nicht...
269 /usr/sandbox/pkgchk.conf
cat: pkgchk.conf: No such file or directory
Im Script habe ich:
# ohne Beruecksichtigung von ${PKGSRCDIR}/pkgchk.conf
pkg_chk -iC ${SANDKISTE}/${PKGCHKCONF}
#
# mit Beruecksichtigung von ${PKGSRCDIR}/pkgchk.conf
#pkg_chk -cC ${SANDKISTE}/${PKGCHKCONF}
#
# ein gezieltest Package
#echo "misc/openoffice" >> ${SANDKISTE}/${PKGCHKCONF}
Es wird also -i ausgeführt. Eine /usr/pkgsrc/pkgchk.conf existiert nicht, brauche ich SO ja auch nicht.
Es muss also in /usr/sandbox eine pkgchk.conf angelegt werden, das macht doch dieses Kommando:
pkg_chk -iC ${SANDKISTE}/${PKGCHKCONF}
Leider funktioniert es nicht... Es wird nichts angelegt!
Auch wenn ich das Kommando ausserhalb des Scripts ausführe.
Das Script nutze ich schon lange nicht mehr. Als ich pkg_comp ausprobiert hatte fand ich es besser und nutze es jetzt.
Ganz kurz gesagt, macht das alte Script aus Beitrag "Nr. 41" folgendes:
################################################################################
### Mit dem "mksandbox"-Script in der Sandkiste
###--------------------------------------------------------------------------###
###
### "mk/bulk/mksandbox" arbeitet mit null-mountpoints aus dem aktuellen System:
###
### # Sandkiste bauen
### /usr/pkgsrc/mk/bulk/mksandbox --pkgsrc=/usr/pkgsrc --src=/usr/src --xsrc=/usr/xsrc /usr/sandbox
###
### # Sandkiste nutzen
### /usr/sandbox/sandbox mount
### chroot -u root /usr/sandbox /bin/sh -c "cd /usr/pkgsrc/sysutils/mc/ && make package clean-depends clean"
### /usr/sandbox/sandbox umount
###
### # Sandkiste löschen
### rm -fr /usr/sandbox
###
################################################################################
UND mit pkg_comp kann man es z.B. so machen:
################################################################################
### Mit "pkg_comp" in der Sandkiste
###--------------------------------------------------------------------------###
###
### "pkgtools/pkg_comp" benötigt die kompletten "Release-Sets" und wird so
### aufgerufen:
###
###==========================================================================###
### Quellen holen/updaten
###--------------------------------------------------------------------------###
###
### zuerst braucht man die kompletten Quellen (NetBSD 3.x):
### cd /usr
### rm -fr obj
### mkdir -p obj
### cvs -q -d
anoncvs@anoncvs.netbsd.org:/cvsroot checkout -PAR pkgsrc
### cvs -q -d
anoncvs@anoncvs.netbsd.org:/cvsroot checkout -rnetbsd-3 -PAR src
### cvs -q -d
anoncvs@anoncvs.netbsd.org:/cvsroot checkout -rnetbsd-3 -PAR xsrc
### cd pkgsrc && make index
###
###
### wenn schon Quellen da sind, werden wir sie aktuallisieren (NetBSD 3.x):
### cd /usr
### cvs -q -d
anoncvs@anoncvs.netbsd.org:/cvsroot update -PARd pkgsrc
### cvs -q -d
anoncvs@anoncvs.netbsd.org:/cvsroot update -rnetbsd-3 -PARd src
### cvs -q -d
anoncvs@anoncvs.netbsd.org:/cvsroot update -rnetbsd-3 -PARd xsrc
### cd pkgsrc && make index
###
###
###==========================================================================###
### Sets bauen
###--------------------------------------------------------------------------###
###
### jetzt können wir die Sets bauen:
### vi /etc/mk.conf (siehe auch "/usr/src/BUILDING")
### PAGER=less
### MKUNPRIVED=yes
### MAKEOBJDIRPREFIX=/var/tmp/build
### RELEASEDIR=/var/tmp/release
### MKX11=yes
### ACCEPTABLE_LICENSES+=lame-license
### ACCEPTABLE_LICENSES+=skype-license
### PKG_OPTIONS.bash=multibyte static
### PKG_SUFX=".tbz"
### CVSUP_STATIC=yes
###
### cd /usr/src/
### ./build.sh tools kernel=GENERIC releasekernel=GENERIC release sets
###
###==========================================================================###
###
### Wenn die gesaugten Quellen aktueller sind als das installierte System,
### sollte man jetzt ein Binär-Update durchführen, um die Sandkiste und das
### Basis-System in gleicher Version zu haben.
###
###==========================================================================###
### pkg_comp aktivieren
###--------------------------------------------------------------------------###
###
### jetzt können wir pkg_comp konfigurieren:
### cd /usr/pkgsrc/pkgtools/pkg_comp && make package clean-depends clean
### pkg_comp maketemplate
### vi /root/pkg_comp/default.conf
### DEPENDS_TARGET="package"
### BINPKG_SITES="#defined"
### MKCONF_VARS="$MKCONF_VARS $DEPENDS_TARGET $BINPKG_SITES"
### DISTRIBDIR=/var/tmp/release/i386
### REAL_PKGSRC=/usr/pkgsrc
### SETS_X11="xbase.tgz xcomp.tgz xetc.tgz xfont.tgz xserver.tgz"
### EXTRAMK="/etc/mk.conf"
### ROOTSHELL="/bin/ksh"
###
### damit die fertigen Packages unter "/usr/pkgsrc/packages" abgelegt werden:
### vi /etc/mk.conf
### DEPENDS_TARGET=package
### UPDATE_TARGET=package
### PKG_SUFX=".tbz"
### PAGER=less
### MAKEOBJDIRPREFIX=/var/tmp/build
### RELEASEDIR=/var/tmp/release
### MKX11=yes
### CVSUP_STATIC=yes
###
###==========================================================================###
### mit pkg_comp das Package bauen
###--------------------------------------------------------------------------###
###
### jetzt können wir die Packages mit pkg_comp in einer Sandkiste bauen:
### pkg_comp auto $ORIGIN
###
###
###==========================================================================###
### mit pkg_comp die Packages bauen
###--------------------------------------------------------------------------###
###
### man kann auch mehrere Package-Angaben hintereinander angeben:
### pkg_comp auto $ORIGIN1 $ORIGIN2 $ORIGIN3 $ORIGIN4
###
################################################################################
Mein aktuelles Script stelle ich hier nicht rein, weil ich zuviele selbstgeschrieben "etc"-Dateien darin verwende. Das würde nur unnötig verwirren.
Die veralteten Packages finde ich so raus:
#!/bin/sh
################################################################################
###
### Zeigt alle ORIGIN, der veralteten installierten Packages.
###
################################################################################
SH=`which sh`
### Liste der veralteten Packages erstellen
pkg_chk -i | cut -d':' -f1 | sed 's/.*/^&/' > /tmp/pkgchk.conf-1
### Liste der origin von den veralteten Packages erstellen
cat /usr/pkgsrc/INDEX | grep -f /tmp/pkgchk.conf-1 | awk -F'|' '{print $2}' | cut -d':' -f1 | (while read PKGNAME
do
if [ ! -f /usr/pkgsrc/packages/${PKGNAME}.tbz ] ; then
echo "${PKGNAME}"
fi
done)
################################################################################
