slitaz-modular rev 34

Updated initramfs. Added support to change the mirror, packages, and source folders on the iso. Added support for boot.slitaz.org and pizza.slitaz.org to work locally.
author Christopher Rogers <slaxemulator@gmail.com>
date Tue Mar 08 15:00:12 2011 +0000 (2011-03-08)
parents 5416781d4a7e
children 6b712a8c338c
files initramfs/etc/lighttpd/vhosts-local.conf initramfs/etc/local-mirror.conf initramfs/liblinuxlive initramfs/linuxrc initramfs/usr/bin/local-mirror mkiso.sh
line diff
     1.1 --- a/initramfs/etc/lighttpd/vhosts-local.conf	Mon Feb 28 14:52:01 2011 +0000
     1.2 +++ b/initramfs/etc/lighttpd/vhosts-local.conf	Tue Mar 08 15:00:12 2011 +0000
     1.3 @@ -72,6 +72,15 @@
     1.4    accesslog.filename = logdir + "people.slitaz.org-access.log"
     1.5  }
     1.6  
     1.7 +# pizza.slitaz.org
     1.8 +#
     1.9 +$HTTP["host"] =~ "pizza\.slitaz\.org$" {
    1.10 +  server.name = "pizza"
    1.11 +  server.document-root = basedir + server.name
    1.12 +  server.errorlog = logdir + "pizza.slitaz.org-error.log"
    1.13 +  accesslog.filename = logdir + "pizza.slitaz.org-access.log"
    1.14 +}
    1.15 +
    1.16  # boot.slitaz.org
    1.17  #
    1.18  $HTTP["host"] =~ "boot\.slitaz\.org$" {
    1.19 @@ -161,17 +170,17 @@
    1.20  # mirror.slitaz.org (Server canonical hostname)
    1.21  #
    1.22  $HTTP["host"] =~ "^mirror([0-9]*)\.slitaz\.org$" {
    1.23 -  server.document-root = "/home/slitaz/www/slitaz/mirror"
    1.24 -  server.errorlog = "/var/log/lighttpd/mirror.slitaz.org-error.log"
    1.25 -  accesslog.filename = "/var/log/lighttpd/mirror.slitaz.org-access.log"
    1.26 +  server.document-root = basedir + "/slitaz/mirror"
    1.27 +  server.errorlog = logdir + "mirror.slitaz.org-error.log"
    1.28 +  accesslog.filename = logdir + "mirror.slitaz.org-access.log"
    1.29    
    1.30    include "awstats.conf"
    1.31    
    1.32 -  alias.url += ( "/info" => "/home/slitaz/www/mirror-info/" )
    1.33 +  alias.url += ( "/info" => basedir + "mirror-info/" )
    1.34    
    1.35 -  alias.url += ( "/pizza" => "/home/slitaz/www/pizza/" )
    1.36 +  alias.url += ( "/pizza" => basedir + "pizza/" )
    1.37    
    1.38 -  alias.url += ( "/doc" => "/home/slitaz/www/doc/" )
    1.39 +  alias.url += ( "/doc" => basedir + "doc/" )
    1.40    var.dokudir = "/doc"
    1.41    # Rewrites for dokuwiki
    1.42    url.rewrite = (
    1.43 @@ -188,22 +197,22 @@
    1.44       "^" + var.dokudir + "/(.*)"                 => var.dokudir + "/doku.php?id=$1"
    1.45    )
    1.46  
    1.47 -  alias.url += ( "/webboot" => "/home/slitaz/www/boot/" )
    1.48 +  alias.url += ( "/webboot" => basedir + "boot/" )
    1.49  
    1.50 -  alias.url += ( "/pkgs" => "/home/slitaz/www/pkgs/" )
    1.51 -  index-file.names += ( "search.sh" )
    1.52 +  alias.url += ( "/pkgs" => basedir + "pkgs/" )
    1.53 +  index-file.names += ( "search.cgi" )
    1.54    cgi.assign += (
    1.55 -    ".sh" => "/bin/sh"
    1.56 +    ".cgi" => "/bin/sh"
    1.57    )
    1.58  
    1.59 -  alias.url += ( "/hg" => "/home/slitaz/www/hg/" )
    1.60 +  alias.url += ( "/hg" => basedir + "hg/" )
    1.61  ###  url.rewrite-once = ( "/hg(.*)" => "/hg/hgwebdir.py$1" )
    1.62    index-file.names += ( "hgwebdir.py" )
    1.63    cgi.assign += (
    1.64      ".py" => "/usr/bin/python"
    1.65    )
    1.66  
    1.67 -  alias.url += ( "/www" => "/home/slitaz/www/website" )
    1.68 +  alias.url += ( "/www" => basedir + "website" )
    1.69    
    1.70  #  alias.url += ( "/tiny" => "/var/www/pizza/tiny/demos/192.168.0.6/var/www" )
    1.71  #  index-file.names += ( "index.sh" )
     2.1 --- a/initramfs/etc/local-mirror.conf	Mon Feb 28 14:52:01 2011 +0000
     2.2 +++ b/initramfs/etc/local-mirror.conf	Tue Mar 08 15:00:12 2011 +0000
     2.3 @@ -4,12 +4,14 @@
     2.4   slitaz-tools tank tazlito tazpkg tazusb \
     2.5   tazwok slitaz-dev-tools website wok wok-stable wok-tiny \
     2.6   wok-undigest"
     2.7 -WWW="tank hg mirror pkgs bb doc website people"
     2.8 +WWW="boot tank hg mirror pkgs bb doc pizza website people"
     2.9  BASE_IP="127.0.0"
    2.10  END_IP="1"
    2.11 -ADDRESS="www.slitaz.org mirror.slitaz.org tank.slitaz.org doc.slitaz.org pkgs.slitaz.org hg.slitaz.org bb.slitaz.org people.slitaz.org"
    2.12 +ADDRESS="www.slitaz.org pizza.slitaz.org boot.slitaz.org mirror.slitaz.org tank.slitaz.org doc.slitaz.org pkgs.slitaz.org hg.slitaz.org bb.slitaz.org people.slitaz.org"
    2.13  VHOST_FILE="/etc/lighttpd/vhosts-local.conf"
    2.14  REPOS_DIR="/home/slitaz/repos"
    2.15  WWW_DIR="/home/slitaz/www"
    2.16  STABLE="/home/slitaz/stable"
    2.17 -COOKING="/home/slitaz/cooking"
    2.18 \ No newline at end of file
    2.19 +COOKING="/home/slitaz/cooking"
    2.20 +#PKGDIR
    2.21 +#SRCDIR
    2.22 \ No newline at end of file
     3.1 --- a/initramfs/liblinuxlive	Mon Feb 28 14:52:01 2011 +0000
     3.2 +++ b/initramfs/liblinuxlive	Tue Mar 08 15:00:12 2011 +0000
     3.3 @@ -23,6 +23,7 @@
     3.4  INITRAMDISK=$MOUNTDIR/live
     3.5  LOOPMOUNT=$MOUNTDIR/tmp
     3.6  FINDISOMNT=$MOUNTDIR/findiso
     3.7 +#MIRROR
     3.8  
     3.9  # this will be replaced by build script, so never change the following line!
    3.10  LIVECDNAME="slitaz"
     4.1 --- a/initramfs/linuxrc	Mon Feb 28 14:52:01 2011 +0000
     4.2 +++ b/initramfs/linuxrc	Tue Mar 08 15:00:12 2011 +0000
     4.3 @@ -236,8 +236,8 @@
     4.4  elif [ "$ROOTCOPY" ]; then
     4.5  	echolog "Mounting content of rootcopy directory"
     4.6  	ROOTCOPY=$(find_in_computer $ROOTCOPY)
     4.7 -    mount_device $ROOTCOPY $DATA/rootcopy rbind
     4.8 -    echolog "Copying content of rootcopy directory"
     4.9 +	mount_device $ROOTCOPY $DATA/rootcopy rbind
    4.10 +	echolog "Copying content of rootcopy directory"
    4.11  	cp -af $DATA/rootcopy/* $UNION 2>/dev/null # may be empty
    4.12  else
    4.13  	echolog "Copying content of rootcopy directory"
    4.14 @@ -278,9 +278,9 @@
    4.15  # Boot will contain whatever was in ./boot directory in the bootable media
    4.16  # Error output goes to null, as nothing is mounted with copy2ram
    4.17  #mount -n -o rbind $(dirname $DATA)/boot $UNION/boot 2>/dev/null
    4.18 -if [ -d $(dirname $DATA)/boot/packages ]; then
    4.19 +if [ -d $(dirname $DATA)/$MIRROR ]; then
    4.20  	echolog "Setup repo for mirror iso..."
    4.21 -	mount -n -o remount,add:1:/$(dirname $DATA)=ro aufs $UNION
    4.22 +	mount -n -o remount,add:1:/$(dirname $DATA)/$MIRROR=ro aufs $UNION
    4.23  fi
    4.24  
    4.25  # Union contains all the files and directories unioned from all modules.
     5.1 --- a/initramfs/usr/bin/local-mirror	Mon Feb 28 14:52:01 2011 +0000
     5.2 +++ b/initramfs/usr/bin/local-mirror	Tue Mar 08 15:00:12 2011 +0000
     5.3 @@ -21,78 +21,93 @@
     5.4  
     5.5  www() {
     5.6  	b=$1
     5.7 -	if [ "$b" = "website" ]; then
     5.8 -		[ -d $REPOS_DIR/$b ] && ln -s $REPOS_DIR/$b $WWW_DIR
     5.9 -	fi
    5.10 -	if [ "$b" = "people" ]; then
    5.11 -		[ -d $REPOS_DIR/slitaz-forge/people ] && ln -s $REPOS_DIR/slitaz-forge/people $WWW_DIR/people
    5.12 -	fi
    5.13 -	if [ "$b" = "doc" ]; then
    5.14 -		[ -d $REPOS_DIR/slitaz-forge/doc ] && cp -a $REPOS_DIR/slitaz-forge/doc $WWW_DIR/doc
    5.15 -		[ -d /var/www/dokuwiki ] && cp -a /var/www/dokuwiki/* $WWW_DIR/doc
    5.16 -		VAR="index media pages"
    5.17 -		for i in $VAR; do
    5.18 -			[ -d $REPOS_DIR/slitaz-doc-wiki-data ] && cp -a $REPOS_DIR/slitaz-doc-wiki-data/$i $WWW_DIR/doc/data
    5.19 -		done
    5.20 -		[ -d $REPOS_DIR/slitaz-doc-wiki-data/plugins ] && cp -a $REPOS_DIR/slitaz-doc-wiki-data/plugins  $WWW_DIR/doc/lib
    5.21 -		chown root.root -R $WWW_DIR/doc
    5.22 -		chmod 777 -R $WWW_DIR/doc
    5.23 -	fi
    5.24 -	if [ "$b" = "bb" ]; then
    5.25 -		[ -d /usr/share/slitaz/web-bb ] && cp -a /usr/share/slitaz/web-bb $WWW_DIR/bb
    5.26 -		[ -d /usr/share/slitaz/web ] && cp -a /usr/share/slitaz/web $WWW_DIR/bb/web
    5.27 -		[ -d $REPOS_DIR/website/pics ] && ln -sf $REPOS_DIR/website/pics $WWW_DIR/bb/pics
    5.28 -	fi
    5.29 -	if [ "$b" = "pkgs" ]; then
    5.30 -		[ -d $wWW_DIR/pkgs ] || mkdir -p $WWW_DIR/pkgs
    5.31 -		[ -d /var/lib/tazpkg-web/style ] && cp -a /var/lib/tazpkg-web/style/* $WWW_DIR/pkgs
    5.32 -		[ -f /var/lib/tazpkg-web/search.cgi ] && cp -a /var/lib/tazpkg-web/search.cgi $WWW_DIR/pkgs
    5.33 -		[ -d $COOKING ] || mkdir -p $COOKING
    5.34 -		[ -d $STABLE ] || mkdir -p $STABLE
    5.35 -		[ -d $COOKING/wok ] || ln -sf $REPOS_DIR/wok $COOKING/clean-wok
    5.36 -		[ -d $STABLE/wok ] || ln -sf $REPOS_DIR/wok-stable $STABLE/clean-wok
    5.37 -		[ -d /boot/packages ] && ln -sf /boot/packages /home/slitaz/$(cat /etc/slitaz-release)/packages
    5.38 -		[ -d /boot/src ] && ln -sf /boot/src /home/slitaz/$(cat /etc/slitaz-release)/src
    5.39 -	fi
    5.40 -	if [ "$b" = "mirror" ]; then
    5.41 -		[ -d $REPOS_DIR/slitaz-dev-tools/mirror-tools/mirror-info ] && cp -a $REPOS_DIR/slitaz-dev-tools/mirror-tools/mirror-info $WWW_DIR
    5.42 -		[ -d $REPOS_DIR/slitaz-dev-tools/mirror-tools/slitaz ] && cp -a $REPOS_DIR/slitaz-dev-tools/mirror-tools/slitaz $WWW_DIR
    5.43 -		[ -d $WWW_DIR/slitaz/mirror/packages ] || mkdir -p $WWW_DIR/slitaz/mirror/packages
    5.44 -		[ -d /boot/packages ] && ln -sf /boot/packages $WWW_DIR/slitaz/mirror/packages/$(cat /etc/slitaz-release)
    5.45 -		if [ -d /boot/src ]; then
    5.46 -			for i in $(ls /boot/src); do
    5.47 -				[ -d $WWW_DIR/slitaz/mirror/sources/packages/${i:0:1} ] || mkdir -p $WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}
    5.48 -				ln -sf /boot/src/$i $WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}/$i
    5.49 +	case "$b" in
    5.50 +		website)
    5.51 +			[ -d $REPOS_DIR/$b ] && ln -s $REPOS_DIR/$b $WWW_DIR
    5.52 +		;;
    5.53 +		people)
    5.54 +			[ -d $REPOS_DIR/slitaz-forge/people ] && ln -s $REPOS_DIR/slitaz-forge/people $WWW_DIR/people
    5.55 +		;;
    5.56 +		doc)
    5.57 +			[ -d $REPOS_DIR/slitaz-forge/doc ] && cp -a $REPOS_DIR/slitaz-forge/doc $WWW_DIR/doc
    5.58 +			[ -d /var/www/dokuwiki ] && cp -a /var/www/dokuwiki/* $WWW_DIR/doc
    5.59 +			VAR="index media pages"
    5.60 +			for i in $VAR; do
    5.61 +				[ -d $REPOS_DIR/slitaz-doc-wiki-data ] && cp -a $REPOS_DIR/slitaz-doc-wiki-data/$i $WWW_DIR/doc/data
    5.62  			done
    5.63 -		fi
    5.64 -	fi
    5.65 -	if [ "$b" = "tank" ]; then
    5.66 -		[ -d $REPOS_DIR/slitaz-forge/$b/web ] && ln -sf $REPOS_DIR/slitaz-forge/$b/web $WWW_DIR/$b
    5.67 -		[ -f /usr/share/awstats/extras/update ] && ln -sf /usr/share/awstats/extras/update /usr/sbin/awsupdate_all
    5.68 -		[ -d $REPOS_DIR/slitaz-forge/$b/root/etc/awstats ] && cp -a $REPOS_DIR/slitaz-forge/$b/root/etc/awstats/* /etc/awstats
    5.69 -	fi
    5.70 -	if [ "$b" = "hg" ]; then
    5.71 -		[ -d $WWW_DIR/hg ] || mkdir -p $WWW_DIR/hg
    5.72 -		[ -f /usr/share/examples/mercurial/hgwebdir.cgi ] && ln -sf /usr/share/examples/mercurial/hgwebdir.cgi $WWW_DIR/hg
    5.73 -		[ -f $REPOS_DIR/slitaz-forge/tank/files/etc/mercurial/hgweb.config ] && ln -sf $REPOS_DIR/slitaz-forge/tank/files/etc/mercurial/hgweb.config /etc/mercurial/hgweb.config
    5.74 -	fi
    5.75 +			[ -d $REPOS_DIR/slitaz-doc-wiki-data/plugins ] && cp -a $REPOS_DIR/slitaz-doc-wiki-data/plugins  $WWW_DIR/doc/lib
    5.76 +			chown root.root -R $WWW_DIR/doc
    5.77 +			chmod 777 -R $WWW_DIR/doc
    5.78 +		;;
    5.79 +		pizza)
    5.80 +			[ -d $REPOS_DIR/slitaz-pizza/php ] && ln -sf $REPOS_DIR/slitaz-pizza/php $WWW_DIR/pizza
    5.81 +		;;
    5.82 +		bb)
    5.83 +			[ -d /usr/share/slitaz/web-bb ] && cp -a /usr/share/slitaz/web-bb $WWW_DIR/bb
    5.84 +			[ -d /usr/share/slitaz/web ] && cp -a /usr/share/slitaz/web $WWW_DIR/bb/web
    5.85 +			[ -d $REPOS_DIR/website/pics ] && ln -sf $REPOS_DIR/website/pics $WWW_DIR/bb/pics
    5.86 +			echo -e "$WWW_DIR/bb" | tazwok webserver on
    5.87 +		;;
    5.88 +		pkgs)
    5.89 +			[ -d $wWW_DIR/pkgs ] || mkdir -p $WWW_DIR/pkgs
    5.90 +		
    5.91 +			#[ -d /var/lib/tazpkg-web/style ] && cp -a /var/lib/tazpkg-web/style/* $WWW_DIR/pkgs
    5.92 +			#[ -f /var/lib/tazpkg-web/search.cgi ] && cp -a /var/lib/tazpkg-web/search.cgi $WWW_DIR/pkgs
    5.93 +			[ -d $REPOS_DIR/slitaz-dev-tools/tazpkg-web/style ] && cp -a $REPOS_DIR/slitaz-dev-tools/tazpkg-web/style/* $WWW_DIR/pkgs
    5.94 +			[ -d $REPOS_DIR/slitaz-dev-tools/tazpkg-web/search.cgi ] && cp -a $REPOS_DIR/slitaz-dev-tools/tazpkg-web/search.cgi $WWW_DIR/pkgs
    5.95 +			[ -d $COOKING ] || mkdir -p $COOKING
    5.96 +			[ -d $STABLE ] || mkdir -p $STABLE
    5.97 +			[ -d $REPOS_DIR/flavors ] && ln -sf $REPOS_DIR/flavors $COOKING/flavors
    5.98 +			[ -d $REPOS_DIR/flavors-stable ] && ln -sf $REPOS_DIR/flavors-stable $STABLE/flavors
    5.99 +			[ -d $COOKING/wok ] || ln -sf $REPOS_DIR/wok $COOKING/clean-wok
   5.100 +			[ -d $STABLE/wok ] || ln -sf $REPOS_DIR/wok-stable $STABLE/clean-wok
   5.101 +			[ -d $PKGDIR ] && ln -sf $PKGDIR /home/slitaz/$(cat /etc/slitaz-release)/packages
   5.102 +			[ -d $SRCDIR ] && ln -sf $SRCDIR /home/slitaz/$(cat /etc/slitaz-release)/src
   5.103 +		;;
   5.104 +		mirror)
   5.105 +			[ -d $REPOS_DIR/slitaz-dev-tools/mirror-tools/mirror-info ] && cp -a $REPOS_DIR/slitaz-dev-tools/mirror-tools/mirror-info $WWW_DIR
   5.106 +			[ -d $REPOS_DIR/slitaz-dev-tools/mirror-tools/slitaz ] && cp -a $REPOS_DIR/slitaz-dev-tools/mirror-tools/slitaz $WWW_DIR
   5.107 +			[ -d $WWW_DIR/slitaz/mirror/packages ] || mkdir -p $WWW_DIR/slitaz/mirror/packages
   5.108 +			[ -d $PKGDIR ] && ln -sf $PKGDIR $WWW_DIR/slitaz/mirror/packages/$(cat /etc/slitaz-release)
   5.109 +			if [ -d $SRCDIR ]; then
   5.110 +				for i in $(ls $SRCDIR); do
   5.111 +					[ -d $WWW_DIR/slitaz/mirror/sources/packages/${i:0:1} ] || mkdir -p $WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}
   5.112 +					ln -sf $SRCDIR/$i $WWW_DIR/slitaz/mirror/sources/packages/${i:0:1}/$i
   5.113 +				done
   5.114 +			fi
   5.115 +		;;
   5.116 +		boot)
   5.117 +			[ -d $REPOS_DIR/slitaz-forge/$b/web ] && cp -a $REPOS_DIR/slitaz-forge/$b/web $WWW_DIR/$b
   5.118 +			[ -d $REPOS_DIR/website/pics ] && ln -sf $REPOS_DIR/website/pics $WWW_DIR/$b/pics
   5.119 +		;;
   5.120 +		tank)
   5.121 +			[ -d $REPOS_DIR/slitaz-forge/$b/web ] && ln -sf $REPOS_DIR/slitaz-forge/$b/web $WWW_DIR/$b
   5.122 +			[ -f /usr/share/awstats/extras/update ] && ln -sf /usr/share/awstats/extras/update /usr/sbin/awsupdate_all
   5.123 +			[ -d $REPOS_DIR/slitaz-forge/$b/files/etc/awstats ] && cp -a $REPOS_DIR/slitaz-forge/$b/files/etc/awstats/* /etc/awstats
   5.124 +			for i in $ADDRESS; do
   5.125 +				if [ -f /etc/awstats/awstats.$i.conf ]; then
   5.126 +					dirlog=$(grep ^DirData= /etc/awstats/awstats.$i.conf | cut -d "=" -f2 | sed -e 's/"//g')
   5.127 +					mkdir -p $dirlog
   5.128 +				fi
   5.129 +			done
   5.130 +		;;
   5.131 +		hg)
   5.132 +			[ -d $WWW_DIR/hg ] || mkdir -p $WWW_DIR/hg
   5.133 +			[ -f /usr/share/examples/mercurial/hgwebdir.cgi ] && cp -a /usr/share/examples/mercurial/hgwebdir.cgi $WWW_DIR/hg
   5.134 +			[ -f $REPOS_DIR/slitaz-forge/tank/files/etc/mercurial/hgweb.config ] && cp -a $REPOS_DIR/slitaz-forge/tank/files/etc/mercurial/hgweb.config /etc/mercurial/hgweb.config
   5.135 +			#[ -f /etc/mercurial/hgweb.conf ] && sed -i 's|style = slitaz|style = gitweb|g' /etc/mercurial/hgweb.config
   5.136 +		;;
   5.137 +	esac
   5.138  }
   5.139  
   5.140  repos() {
   5.141  	for repo in $REPOS; do
   5.142  		[ -d $REPOS_DIR/$repo ] || continue
   5.143 -		if [ "$repo" = "flavors" ]; then
   5.144 -			[ -d $COOKING ] || mkdir -p $COOKING
   5.145 -			[ -d $REPOS_DIR/$repo ] && ln -sf $REPOS_DIR/$repo $COOKING/$repo
   5.146 -		fi
   5.147 -		if [ "$repo" = "flavors-stable" ]; then
   5.148 -			[ -d $STABLE ] || mkdir -p $STABLE
   5.149 -			[ -d $REPOS_DIR/$repo ] && ln -sf $REPOS_DIR/$repo $STABLE/$repo
   5.150 -		fi
   5.151  		if [ ! -f $REPOS_DIR/$repo/.hg/hgrc-web ]; then
   5.152  			[ -d $REPOS_DIR/$repo/.hg ] && touch $REPOS_DIR/$repo/.hg/hgrc-web
   5.153  			[ -d $REPOS_DIR/$repo/.hg ] && echo "[web]" >> $REPOS_DIR/$repo/.hg/hgrc-web
   5.154  			[ -d $REPOS_DIR/$repo/.hg ] && echo "style = slitaz" >> $REPOS_DIR/$repo/.hg/hgrc-web
   5.155 +			[ -d $REPOS_DIR/$repo/.hg ] && echo "staticurl = http://hg.slitaz.org/static/" >> $REPOS_DIR/$repo/.hg/hgrc-web
   5.156  			[ -d $REPOS_DIR/$repo/.hg ] && echo "push_ssl = false" >> $REPOS_DIR/$repo/.hg/hgrc-web
   5.157  			[ -d $REPOS_DIR/$repo/.hg ] && echo "allow_push = *" >> $REPOS_DIR/$repo/.hg/hgrc-web
   5.158  			[ ! -f $REPOS_DIR/$repo/.hg/hgrc-pull ] && mv $REPOS_DIR/$repo/.hg/hgrc $REPOS_DIR/$repo/.hg/hgrc-pull
     6.1 --- a/mkiso.sh	Mon Feb 28 14:52:01 2011 +0000
     6.2 +++ b/mkiso.sh	Tue Mar 08 15:00:12 2011 +0000
     6.3 @@ -18,7 +18,9 @@
     6.4  EXT="xz"
     6.5  COMPRESSION="xz -Xbcj x86"
     6.6  MKOPTION="-b 256k"
     6.7 +BASE_MODULES=""
     6.8  MODULES=""
     6.9 +UNION_MODULES=""
    6.10  WORKING="$PROFILE/working"
    6.11  INITRAMFS="$WORKING/initramfs"
    6.12  UNION="$WORKING/union"
    6.13 @@ -36,6 +38,9 @@
    6.14  UPDATE_HG="no"
    6.15  BACKUP_SOURCES="no"
    6.16  BACKUP_PACKAGES="no"
    6.17 +PKGISO_DIR="$ISODIR/mirror/packages"
    6.18 +SRCISO_DIR="$ISODIR/mirror/src"
    6.19 +MIRROR_DIR="mirror"
    6.20  BACKUP_ALL="no"
    6.21  CLEAN_MODULES_DIR="no"
    6.22  CLEAN_INITRAMFS="no"
    6.23 @@ -140,13 +145,23 @@
    6.24  	fi
    6.25  
    6.26  	#if [ ! -f $ISODIR/boot/bzImage ]; then
    6.27 -		cp -f $INITRAMFS/boot/vmlinuz* $ISODIR/boot/bzImage
    6.28 +		cp -a $INITRAMFS/boot/vmlinuz* $ISODIR/boot/bzImage
    6.29  		rm -f $INITRAMFS/boot/vmlinuz*
    6.30 +		if [ -f $INITRAMFS/boot/gpxe ]; then
    6.31 +			cp -a $INITRAMFS/boot/gpxe $ISODIR/boot/gpxe
    6.32 +		fi
    6.33  	#fi
    6.34  
    6.35  	if [ -d $BASEDIR/initramfs ]; then
    6.36  		cp -af $BASEDIR/initramfs/* $INITRAMFS
    6.37  	fi
    6.38 +	
    6.39 +	if [ -f $INITRAMFS/etc/local-mirror.conf ]; then
    6.40 +		sed -i "s|^#PKGDIR|PKGDIR=$PKGISO_DIR|g" $INITRAMFS/etc/local-mirror.conf
    6.41 +		sed -i "s|^#SRCDIR|SRCDIR=$SRCISO_DIR|g" $INITRAMFS/etc/local-mirror.conf
    6.42 +	fi
    6.43 +	
    6.44 +	sed -i "s|^#MIRROR|MIRROR="$MIRROR_DIR"|g" $INITRAMFS/liblinuxlive
    6.45  }
    6.46  
    6.47  copy_hg() {
    6.48 @@ -219,6 +234,7 @@
    6.49  	mkdir -p $ISODIR/${CDNAME}/rootcopy
    6.50  	mkdir -p $ISODIR/${CDNAME}/tmp
    6.51  	mkdir -p $LASTBR
    6.52 +	
    6.53  	touch $SGNFILE
    6.54  
    6.55  	modprobe aufs
    6.56 @@ -231,6 +247,12 @@
    6.57  	# This will be copyed to /mnt/memory/changes on boot
    6.58  	initramfs
    6.59  
    6.60 +	if [ $BASE_MODULES ]; then
    6.61 +		UNION_MODULES="$BASE_MODULES $MODULES"
    6.62 +	else
    6.63 +		UNION_MODULES="$MODULES"
    6.64 +	fi
    6.65 +	
    6.66  	mount -t aufs -o br:${LASTBR}=rw aufs ${UNION}
    6.67  	if [ $? -ne 0 ]; then 
    6.68  		error "Error mounting $union."
    6.69 @@ -238,7 +260,7 @@
    6.70  	fi
    6.71  	
    6.72  	info "====> Installing packages to '$UNION'"
    6.73 -	for mod in $MODULES; do
    6.74 +	for mod in $UNION_MODULES; do
    6.75  
    6.76  		if [ "$CLEAN_MODULES_DIR" = "yes" ]; then
    6.77  			if [ -d $MODULES_DIR/$mod ]; then
    6.78 @@ -254,6 +276,7 @@
    6.79  		info "Adding $LASTBR as lower branch of union."
    6.80  		mount -t aufs -o remount,mod:${LASTBR}=rr+wh aufs $UNION
    6.81  		LASTBR="$MODULES_DIR/${mod}"
    6.82 +		
    6.83  
    6.84  		slitaz_union
    6.85  	done
    6.86 @@ -273,8 +296,8 @@
    6.87  
    6.88  backup_pkg() {
    6.89  	if [ "${BACKUP_PACKAGES}" = "yes" ]; then
    6.90 -		[ -d $ISODIR/boot/packages ] && rm -r $ISODIR/boot/packages
    6.91 -		mkdir -p $ISODIR/boot/packages
    6.92 +		[ -d $PKGISO_DIR ] && rm -r $PKGISO_DIR
    6.93 +		mkdir -p $PKGISO_DIR
    6.94  		WOK=${HG_DIR}/wok/home/slitaz/repos/wok
    6.95  		info "Making cooking list based installed packages in union"
    6.96  		# this is to filter out packages build by get- 
    6.97 @@ -295,7 +318,7 @@
    6.98  				tail -1 | sed 's/ *//')"
    6.99  			for wanted in $rwanted; do
   6.100  				if [ -f $PACKAGES_REPOSITORY/$wanted-$pkg_VERSION.tazpkg ]; then
   6.101 -					ln -sf $PACKAGES_REPOSITORY/$wanted-$pkg_VERSION.tazpkg $ISODIR/boot/packages/$wanted-$pkg_VERSION.tazpkg
   6.102 +					ln -sf $PACKAGES_REPOSITORY/$wanted-$pkg_VERSION.tazpkg $PKGISO_DIR/$wanted-$pkg_VERSION.tazpkg
   6.103  				fi
   6.104  			done
   6.105  			for i in $(ls $WOK/$pkg/receipt); do
   6.106 @@ -305,12 +328,12 @@
   6.107  					tail -1 | sed 's/ *//')"
   6.108  				[ "$WGET_URL" ] || continue
   6.109  				if [ -f $PACKAGES_REPOSITORY/$PACKAGE-$pkg_VERSION.tazpkg ]; then
   6.110 -					ln -sf $PACKAGES_REPOSITORY/$PACKAGE-$pkg_VERSION.tazpkg $ISODIR/boot/packages/$PACKAGE-$pkg_VERSION.tazpkg
   6.111 +					ln -sf $PACKAGES_REPOSITORY/$PACKAGE-$pkg_VERSION.tazpkg $PKGISO_DIR/$PACKAGE-$pkg_VERSION.tazpkg
   6.112  				fi
   6.113  			done
   6.114  		done
   6.115  		
   6.116 -		[ -d $ISODIR/boot/packages ] && tazwok gen-list $ISODIR/boot/packages
   6.117 +		[ -d $PKGISO_DIR ] && tazwok gen-list $PKGISO_DIR
   6.118  	fi
   6.119  	
   6.120  }
   6.121 @@ -319,8 +342,8 @@
   6.122  
   6.123  	if [ "${BACKUP_PACKAGES}" = "yes" -a "${BACKUP_SOURCES}" = "yes" ]; then
   6.124  			[ -d $SOURCES_REPOSITORY ] || mkdir -p $SOURCES_REPOSITORY
   6.125 -			[ -d $ISODIR/boot/src ] && rm -r $ISODIR/boot/src
   6.126 -			mkdir -p $ISODIR/boot/src
   6.127 +			[ -d $SRCISO_DIR ] && rm -r $SRCISO_DIR
   6.128 +			mkdir -p $SRCISO_DIR
   6.129  			WOK=${HG_DIR}/wok/home/slitaz/repos/wok
   6.130  			cat $ISODIR/cookorder.list | grep -v "^#"| while read pkg; do
   6.131  				#rwanted=$(grep $'\t'$pkg$ $INCOMING_REPOSITORY/wok-wanted.txt | cut -f 1)
   6.132 @@ -332,17 +355,17 @@
   6.133  						[ ! -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then
   6.134  						tazwok get-src $PACKAGE --nounpack
   6.135  						if [ -f "$SOURCES_REPOSITORY/$TARBALL" ]; then
   6.136 -							ln -sf $SOURCES_REPOSITORY/$TARBALL $ISODIR/sources/$TARBALL
   6.137 +							ln -sf $SOURCES_REPOSITORY/$TARBALL $SRCISO_DIR/$TARBALL
   6.138  						elif [ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then
   6.139 -							ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $ISODIR/boot/src/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
   6.140 +							ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $SRCISO_DIR/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
   6.141  						fi
   6.142  					else
   6.143 -						[ -f "$SOURCES_REPOSITORY/$TARBALL" ] && ln -sf $SOURCES_REPOSITORY/$TARBALL $ISODIR/boot/src/$TARBALL
   6.144 -						[ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ] && ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $ISODIR/boot/src/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
   6.145 +						[ -f "$SOURCES_REPOSITORY/$TARBALL" ] && ln -sf $SOURCES_REPOSITORY/$TARBALL $SRCISO_DIR/$TARBALL
   6.146 +						[ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ] && ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $SRCISO_DIR/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
   6.147  					fi
   6.148  				done
   6.149  			done
   6.150 -			cd $ISODIR/boot/src
   6.151 +			cd $SRCISO_DIR
   6.152  			info "Make md5sum file for sources"
   6.153  			find * -not -type d | grep -v md5sum | xargs md5sum > md5sum
   6.154  			cd $WORKING
   6.155 @@ -353,8 +376,8 @@
   6.156  backup_all()
   6.157  {
   6.158  	if [ "${BACKUP_ALL}" = "yes" ]; then
   6.159 -		[ -d $ISODIR/boot/src ] || ln -sf $SOURCES_REPOSITORY $ISODIR/boot/src
   6.160 -		[ -d $ISODIR/boot/packages ] || ln -sf $PACKAGES_REPOSITORY $ISODIR/boot/packages
   6.161 +		[ -d $SRCISO_DIR ] || ln -sf $SOURCES_REPOSITORY $SRCISO_DIR
   6.162 +		[ -d $PKGISO_DIR ] || ln -sf $PACKAGES_REPOSITORY $PKGISO_DIR
   6.163  	fi
   6.164  }
   6.165  
   6.166 @@ -426,8 +449,8 @@
   6.167  		done
   6.168  	fi
   6.169  	
   6.170 -	[ -d $ISODIR/boot/src ] && rm -r $ISODIR/boot/src
   6.171 -	[ -d $ISODIR/boot/packages ] && rm -r $ISODIR/boot/packages
   6.172 +	[ -d $SRCISO_DIR ] && rm -r $SRCISO_DIR
   6.173 +	[ -d $PKGISO_DIR ] && rm -r $PKGISO_DIR
   6.174  	
   6.175  	if [ -d ${HG_DIR}/wok ]; then
   6.176  		backup_pkg