slitaz-dev-tools rev 308

mkpkgiso: fix broken hg repos
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri May 18 15:57:37 2018 +0200 (2018-05-18)
parents e4ec52b6fa11
children a6b28f1e53eb
files mirror-tools/rootfs/usr/bin/mkpkgiso
line diff
     1.1 --- a/mirror-tools/rootfs/usr/bin/mkpkgiso	Sun Dec 03 21:16:53 2017 +0100
     1.2 +++ b/mirror-tools/rootfs/usr/bin/mkpkgiso	Fri May 18 15:57:37 2018 +0200
     1.3 @@ -55,8 +55,15 @@
     1.4  		for i in $repos/* ; do
     1.5  			grep -qs '\[paths]' $i/.hg/hgrc || continue
     1.6  			cd $i
     1.7 -			hg pull
     1.8 -			hg update
     1.9 +			if hg pull -u 2>&1 | grep -q abort ; then
    1.10 +				cd - > /dev/null
    1.11 +				cd $repos
    1.12 +				mv $(basename $i) $(basename $i)-DEAD
    1.13 +				hg clone http://hg.slitaz.org/$(basename $i)
    1.14 +				cp $(basename $i)-DEAD/.hg/hgrc \
    1.15 +					$(basename $i)/.hg/hgrc
    1.16 +				rm -rf $(basename $i)-DEAD
    1.17 +			fi
    1.18  			cd - > /dev/null
    1.19  			case "$i" in
    1.20  			*/get-scripts)
    1.21 @@ -68,7 +75,7 @@
    1.22  						echo "|$(head -n 6 $j | sed \
    1.23  							"/^$k=/!d;s/$k=//;s/\"\\([^\"]*\\).*/\\1/")"
    1.24  					done
    1.25 -					} | sed "s/'/\\\\'/" | xargs echo
    1.26 +					} | sed "s/'/\\\\'/" | sed "s|\$PACKAGE|$(basename $j)|" | xargs echo
    1.27  				done | sed 's/ |/|/g' > /var/www/slitaz/mirror/packages/get.list
    1.28  				chmod a+r /var/www/slitaz/mirror/packages/get.list
    1.29  			esac
    1.30 @@ -315,6 +322,28 @@
    1.31  return 0
    1.32  }
    1.33  
    1.34 +# Build hybdrid shell/mbr boot
    1.35 +shhybrid() 
    1.36 +{
    1.37 +blkuuid="$(blkid $1 | sed 's/UUID=/!d;/.* UUID="\([^"]*\).*/\1/')"
    1.38 +[ "$blkuuid" ] || blkuuid="$(blkid $1 | sed 's/.* \(LABEL="[^"]*"\).*/\1/')"
    1.39 +echo -e "#\xE4\x73\x1C\nexec sed 1,/^#@/d/^#%/q \$0" | dd of=$1 conv=notrunc 2>/dev/null
    1.40 +dd bs=512 seek=1 conv=notrunc of=$1 2>/dev/null <<EOT
    1.41 +
    1.42 +#@
    1.43 +#!/bin/sh
    1.44 + 
    1.45 +dev=\$({ blkid $(basename $1); blkid; } | sed '/$blkuuid/!d;s/:.*//;q')
    1.46 + 
    1.47 +if [ -n "\$dev" ]; then
    1.48 +	mkdir -p /mnt/packages
    1.49 +	mount -t iso9660 -o loop,ro \$dev /mnt/packages
    1.50 +	/mnt/packages/install.sh
    1.51 +fi
    1.52 +#%
    1.53 +EOT
    1.54 +}
    1.55 +
    1.56  # Gen boot part
    1.57  BOOT_OPT=""
    1.58  iso=$ISO_DIR/slitaz-$PKG_VER.iso
    1.59 @@ -443,6 +472,10 @@
    1.60  which $ISOHYBRID > /dev/null && $ISOHYBRID $IMAGE 2> /dev/null
    1.61  status
    1.62  
    1.63 +echo -n "Creating hybrid shell/mbr"
    1.64 +shhybrid $IMAGE
    1.65 +status
    1.66 +
    1.67  echo -n "Calculating md5sum"
    1.68  md5sum $IMAGE > $(basename $IMAGE .iso).md5
    1.69  status