slitaz-dev-tools rev 82

tazdev: small clean and fixes
author Christophe Lincoln <pankso@slitaz.org>
date Sat May 07 00:34:28 2011 +0200 (2011-05-07)
parents 03279ff7b32b
children 6b85c3d783b5
files tazdev/tazdev tazdev/tazdev.conf
line diff
     1.1 --- a/tazdev/tazdev	Sat May 07 00:10:02 2011 +0200
     1.2 +++ b/tazdev/tazdev	Sat May 07 00:34:28 2011 +0200
     1.3 @@ -40,25 +40,24 @@
     1.4   reliso|-ri          Create all main flavors (not loram)\n"
     1.5  }
     1.6  
     1.7 -# Exit if user is not root.
     1.8 -check_root()
     1.9 -{
    1.10 -	if test $(id -u) != 0 ; then
    1.11 -	   echo -e "\nThis program requires being run as root.\n"
    1.12 -	   exit 0
    1.13 -	fi
    1.14 +# Be sure we root.
    1.15 +check_root() {
    1.16 +	[ $(id -u) != 0 ] && \
    1.17 +		echo -e "\nYou must be root to use: $(basename $0) $@\n" && exit 0
    1.18  }
    1.19  
    1.20 -status()
    1.21 -{
    1.22 -	local check=$?
    1.23 -	echo -en "\033[70G"
    1.24 -	if [ $check = 0 ]; then
    1.25 -		echo "Done"
    1.26 +separator() {
    1.27 +	echo "================================================================================"
    1.28 +}
    1.29 +
    1.30 +status() {
    1.31 +	echo -en "\\033[70G[ "
    1.32 +	if [ $? = 0 ]; then
    1.33 +		echo -en "\\033[1;32mOK"
    1.34  	else
    1.35 -		echo "Failed"
    1.36 +		echo -en "\\033[1;31mFailed"
    1.37  	fi
    1.38 -	return $check
    1.39 +	echo -e "\\033[0;39m ]"
    1.40  }
    1.41  
    1.42  get_version()
    1.43 @@ -69,7 +68,7 @@
    1.44  	elif [ -n "$2" ]; then
    1.45  		# Undigest - custom ?
    1.46  		version=$2
    1.47 -		slitaz=/home/slitaz/$2
    1.48 +		slitaz=$SLITAZ/$2
    1.49  	else
    1.50  		version=cooking
    1.51  		slitaz=$COOKING
    1.52 @@ -86,14 +85,14 @@
    1.53  		user=$user
    1.54  	fi
    1.55  	if [ "$2" = "stable" ] || [ "$3" = "stable" ]; then
    1.56 -		REMOTE_DIR=$MIRROR_PKGS/stable/
    1.57 -		LOCAL_DIR=$STABLE/packages/
    1.58 +		remote=$MIRROR_PKGS/stable/
    1.59 +		local=$STABLE/packages/
    1.60  	elif [ "$2" = "undigest" ] || [ "$3" = "undigest" ]; then
    1.61 -		REMOTE_DIR=$MIRROR_PKGS/undigest/
    1.62 -		LOCAL_DIR=$UNDIGEST/packages/
    1.63 +		remote=$MIRROR_PKGS/undigest/
    1.64 +		local=$UNDIGEST/packages/
    1.65  	else
    1.66 -		REMOTE_DIR=$MIRROR_PKGS/cooking/
    1.67 -		LOCAL_DIR=$COOKING/packages/
    1.68 +		remote=$MIRROR_PKGS/cooking/
    1.69 +		local=$COOKING/packages/
    1.70  	fi
    1.71  }
    1.72  
    1.73 @@ -102,7 +101,7 @@
    1.74  mount_chroot()
    1.75  {
    1.76  	if [ ! -d $rootfs/proc/1 ]; then
    1.77 -		echo -en "\nMounting virtual filesystems..."
    1.78 +		echo -ne "\nMounting virtual filesystems..."
    1.79  		mount -t proc proc $rootfs/proc
    1.80  		mount -t sysfs sysfs $rootfs/sys
    1.81  		mount -t devpts devpts $rootfs/dev/pts
    1.82 @@ -129,15 +128,14 @@
    1.83  {
    1.84  	[ "$1" ] && ROOTF=$1
    1.85  	fs=$rootfs/home/slitaz
    1.86 -	echo -e "\nChroot: $rootfs"
    1.87 -	echo -n "Unmounting virtual filesystems..."
    1.88 +	echo -ne "\nUnmounting virtual filesystems..."
    1.89  	umount $rootfs/dev/shm
    1.90  	umount $rootfs/dev/pts
    1.91  	umount $rootfs/sys
    1.92  	umount $rootfs/proc
    1.93  	umount $fs/src
    1.94  	umount $fs/packages
    1.95 -	echo -e "Done\n"
    1.96 +	status && echo ""
    1.97  	#echo -e "\nProcess: $ps\n"
    1.98  	#ps | grep `basename $0` | grep -v grep
    1.99  	#echo -e "\nLeaving virtual filesystems unmounted (`pidof tazdev`)...\n"
   1.100 @@ -147,7 +145,7 @@
   1.101  gen_new_chroot()
   1.102  {
   1.103  	echo -e "\nGenerating new chroot in : $rootfs"
   1.104 -	echo "================================================================================"
   1.105 +	separator
   1.106  	mkdir -p $rootfs 
   1.107  	for pkg in busybox libtaz tazwok tazchroot \
   1.108  		tazpkg slitaz-base-files
   1.109 @@ -157,7 +155,7 @@
   1.110  	echo -n "Creating resolv.conf..."
   1.111  	cat /etc/resolv.conf > $rootfs/etc/resolv.conf
   1.112  	status
   1.113 -	echo "================================================================================"
   1.114 +	separator
   1.115  	echo -e "Ready to chroot. Use 'tazdev chroot [version|path]'"
   1.116  	echo -e "Example: tazdev chroot $rootfs\n"
   1.117  }
   1.118 @@ -216,7 +214,7 @@
   1.119  		echo -e "\nStatistics for: $PROJECTS\n"
   1.120  		echo -n "Project" && echo -ne "\033[24G Size" && echo -ne "\033[38G Revision"
   1.121  		echo -ne "\033[48G Version" && echo -e "\033[64G Files"
   1.122 -		echo "================================================================================"
   1.123 +		separator
   1.124  		cd $PROJECTS
   1.125  		for proj in *
   1.126  		do
   1.127 @@ -234,16 +232,15 @@
   1.128  			files=`find $proj -type f | wc -l`
   1.129  			echo -e "\033[64G $files"
   1.130  		done
   1.131 -		echo "================================================================================"
   1.132 +		separator
   1.133  		echo "" ;;
   1.134  	chroot)
   1.135 -		# Chroot into a build env. Default to cooking configured in
   1.136 -		# tazdev.conf
   1.137 +		# Chroot into a build env. Default to cooking configured in tazdev.conf
   1.138  		check_root
   1.139  		get_version $@
   1.140  		[ -d "$2" ] && rootfs=$2
   1.141  		mount_chroot
   1.142 -		echo -e "Chrooting in $rootfs...\n"
   1.143 +		echo -e "Chrooting to: $rootfs\n"
   1.144  		chroot $rootfs /bin/sh --login
   1.145  		umount_chroot ;;
   1.146  	umount-chroot|-uc)
   1.147 @@ -280,37 +277,37 @@
   1.148  		fi
   1.149  		cd $rootfs || exit 1
   1.150  		echo -e "\nCleaning chroot in: $rootfs"
   1.151 -		echo "================================================================================"
   1.152 +		separator
   1.153  		for i in bin dev etc init lib media mnt proc sbin sys tmp usr var
   1.154  		do
   1.155  			echo -n "Removing: $i (`du -sh $i | awk '{ print $1 }'`)... "
   1.156  			rm -rf $i
   1.157  			status
   1.158  		done
   1.159 -		echo "================================================================================"
   1.160 -		echo "" ;;
   1.161 +		separator && echo "" ;;
   1.162  	push|-p)
   1.163  		check_mirror $@
   1.164  		rsync -r -t -l -v -z --delete \
   1.165 -			$LOCAL_DIR -e ssh $user@$MIRROR:$REMOTE_DIR ;;
   1.166 +			$local -e ssh $user@$MIRROR:$remote ;;
   1.167  	dry-push|-dp)
   1.168  		check_mirror $@
   1.169  		rsync -r -t -l -v -z --delete --dry-run \
   1.170 -			$LOCAL_DIR -e ssh $user@$MIRROR:$REMOTE_DIR ;;
   1.171 +			$local -e ssh $user@$MIRROR:$remote ;;
   1.172  	pull)
   1.173  		check_mirror $@
   1.174  		rsync -r -t -l -v -z --delete \
   1.175 -			-e ssh $user@$MIRROR:$REMOTE_DIR $LOCAL_DIR ;;
   1.176 +			-e ssh $user@$MIRROR:$remote $local ;;
   1.177  	dry-pull)
   1.178  		check_mirror $@
   1.179  		rsync -r -t -l -v -z --delete --dry-run \
   1.180 -			-e ssh $user@$MIRROR:$REMOTE_DIR $LOCAL_DIR ;;
   1.181 +			-e ssh $user@$MIRROR:$remote $local ;;
   1.182  	purge|dry-purge)
   1.183  		check_root
   1.184  		get_version $@
   1.185  		purge_packages $1
   1.186  		purge_sources $1 ;;
   1.187  	relpkg|-rp)
   1.188 +		# Release a slitaz sub-project and upload tarball to mirror
   1.189  		[ -z "$MIRROR_SOURCES" ] && MIRROR_SOURCES="/var/www/slitaz/mirror/sources"
   1.190  		if [ -z $2 ] || [ -z $3 ]; then
   1.191  			echo -e "\nUsage: $0 relpkg package version\n"
   1.192 @@ -342,12 +339,13 @@
   1.193  				$user@$MIRROR:$MIRROR_SOURCES/${pkg#slitaz-}
   1.194  		fi ;;
   1.195  	reliso|-ri)
   1.196 -		# Generate all official images iso at once.
   1.197 -		version=$2
   1.198 -		mkdir -p $ISO
   1.199 +		# Generate all official images iso at once for a specific version.
   1.200 +		get_version $@
   1.201 +		iso=$slitaz/iso
   1.202 +		mkdir -p $iso
   1.203  		for flavor in base core justx firefox
   1.204  		do
   1.205 -			cd /home/slitaz/$version
   1.206 +			cd $slitaz
   1.207  			tazlito pack-flavor $flavor
   1.208  			tazlito get-flavor $flavor
   1.209  			tazlito gen-distro
   1.210 @@ -358,7 +356,9 @@
   1.211  				cp distro/slitaz-$flavor.iso $ISO/slitaz-$version-$flavor.iso
   1.212  				cd $ISO && md5sum slitaz-$version-$flavor.iso slitaz-$version-$flavor.md5
   1.213  			fi
   1.214 -		done ;;
   1.215 +		done
   1.216 +		# Clean up slitaz working directory.
   1.217 +		rm *.flavor tazlito.conf ;;
   1.218  	usage|*)
   1.219  		usage ;;
   1.220  esac
     2.1 --- a/tazdev/tazdev.conf	Sat May 07 00:10:02 2011 +0200
     2.2 +++ b/tazdev/tazdev.conf	Sat May 07 00:34:28 2011 +0200
     2.3 @@ -10,9 +10,6 @@
     2.4  # Path to all own and copy projects.
     2.5  PROJECTS="$HOME/Projects"
     2.6  
     2.7 -# Destination for generated images ISO
     2.8 -ISO=$SLITAZ/iso
     2.9 -
    2.10  # Main mirror to push and download (ISO, rootfs. etc).
    2.11  MIRROR="mirror.slitaz.org"
    2.12  DL_URL="http://mirror.switch.ch/ftp/mirror/slitaz"