slitaz-modular rev 80

Add support for my-wok repo. Fixed local.sh script up.
author Christopher Rogers <slaxemulator@gmail.com>
date Wed Apr 20 03:21:03 2011 +0000 (2011-04-20)
parents 7259b3c242c8
children abd5347e7e5a
files initramfs/etc/init.d/local.sh initramfs/usr/bin/local-mirror mkiso.sh
line diff
     1.1 --- a/initramfs/etc/init.d/local.sh	Sat Apr 16 18:30:51 2011 +0000
     1.2 +++ b/initramfs/etc/init.d/local.sh	Wed Apr 20 03:21:03 2011 +0000
     1.3 @@ -14,44 +14,4 @@
     1.4  [ -x /usr/bin/gdk-pixbuf-query-loaders ] && /usr/bin/gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders
     1.5  [ -x /usr/bin/update-mime-database ] && update-mime-database /usr/share/mime
     1.6  
     1.7 -list_udev_group()
     1.8 -{
     1.9 -    object=$1
    1.10 -    [ -n "$object" ] || object=GROUP
    1.11 -    grep $object /etc/udev/rules.d/* | \
    1.12 -        sed "s/.*GROUP=\"\\([a-zA-Z0-9]*\\)\".*/\1/" | sort | uniq
    1.13 -}
    1.14 -
    1.15 -if [ -f $INSTALLED/udev/receipt ]; then
    1.16 -	# Sanity check for udev+ldap boot
    1.17 -	list_udev_group GROUP | while read x ; do
    1.18 -		grep -q ^$x: /etc/group || addgroup -S $x
    1.19 -	done
    1.20 -	list_udev_group OWNER | while read x ; do
    1.21 -		grep -q ^$x: /etc/passwd || adduser -S -D -H $x
    1.22 -	done
    1.23 -fi
    1.24 -
    1.25 -if [ -f $INSTALLED/slim/receipt -o -f $INSTALLED/slim-pam/receipt ]; then
    1.26 -	USER=$(awk -F: '/:1000:100:/ ' < /etc/passwd)
    1.27 -	[ -n "$USER" ] &&
    1.28 -	sed -i s/"default_user .*"/"default_user        $USER"/ /etc/slim.conf
    1.29 -	unset USER
    1.30 -fi
    1.31 -
    1.32 -PKG_ORDER="$(find /mnt/live/mnt/* -name "packages-order.txt" -maxdepth 1)"
    1.33 -if [ -f $PKG_ORDER ]; then
    1.34 -	for i in $(cat $PKG_ORDER); do
    1.35 -		if [ -f $INSTALLED/$i/pkgmd5 ]; then
    1.36 -			unset PACKAGE VERSION EXTRAVERSION
    1.37 -			[ -f $INSTALLED/$i/receipt ] && source $INSTALLED/$i/receipt
    1.38 -			if [ $(cat $LOCALSTATE/installed.md5 | grep -i " ${PACKAGE}-${VERSION}${EXTRAVERSION}.tazpkg") ]; then
    1.39 -				sed -i "/ $PACKAGE-$VERSION${EXTRAVERSION}.tazpkg/d" $LOCALSTATE/installed.md5
    1.40 -				cat $INSTALLED/$i/pkgmd5 >> $LOCALSTATE/installed.md5
    1.41 -			else
    1.42 -				cat $INSTALLED/$i/pkgmd5 >> $LOCALSTATE/installed.md5
    1.43 -			fi
    1.44 -		fi
    1.45 -	done
    1.46 -fi
    1.47  #[ -x /usr/bin/setup-live ] && /usr/bin/setup-live
     2.1 --- a/initramfs/usr/bin/local-mirror	Sat Apr 16 18:30:51 2011 +0000
     2.2 +++ b/initramfs/usr/bin/local-mirror	Wed Apr 20 03:21:03 2011 +0000
     2.3 @@ -16,6 +16,20 @@
     2.4  	exit 1 
     2.5  }
     2.6  
     2.7 +COOKORDER="$(find /mnt/live/mnt/* -name "cookorder.list" -maxdepth 1)"
     2.8 +CUR_PWD="$PWD"
     2.9 +
    2.10 +if [ -d $REPOS_DIR/my-wok ]; then
    2.11 +	REPO_WOK=$REPOS_DIR/my-wok
    2.12 +	if [ -x /usr/bin/hg ]; then
    2.13 +		cd $REPO_WOK
    2.14 +		hg update cooking
    2.15 +		cd $CUR_PWD
    2.16 +	fi
    2.17 +elif [ -d $REPOS_DIR/wok ]; then
    2.18 +	REPO_WOK=$REPOS_DIR/wok
    2.19 +fi
    2.20 +
    2.21  if [ "$COMMAND" = "tank-only" ]; then
    2.22  	WWW="${WWW/mirror/}"
    2.23  	ADDRESS="${ADDRESS/mirror.slitaz.org/}"
    2.24 @@ -32,6 +46,8 @@
    2.25  [ -d $MAIN_WWW_DIR ] || mkdir -p $MAIN_WWW_DIR
    2.26  [ -L /var/www/vhosts ] || ln -sf $MAIN_WWW_DIR /var/www/vhosts
    2.27  
    2.28 +INCOMING_REPOSITORY="$LOCAL_REPOSITORY/packages-incoming"
    2.29 +
    2.30  www() {
    2.31  	b=$1
    2.32  	case "$b" in
    2.33 @@ -59,11 +75,34 @@
    2.34  			[ -d /usr/share/slitaz/web-bb ] && cp -a /usr/share/slitaz/web-bb $MAIN_WWW_DIR/bb
    2.35  			#[ -d /usr/share/slitaz/web ] && cp -a /usr/share/slitaz/web $MAIN_WWW_DIR/bb/web
    2.36  			[ -d $REPOS_DIR/website/pics ] && ln -sf $REPOS_DIR/website/pics $MAIN_WWW_DIR/bb/pics
    2.37 -			[ -d $COOKING/wok ] || ln -sf $REPOS_DIR/wok $COOKING/clean-wok
    2.38 -			[ -d $COOKING/wok ] || ln -sf $REPOS_DIR/wok $COOKING/wok
    2.39 -			[ -d $STABLE/wok ] || ln -sf $REPOS_DIR/wok-stable $STABLE/clean-wok
    2.40 +			[ -d $INCOMING_REPOSITORY ] || mkdir -p $INCOMING_REPOSITORY
    2.41 +			[ -f $INCOMING_REPOSITORY/packages.desc ] || touch $INCOMING_REPOSITORY/packages.desc
    2.42 +			[ -f $INCOMING_REPOSITORY/packages.equiv ] || touch $INCOMING_REPOSITORY/packages.equiv
    2.43 +			[ -f $INCOMING_REPOSITORY/packages.list ] || touch $INCOMING_REPOSITORY/packages.list
    2.44 +			[ -f $INCOMING_REPOSITORY/packages.md5 ] || touch $INCOMING_REPOSITORY/packages.md5
    2.45 +			[ -f $INCOMING_REPOSITORY/packages.txt ] || touch $INCOMING_REPOSITORY/packages.txt
    2.46 +			tazwok gen-wok-db --WOK=$REPO_WOK
    2.47 +			if [ -f $COOKORDER ]; then
    2.48 +				[ -d $COOKING/wok ] || mkdir -p $COOKING/wok
    2.49 +				[ -d $COOKING/clean-wok ] || mkdir -p $COOKING/clean-wok
    2.50 +				cat $COOKORDER | while read pkg; do
    2.51 +					rwanted=$(grep $'\t'$pkg$ $INCOMING_REPOSITORY/wok-wanted.txt | cut -f 1)
    2.52 +					for i in $rwanted; do
    2.53 +						[ -f $COOKING/clean-wok/$i/receipt ] || cp -a $REPO_WOK/$i $COOKING/clean-wok/$i
    2.54 +						[ -f $COOKING/wok/$i/receipt ] || cp -a $REPO_WOK/$i $COOKING/wok/$i
    2.55 +					done
    2.56 +					[ -f $COOKING/clean-wok/$pkg/receipt ] || cp -a $REPO_WOK/$pkg $COOKING/clean-wok/$pkg
    2.57 +					[ -f $COOKING/wok/$pkg/receipt ] || cp -a $REPO_WOK/$pkg $COOKING/wok/$pkg
    2.58 +				done
    2.59 +				unset i
    2.60 +				tazwok gen-wok-db --WOK=$COOKING/clean-wok
    2.61 +			else
    2.62 +				[ -d $COOKING/clean-wok ] || ln -sf $REPO_WOK $COOKING/clean-wok
    2.63 +				[ -d $COOKING/wok ] || ln -sf $REPO_WOK $COOKING/wok
    2.64 +			fi
    2.65 +			[ -d $STABLE/clean-wok ] || ln -sf $REPOS_DIR/wok-stable $STABLE/clean-wok
    2.66  			[ -d $STABLE/wok ] || ln -sf $REPOS_DIR/wok-stable $STABLE/wok
    2.67 -			[ -f $SRCDIR/sources.list ] || tazwok gen-src $SRCDIR
    2.68 +			[ -f $SRCDIR/sources.list ] || tazwok gen-src $SRCDIR --WOK=$REPO_WOK
    2.69  			[ -d $REPOS_DIR/slitaz-modular ] && ln -sf $REPOS_DIR/slitaz-modular $COOKING/slitaz-modular
    2.70  			echo -e "$MAIN_WWW_DIR/bb" | tazwok webserver on
    2.71  		;;
    2.72 @@ -78,8 +117,8 @@
    2.73  			[ -d $STABLE ] || mkdir -p $STABLE
    2.74  			[ -d $REPOS_DIR/flavors ] && ln -sf $REPOS_DIR/flavors $COOKING/flavors
    2.75  			[ -d $REPOS_DIR/flavors-stable ] && ln -sf $REPOS_DIR/flavors-stable $STABLE/flavors
    2.76 -			[ -d $COOKING/wok ] || ln -sf $REPOS_DIR/wok $COOKING/clean-wok
    2.77 -			[ -d $STABLE/wok ] || ln -sf $REPOS_DIR/wok-stable $STABLE/clean-wok
    2.78 +			#[ -d $COOKING/wok ] || ln -sf $REPOS_DIR/wok $COOKING/clean-wok
    2.79 +			[ -d $STABLE/clean-wok ] || ln -sf $REPOS_DIR/wok-stable $STABLE/clean-wok
    2.80  			[ -d $PKGDIR ] && ln -sf $PKGDIR $LOCAL_REPOSITORY/packages
    2.81  			[ -d $SRCDIR ] && ln -sf $SRCDIR $LOCAL_REPOSITORY/src
    2.82  		;;
    2.83 @@ -93,6 +132,7 @@
    2.84  					[ -d $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1} ] || mkdir -p $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}
    2.85  					[ -f $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}/$i ] || ln -s $SRCDIR/$i $MAIN_WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}/$i
    2.86  				done
    2.87 +				unset i
    2.88  			fi
    2.89  			[ -d /var/www/slitaz ] || ln -sf $MAIN_WWW_DIR/slitaz /var/www/slitaz
    2.90  		;;
    2.91 @@ -165,7 +205,7 @@
    2.92  			[ "$repo" = "slitaz-tools" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
    2.93  			[ "$repo" = "slitaz-vz" ] && echo "contact = Eric Joseph-Alexandre" >> $REPOS_DIR/$repo/.hg/hgrc
    2.94  			[ "$repo" = "tazlito" ] && echo "contact = Pascal Bellard" >> $REPOS_DIR/$repo/.hg/hgrc
    2.95 -			[ "$repo" = "tazpanel" ] && echo "contact = Christophe Lincoln" >> $REPO_DIR/$repo/.hg/hgrc
    2.96 +			[ "$repo" = "tazpanel" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
    2.97  			[ "$repo" = "tazpkg" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
    2.98  			[ "$repo" = "tazusb" ] && echo "contact = Eric Joseph-Alexandre" >> $REPOS_DIR/$repo/.hg/hgrc
    2.99  			[ "$repo" = "tazwok" ] && echo "contact = Christophe Lincoln" >> $REPOS_DIR/$repo/.hg/hgrc
     3.1 --- a/mkiso.sh	Sat Apr 16 18:30:51 2011 +0000
     3.2 +++ b/mkiso.sh	Wed Apr 20 03:21:03 2011 +0000
     3.3 @@ -49,7 +49,9 @@
     3.4  PACKAGES_REPOSITORY="$LOCAL_REPOSITORY/packages"
     3.5  INCOMING_REPOSITORY="$LOCAL_REPOSITORY/packages-incoming"
     3.6  SOURCES_REPOSITORY="$LOCAL_REPOSITORY/src"
     3.7 -HG_LIST="flavors flavors-stable slitaz-base-files slitaz-boot-scripts slitaz-configs slitaz-dev-tools slitaz-doc slitaz-doc-wiki-data slitaz-forge slitaz-modular slitaz-pizza slitaz-tools tazlito tazpkg tazusb tazweb tazwok website wok wok-stable wok-tiny wok-undigest"
     3.8 +HG_LIST="flavors flavors-stable slitaz-base-files slitaz-boot-scripts slitaz-configs slitaz-dev-tools slitaz-doc slitaz-doc-wiki-data slitaz-forge slitaz-modular slitaz-pizza slitaz-tools tazlito tazpanel tazpkg tazusb tazweb tazwok website wok wok-stable wok-tiny wok-undigest"
     3.9 +MY_HG_LIST="my-wok"
    3.10 +MY_HG_URL="https://bitbucket.org/godane"
    3.11  
    3.12  error () { echo -e "\033[1;31;40m!!! \033[1;37;40m$@\033[1;0m"; }
    3.13  warn ()  { echo -e "\033[1;33;40m*** \033[1;37;40m$@\033[1;0m"; }
    3.14 @@ -310,7 +312,6 @@
    3.15  	if [ "${BACKUP_PACKAGES}" = "yes" ]; then
    3.16  		[ -d $PKGISO_DIR ] && rm -r $PKGISO_DIR
    3.17  		mkdir -p $PKGISO_DIR
    3.18 -		WOK=${HG_DIR}/wok/home/slitaz/repos/wok
    3.19  		info "Making cooking list based installed packages in union"
    3.20  		# this is to filter out packages build by get- 
    3.21  		# packages that don't exist in repo or wok
    3.22 @@ -341,7 +342,7 @@
    3.23  			done
    3.24  		
    3.25  			for i in $(ls $WOK/$pkg/receipt); do
    3.26 -				unset SOURCE TARBALL WANTED PACKAGE VERSION pkg_VERSION COOK_OPT
    3.27 +				unset SOURCE TARBALL WANTED PACKAGE VERSION pkg_VERSION COOK_OPT WGET_URL
    3.28  				source $i
    3.29  				pkg_VERSION="$(grep -m1 -A1 ^$PACKAGE$ $PACKAGES_REPOSITORY/packages.txt | \
    3.30  					tail -1 | sed 's/ *//')"
    3.31 @@ -366,34 +367,34 @@
    3.32  backup_src() {
    3.33  
    3.34  	if [ "${BACKUP_PACKAGES}" = "yes" -a "${BACKUP_SOURCES}" = "yes" ]; then
    3.35 -			[ -d $SOURCES_REPOSITORY ] || mkdir -p $SOURCES_REPOSITORY
    3.36 -			[ -d $SRCISO_DIR ] && rm -r $SRCISO_DIR
    3.37 -			mkdir -p $SRCISO_DIR
    3.38 -			WOK=${HG_DIR}/wok/home/slitaz/repos/wok
    3.39 -			cat $ISODIR/cookorder.list | grep -v "^#"| while read pkg; do
    3.40 -				#rwanted=$(grep $'\t'$pkg$ $INCOMING_REPOSITORY/wok-wanted.txt | cut -f 1)
    3.41 -				for i in $(ls $WOK/$pkg/receipt); do
    3.42 -					unset SOURCE TARBALL WANTED PACKAGE VERSION COOK_OPT
    3.43 -					source $i
    3.44 -					{ [ ! "$TARBALL" ] || [ ! "$WGET_URL" ] ; } && continue
    3.45 -					if [ ! -f "$SOURCES_REPOSITORY/$TARBALL" ] && \
    3.46 -						[ ! -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then
    3.47 -						tazwok get-src $PACKAGE --nounpack
    3.48 -						if [ -f "$SOURCES_REPOSITORY/$TARBALL" ]; then
    3.49 -							ln -sf $SOURCES_REPOSITORY/$TARBALL $SRCISO_DIR/$TARBALL
    3.50 -						elif [ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then
    3.51 -							ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $SRCISO_DIR/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
    3.52 -						fi
    3.53 -					else
    3.54 -						[ -f "$SOURCES_REPOSITORY/$TARBALL" ] && ln -sf $SOURCES_REPOSITORY/$TARBALL $SRCISO_DIR/$TARBALL
    3.55 -						[ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ] && ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $SRCISO_DIR/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
    3.56 +		[ -d $SOURCES_REPOSITORY ] || mkdir -p $SOURCES_REPOSITORY
    3.57 +		[ -d $SRCISO_DIR ] && rm -r $SRCISO_DIR
    3.58 +		mkdir -p $SRCISO_DIR
    3.59 +		cat $ISODIR/cookorder.list | grep -v "^#"| while read pkg; do
    3.60 +			#rwanted=$(grep $'\t'$pkg$ $INCOMING_REPOSITORY/wok-wanted.txt | cut -f 1)
    3.61 +			for i in $(ls $WOK/$pkg/receipt); do
    3.62 +				unset SOURCE TARBALL WANTED PACKAGE VERSION COOK_OPT WGET_URL
    3.63 +				source $i
    3.64 +				#{ [ ! "$TARBALL" ] || [ ! "$WGET_URL" ] ; } && continue
    3.65 +				[ "$WGET_URL" ] || continue
    3.66 +				if [ ! -f "$SOURCES_REPOSITORY/$TARBALL" ] && \
    3.67 +					[ ! -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then
    3.68 +					tazwok get-src $PACKAGE --nounpack
    3.69 +					if [ -f "$SOURCES_REPOSITORY/$TARBALL" ]; then
    3.70 +						ln -sf $SOURCES_REPOSITORY/$TARBALL $SRCISO_DIR/$TARBALL
    3.71 +					elif [ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then
    3.72 +						ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $SRCISO_DIR/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
    3.73  					fi
    3.74 -				done
    3.75 +				else
    3.76 +					[ -f "$SOURCES_REPOSITORY/$TARBALL" ] && ln -sf $SOURCES_REPOSITORY/$TARBALL $SRCISO_DIR/$TARBALL
    3.77 +					[ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ] && ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $SRCISO_DIR/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
    3.78 +				fi
    3.79  			done
    3.80 -			cd $SRCISO_DIR
    3.81 -			info "Make md5sum file for sources"
    3.82 -			find * -not -type d | grep -v md5sum | xargs md5sum > md5sum
    3.83 -			cd $WORKING
    3.84 +		done
    3.85 +		cd $SRCISO_DIR
    3.86 +		info "Make md5sum file for sources"
    3.87 +		find * -not -type d | grep -v md5sum | xargs md5sum > md5sum
    3.88 +		cd $WORKING
    3.89  	fi
    3.90  	
    3.91  }
    3.92 @@ -462,7 +463,7 @@
    3.93  			fi
    3.94  		done
    3.95  	fi
    3.96 -
    3.97 +	
    3.98  	if [ "$HG_LIST" != "" ]; then
    3.99  		if [ "$COPY_HG" = "yes" ]; then
   3.100  			for hg in $HG_LIST; do
   3.101 @@ -471,19 +472,30 @@
   3.102  			done
   3.103  		fi
   3.104  	fi
   3.105 -
   3.106 -	if [ "${HG_LIST}" != "" ]; then
   3.107 -		for hg in ${HG_LIST}; do
   3.108 -			if [ -d "${MODULES_DIR}/${hg}" ]; then
   3.109 -				squashfs_hg $hg
   3.110 +	
   3.111 +	if [ "$MY_HG_LIST" != "" ]; then
   3.112 +		for my_hg in $MY_HG_LIST; do
   3.113 +			HG_URL="$MY_HG_URL"
   3.114 +			copy_hg $my_hg
   3.115 +			WOK=${HG_DIR}/my-wok/home/slitaz/repos/my-wok
   3.116 +			if [ -d $WOK/.hg ]; then
   3.117 +				cd $WOK
   3.118 +				hg update cooking
   3.119 +				cd $PROFILE
   3.120  			fi
   3.121 +			squashfs_hg $my_hg
   3.122  		done
   3.123  	fi
   3.124 -	
   3.125 +
   3.126  	[ -d $SRCISO_DIR ] && rm -r $SRCISO_DIR
   3.127  	[ -d $PKGISO_DIR ] && rm -r $PKGISO_DIR
   3.128  	
   3.129 -	if [ -d ${HG_DIR}/wok ]; then
   3.130 +	if [ -d ${HG_DIR}/my-wok/home/slitaz/repos/my-wok/.hg ]; then
   3.131 +		WOK=${HG_DIR}/my-wok/home/slitaz/repos/my-wok
   3.132 +		backup_pkg
   3.133 +		backup_src
   3.134 +	elif [ -d ${HG_DIR}/wok/home/slitaz/repos/wok/.hg ]; then
   3.135 +		WOK=${HG_DIR}/wok/home/slitaz/repos/wok
   3.136  		backup_pkg
   3.137  		backup_src
   3.138  	fi