From: Arun Thomas Date: Fri, 3 Sep 2010 07:27:39 +0000 (+0000) Subject: No more packman, easypack, packit X-Git-Tag: v3.1.8~16 X-Git-Url: http://zhaoyanbai.com/repos/%22http:/www.isc.org/icons/zlib_tech.html?a=commitdiff_plain;h=9e4e26e0c8b7d89433dcb9cf04b232be47427738;p=minix.git No more packman, easypack, packit -Create a dummy packman script that tells users about pkgin --- diff --git a/commands/Makefile b/commands/Makefile index 0a82de12f..3f84bd2e8 100644 --- a/commands/Makefile +++ b/commands/Makefile @@ -9,7 +9,7 @@ SUBDIR= aal add_route adduser advent arp ash at autil awk \ chmod chown chroot ci cksum cleantmp clear cmp co \ comm compress cp crc cron crontab cut date \ dd de decomp16 DESCRIBE dev2name devsize df dhcpd \ - dhrystone diff dirname dis88 diskctl du dumpcore easypack \ + dhrystone diff dirname dis88 diskctl du dumpcore \ ed eject elle elvis env expand factor file \ find finger fingerd fix fold format fortune fsck.mfs \ fsck1 ftp101 ftpd200 gcov-pull getty grep gomoku head host \ @@ -19,7 +19,7 @@ SUBDIR= aal add_route adduser advent arp ash at autil awk \ lpd ls lspci M m4 mail make MAKEDEV man \ mdb mdocml mesg mined mkdep mkdir mkdist mkfifo mkfs.mfs mknod \ mkproto modem mount mt netconf newroot nice acknm nohup \ - nonamed od packit packman passwd paste patch pax \ + nonamed od packman passwd paste patch pax \ ping postinstall poweroff pr prep printf printroot \ profile progressbar proto pr_routes ps pwd pwdauth \ ramdisk rarpd rawspeed rcp rdate readall readclock \ diff --git a/commands/easypack/Makefile b/commands/easypack/Makefile deleted file mode 100644 index c49b539b1..000000000 --- a/commands/easypack/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SCRIPTS= easypack.sh -MAN= - -.include diff --git a/commands/easypack/easypack.sh b/commands/easypack/easypack.sh deleted file mode 100644 index 0dc1f14b2..000000000 --- a/commands/easypack/easypack.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/sh - -# This script gets and installs a package from the Website. -# It is called by easypack package1 ... -# A package must be in the form of pack.tar.bz2 and must -# include a build script that makes and installs it. -# The build script should succeed if installation works, else fail - -# Examples: -# easypack awk elle telnet # fetch and install 3 packages -# easypack -o awk elle telnet # fetch and replace existing packs - -SOURCE_DIR=/usr/local/src # where the source is deposited -OVERWRITE=0 # can an installed package be overwritten? -SOFTWARE_DIR="http://www.minix3.org/software" - - -# Check for at least one parameter -case $# in -0) echo Usage: $0 package ... - exit ;; -esac - -# Change to source directory -ORIG_DIR=`pwd` -rm -f Log # remove old debugging log -mkdir $SOURCE_DIR || true -cd $SOURCE_DIR || exit - -if [ "`id -u`" -ne 0 ] -then - # Check for write permission here - if test ! -w . - then echo You do not have write permission for $SOURCE_DIR - exit 1 - fi -fi - -# Check for -o flag; if found, set OVERWRITE -if test $1 = "-o" - then OVERWRITE=1 - shift -fi - -# Loop on the packages -for i -do # Check to see if it exists. Don't overwrite unless -o given - echo " " ; echo Start fetching package $i - echo " " >>$ORIG_DIR/Log - echo ------------- Start fetching $i ------------------ >>$ORIG_DIR/Log - if test -r $i - then # Directory already exists. May it be overwritten? - if test $OVERWRITE = 0 - then echo $i already exists. Skipping this package - continue - else # Remove the directory - rm -rf $i - echo Existing directory $i removed - fi - fi - - # Remove any junk from previous attempts - rm -f $i.tar.bz2 $i.tar - - # Get the package - URL=$SOFTWARE_DIR/$i.tar.bz2 - TARBZ=$i.tar.bz2 - if urlget $URL >$TARBZ 2>/dev/null - then : - else - echo Cannot get $i. - echo " " Tried $URL - echo " " Skipping this package - rm -f $TARBZ - continue - fi - - # We got it. Unpack it. - echo Package $i fetched - bunzip2 $TARBZ || smallbunzip2 $TARBZ - pax -r <$i.tar - if test ! -d $i - then echo Unable to unpack $i - continue - else echo Package $i unpacked - fi - - # It is now unpacked. Build it - cd $i - if [ -f build.minix ] - then sh build.minix >>$ORIG_DIR/Log 2>&1 - r=$? - else sh build >>$ORIG_DIR/Log 2>&1 - r=$? - fi - if [ $r -eq 0 ] - then echo Package $i installed - else echo Package $i failed to install, see Log - fi - if [ -f .postinstall ] - then echo Running postinstall script. - sh -e .postinstall - fi - - # Clean up - cd .. - rm -f $i.tar $TARBZ # Remove whatever is still lying around -done - diff --git a/commands/packit/Makefile b/commands/packit/Makefile deleted file mode 100644 index 80456f89a..000000000 --- a/commands/packit/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SCRIPTS= packit.sh -MAN= - -.include diff --git a/commands/packit/packit.sh b/commands/packit/packit.sh deleted file mode 100644 index bb4ae2432..000000000 --- a/commands/packit/packit.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh - -PI=.postinstall -TMP=/usr/tmp -PATH=/bin:/usr/bin:/usr/local/bin - -if [ "$#" -ne 1 ] -then - echo "Usage: $0 " - exit 1 -fi - -dir=`pwd` -if [ "$1" = "-" ] -then f="" -else case "$1" in - /*) f="$1" ;; - *) f="$dir/$1" ;; - esac -fi - -cd $TMP -rm -f $PI - -if [ -f $PI ] -then echo "$PI is in $TMP, please remove it first." - exit 1 -fi - -if [ ! -f $f ] -then echo "Couldn't find package $f." - exit 1 -fi - -# can we execute bunzip2? -if bunzip2 --help 2>&1 | grep usage >/dev/null -then BUNZIP2=bunzip2 -else BUNZIP2=smallbunzip2 -fi - -cat $f | $BUNZIP2 | pax -r -p e -if [ -f $PI ] -then - sh -e $PI - rm -f $PI -fi - diff --git a/commands/packman/packman.sh b/commands/packman/packman.sh index 8500deb18..a8f987291 100644 --- a/commands/packman/packman.sh +++ b/commands/packman/packman.sh @@ -1,262 +1,6 @@ #!/bin/sh -TAG=`uname -p`-`uname -r` -PACKDIR=`uname -p`/`uname -r` -RC=/usr/etc/rc.package -CDDIR=PACKAGES -CDMP=/mnt -CDPACK=${CDMP}/install/packages -CDSRC=${CDMP}/install/package-sources -SRC=/usr/bigsrc -LISTFILE=/etc/packages-$TAG -LISTURL=http://www.minix3.org/packages/$PACKDIR/List -TMPDIR=/usr/tmp/packages -mkdir -p $TMPDIR -URL1=http://www.minix3.org/packages/$PACKDIR -SRCURL1=http://www.minix3.org/software -PATH=/bin:/sbin:/usr/bin:/usr/sbin -pack="" -cdpackages="" -netpackages="" -cdmounted="" - -if [ ! "$PAGER" ] -then PAGER=more -fi - -if [ "$1" = -y ] -then YESMODE=1 - PAGER=cat -fi - -myread() -{ - if [ "$YESMODE" ] - then echo "all" - else read ans - echo $ans - fi -} - -myexit() -{ - if [ -n "$cdmounted" -a -n "$pack" ] - then - umount $pack || true - fi - - exit $1 -} - -# can we execute bunzip2? -if bunzip2 --help 2>&1 | grep usage >/dev/null -then BUNZIP2=bunzip2 -else BUNZIP2=smallbunzip2 -fi - -if id | fgrep "root" >/dev/null -then : -else echo "Please run $0 as root." - myexit 1 -fi - -chmod 700 $TMPDIR - -if [ -f "$RC" ] -then . "$RC" -fi - -cd / - -# Make sure there is a $SRC dir -if [ ! -d "$SRC" ] -then mkdir $SRC || myexit 1 -fi - -# Is there a usable CD to install packages from? -if [ -n "$cddrive" ] -then pack=${cddrive}p2 - umount $pack >/dev/null 2>&1 || true - echo "Checking for CD in $pack." - if mount -r $pack $CDMP 2>/dev/null - then fn="$CDPACK/List" - echo "Found." - cdmounted=1 - cdpackages=$fn - if [ ! -f $cdpackages ] - then cdpackages="" - echo "No package list found on CD in $fn." - fi - else echo "Not found." - fi -else echo "Don't know where the install CD is. You can set it in $RC." -fi - -TMPF=$TMPDIR/.list.$$ -rm -f $TMPF -rm -f $TMPDIR/.* # Remove any remaining .postinstall script or .list* - -# Check for network packages too -if ( : /dev/null -then echo -n "Update package list from network? (Y/n) " - y=`myread` - if [ "$y" != n -a "$y" != N ] - then echo "Fetching package list from $LISTURL." - fetch -o $TMPF $LISTURL && mv $TMPF $LISTFILE || echo "Update not successful." - fi - netpackages=$LISTFILE - if [ ! -f "$netpackages" -o ! `cat "$netpackages" 2>/dev/null | wc -l | awk '{ print $1 }'` -gt 1 ] - then netpackages="" - fi -else echo "No working network detected." -fi - -# Is there at least one package type? -if [ ! -n "$netpackages" -a ! -n "$cdpackages" ] -then echo "No packages found." - myexit 1 -fi - -# Is there more than one package type? -if [ -n "$netpackages" -a -n "$cdpackages" ] -then echo -n "Would you like to install from (C)D or (N)etwork? [C] " - whichsrc=`myread` - if [ "$whichsrc" = N -o "$whichsrc" = n ] - then unset cdpackages - else unset netpackages - fi -fi - -if [ -n "$netpackages" ] -then source=net -else source=cdrom -fi - -cont=y -while [ "$cont" = y ] -do cd $TMPDIR - echo "" - echo "Showing you a list of packages using $PAGER. Press q when" - echo "you want to leave the list." - echo -n "Press RETURN to continue.." - xyzzy=`myread` - echo "Package list:" - ( echo "No.|Package|Description" - ( - if [ -f "$netpackages" -a "$source" = net ] - then cat $netpackages - fi - if [ -f "$cdpackages" -a "$source" = cdrom ] - then cat $cdpackages - fi - ) | sort -f -t'|' +0 | awk '{ n++; printf "%d|%s\n", n, $0 }' - ) >$TMPF - highest="`wc -l $TMPF | awk '{ print $1 - 1 }'`" - awk -F'|' <$TMPF '{ printf "%3s %-15s %s\n", $1, $2, $3 }' | $PAGER - echo "Format examples: '3', '3,6', '3-9', '3-9,11-15', 'all', 'gzip-1.2.4'" - echo -n "Package(s) to install (RETURN or q to exit)? " - packnolist=`myread` - if [ "$packnolist" = "" -o "$packnolist" = "q" ] - then myexit 0 - fi - if [ "$packnolist" = all ] - then packnolist=1-$highest - fi - IFS=',' - set $packnolist - echo -n "Get source(s) too? (y/N) " - getsources=`myread` - for packrange in $packnolist - do - # Get a-b range. - if [ "$packrange" : '^ *[0-9]' ] - then - # If it starts with a digit, it is a range of package numbers - IFS='-' - set $packrange - start=$1 - if [ $# = 2 ] - then end=$2 - else end=$1 - fi - IFS=' ' - packlist="`awk /dev/null || myexit 3 - echo "Source unpacked in $SRC." - ) - fi - ;; - cdrom*) - if [ -f $CDPACK/$file ] - then echo "Installing from $CDPACK/$file .." - packit $CDPACK/$file && echo Installed ok. - else echo "$CDPACK/$file not found." - fi - srcfile=$CDSRC/${packagename}.tar.bz2 - if [ -f $srcfile -a "$getsources" = y ] - then - ( cd $SRC || myexit 2 - $BUNZIP2 -dc $srcfile | tar xf - || myexit 3 - echo "Source $srcfile unpacked in $SRC." - ) - fi - ;; - esac - fi - else cont=n - fi - done # Iterate package range - done # Iterate package range list - - # Do not repeat after installing all packages if -y is specified - [ "$YESMODE" ] && cont=n -done - -rm -f $TMPDIR/.* # Remove any remaining .postinstall script or .list* -myexit 0 +echo "-----------------------------------" +echo "Packman has been replaced by pkgin." +echo "See man 1 pkgin for details." +echo "-----------------------------------" diff --git a/man/man1/Makefile b/man/man1/Makefile index d5e9aa615..156cc8e7c 100644 --- a/man/man1/Makefile +++ b/man/man1/Makefile @@ -4,7 +4,7 @@ MAN= acd.1 anm.1 ar.1 ash.1 asize.1 at.1 banner.1 basename.1 \ chmem.1 chmod.1 cksum.1 clear.1 cmp.1 comm.1 compress.1 \ cp.1 crc.1 crontab.1 ctags.1 dd.1 dev2name.1 \ df.1 dhrystone.1 dosdir.1 dosread.1 doswrite.1 du.1 \ - dumpcore.1 easypack.1 echo.1 ed.1 eject.1 elvis.1 elvrec.1 \ + dumpcore.1 echo.1 ed.1 eject.1 elvis.1 elvrec.1 \ env.1 expand.1 expr.1 factor.1 file.1 \ finger.1 flexdoc.1 fmt.1 fold.1 format.1 fortune.1 \ fsck.1 head.1 host.1 hostaddr.1 ifdef.1 \ diff --git a/man/man1/easypack.1 b/man/man1/easypack.1 deleted file mode 100644 index 69d8760e1..000000000 --- a/man/man1/easypack.1 +++ /dev/null @@ -1,37 +0,0 @@ -.TH EASYPACK 1 -.SH NAME -easypack \- Fetch and install a package -.SH SYNOPSIS -\fBeasypack\fR [\fB\-\fIo\fR] -.br -.de FL -.TP -\\fB\\$1\\fR -\\$2 -.. -.de EX -.TP 20 -\\fB\\$1\\fR -# \\$2 -.. -.SH OPTIONS -.FL "\-\fIo\fR" "If package is already installed, overwrite it -.SH EXAMPLES -.EX "easypack gzip-1.2.4" "Fetch gzip-1.2.4 package" -.EX "easypack -o indent telnet" "Refetch these 2 packages" -.SH DESCRIPTION -.PP -MINIX 3 user programs, such as emacs, kermit, and telnet are -organized into packages. The complete list is avail\%able at -\fIwww.minix3.org/software\fR. While most packages are included -on the downloadable CD-ROM image, the larger ones are not. -Any package can be easily downloaded and installed by just -giving one simple easypack command listing the package names -taken from the Website. -Each package is a .tar.bz2 file that is fetched from \fIwww.minix3.org\fR, -and then copied to \fI/usr/src/commands\fR, decompressed and untarred. -Then the \fIbuild\fR script in the top-level directory is executed -to install it. This command should be called when logged in as bin -to provide write access to the relevant directories. A log file, -\fILog\fR, is produced for debugging in case building fails. -