Added Andy's easypack
This commit is contained in:
		
							parent
							
								
									9762b4c11f
								
							
						
					
					
						commit
						68e12c2f04
					
				@ -19,6 +19,7 @@ usr:	\
 | 
			
		||||
	/usr/bin/cd \
 | 
			
		||||
		/usr/bin/[ \
 | 
			
		||||
		/usr/bin/command \
 | 
			
		||||
		/usr/bin/easypack \
 | 
			
		||||
		/usr/bin/echo \
 | 
			
		||||
		/usr/bin/expr \
 | 
			
		||||
		/usr/bin/false \
 | 
			
		||||
@ -96,6 +97,9 @@ clean:
 | 
			
		||||
/usr/bin/wait:	/usr/bin/cd
 | 
			
		||||
	install -m 755 -l $? $@
 | 
			
		||||
 | 
			
		||||
/usr/bin/easypack:	easypack.sh
 | 
			
		||||
	install -m 755 -c -o bin $? $@
 | 
			
		||||
 | 
			
		||||
/usr/bin/getpack:	getpack.sh
 | 
			
		||||
	install -m 755 -c -o bin $? $@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										128
									
								
								commands/scripts/easypack.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								commands/scripts/easypack.sh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,128 @@
 | 
			
		||||
From real-beng@top.few.vu.nl  Thu Sep 15 12:33:54 2005
 | 
			
		||||
Return-Path: <real-beng@top.few.vu.nl>
 | 
			
		||||
X-Original-To: ben@scum.org
 | 
			
		||||
Delivered-To: beng@atlantis.8hz.com
 | 
			
		||||
Received: from top.few.vu.nl (top.few.vu.nl [130.37.20.4])
 | 
			
		||||
	by atlantis.8hz.com (Postfix) with ESMTP id 12A02BA52
 | 
			
		||||
	for <ben@scum.org>; Thu, 15 Sep 2005 12:33:54 +0200 (CEST)
 | 
			
		||||
Received: from flits.few.vu.nl (flits.few.vu.nl [192.31.231.65])
 | 
			
		||||
	by top.few.vu.nl with esmtp
 | 
			
		||||
	(Smail #108) id m1EFr3x-0000PXC; Thu, 15 Sep 2005 12:33 +0200
 | 
			
		||||
Received: by flits.few.vu.nl (Smail #108)
 | 
			
		||||
	id m1EFr3x-0001vsC; Thu, 15 Sep 2005 12:33 +0200
 | 
			
		||||
Message-Id: <m1EFr3x-0001vsC@flits.few.vu.nl>
 | 
			
		||||
Date:     Thu, 15 Sep 2005 12:33:53 CEST
 | 
			
		||||
From: Andy Tanenbaum <ast@cs.vu.nl>
 | 
			
		||||
To: beng@few.vu.nl
 | 
			
		||||
Subject:  easypack
 | 
			
		||||
Status: RO
 | 
			
		||||
Content-Length: 2825
 | 
			
		||||
Lines: 106
 | 
			
		||||
 | 
			
		||||
To make it possible to have two places for code to come from (tested
 | 
			
		||||
and beta), I changed pack to try both of them in sequence. I also 
 | 
			
		||||
improved error reporting and logging.
 | 
			
		||||
 | 
			
		||||
Andy
 | 
			
		||||
---------------------- easypack -----------------------
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# This script gets and installs a package from the Website.
 | 
			
		||||
# It is called by getpack 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/src/commands		# where the source is deposited
 | 
			
		||||
OVERWRITE=0				# can an installed package be overwritten?
 | 
			
		||||
SOFTWARE_DIR="http://www.minix3.org/software"	# Tested and approved S/W
 | 
			
		||||
BETA_DIR="http://www.minix3.org/beta_software"	# Untested software
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Check for at least one parameter
 | 
			
		||||
case $# in
 | 
			
		||||
0)	echo Usage: $0 package ...
 | 
			
		||||
	exit ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
# Change to source directory
 | 
			
		||||
ORIG_DIR=`pwd`
 | 
			
		||||
rm -rf Log			# remove old debugging log
 | 
			
		||||
cd $SOURCE_DIR
 | 
			
		||||
 | 
			
		||||
# Check for write permission here
 | 
			
		||||
if test ! -w . 
 | 
			
		||||
   then echo You do not have write permission for $SOURCE_DIR
 | 
			
		||||
   exit 1
 | 
			
		||||
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 $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 -rf $i.tar.bz2 $i.tar
 | 
			
		||||
 | 
			
		||||
   # Get the package
 | 
			
		||||
   URL=$SOFTWARE_DIR/$i.tar.bz2
 | 
			
		||||
   URL1=$URL
 | 
			
		||||
   urlget $URL >$i.tar.bz2
 | 
			
		||||
 | 
			
		||||
   # See if we got the file or an error
 | 
			
		||||
   if grep "<HTML>" $i.tar.bz2 >/dev/null
 | 
			
		||||
      then # It is not in the directory of tested software. Try beta dir.
 | 
			
		||||
	   URL=$BETA_DIR/$i.tar.bz2
 | 
			
		||||
	   urlget $URL >$i.tar.bz2
 | 
			
		||||
	   if grep "<HTML>" $i.tar.bz2 >/dev/null
 | 
			
		||||
	      then echo Cannot get $i.
 | 
			
		||||
		   echo "   " Tried $URL1
 | 
			
		||||
		   echo "   " Tried $URL
 | 
			
		||||
		   echo "   " Skipping this package
 | 
			
		||||
		   rm -rf $i.tar.bz2
 | 
			
		||||
		   continue
 | 
			
		||||
	   fi
 | 
			
		||||
   fi
 | 
			
		||||
 | 
			
		||||
   # We got it. Unpack it.
 | 
			
		||||
   bunzip2 $i.tar.bz2
 | 
			
		||||
   tar xf $i.tar
 | 
			
		||||
   if test ! -d $i
 | 
			
		||||
      then echo Unable to unpack $i
 | 
			
		||||
	   continue
 | 
			
		||||
   fi
 | 
			
		||||
 | 
			
		||||
   # It is now unpacked. Build it
 | 
			
		||||
   cd $i
 | 
			
		||||
   if ./build >>$ORIG_DIR/Log 2>&1
 | 
			
		||||
      then echo $i installed from $URL
 | 
			
		||||
      else echo $i failed to install
 | 
			
		||||
   fi
 | 
			
		||||
 | 
			
		||||
   # Clean up
 | 
			
		||||
   cd ..
 | 
			
		||||
#   rm -rf $i.tar*
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user