wok annotate mirror-tools/stuff/usr/bin/mkpkgiso @ rev 6154

Up: libcddb, libcddb-dev to 1.3.2.
author Christopher Rogers <slaxemulator@gmail.com>
date Thu Sep 09 20:40:40 2010 +0000 (2010-09-09)
parents afd44e3eda0d
children bea570b9faaa
rev   line source
pascal@1725 1 #!/bin/sh
pascal@1725 2 # mkpkgiso, build packages ISO image.
pascal@1725 3 # (C) 2007-TODAY SliTaz - GNU General Public License v3.
pascal@1725 4 #
pascal@1725 5 # Authors : Eric Joseph-Alexandre <erjo@slitaz.org>
pascal@1725 6 # Pascal Bellard <pascal.bellard@slitaz.org>
pascal@1725 7
pascal@5648 8 VERSION=0.9
pascal@1725 9
pascal@4466 10 PKG_VER=$1
pascal@1725 11 ROOT=/home/slitaz/iso
pascal@4466 12 REPOS=/var/www/slitaz/mirror/packages/$PKG_VER
pascal@4839 13 SOURCES=/var/www/slitaz/mirror/sources/packages
pascal@4466 14 IFMEM_C32=/var/www/slitaz/mirror/pxe/ifmem.c32
pascal@4466 15 ISO_DIR=/var/www/slitaz/mirror/iso/$PKG_VER
pascal@4466 16
pascal@4466 17 [ -s /etc/slitaz/mkpkgiso.conf ] && . /etc/slitaz/mkpkgiso.conf
pascal@4466 18 [ -s ./mkpkgiso.conf ] && . ./mkpkgiso.conf
pascal@4466 19
pascal@3759 20 SORT_DIR=${ROOT}/_iso.$$
pascal@3759 21 TEMP_DIR=${ROOT}/_iso.$$
pascal@3670 22 SORT_FILE=${ROOT}/_sort.$$
pascal@1725 23 shift
pascal@1725 24 OPTIONS=$@
pascal@1725 25 PKG_DIR=$TEMP_DIR/packages/$PKG_VER
pascal@4839 26 SRC_DIR=$TEMP_DIR/src
pascal@1725 27 LOG=$PWD/$(basename $0).log
pascal@1725 28
pascal@1725 29 #
pascal@1725 30 VOLUME_ID="packages-${PKG_VER}"
pascal@1725 31 PUBLISHER="SliTaz http://www.slitaz.org/"
pascal@1725 32 IMAGE="packages-${PKG_VER}.iso"
pascal@4839 33 case " $@ " in
pascal@4839 34 *\ --sources\ *)
pascal@4839 35 IMAGE="sources-${PKG_VER}.iso" ;;
pascal@4839 36 esac
pascal@1725 37 OUTPUT="$ROOT/$IMAGE"
pascal@1725 38
pascal@1725 39 # Check command line option.
pascal@1725 40 if [ -z $PKG_VER ]; then
pascal@3670 41 cat <<EOT
pascal@3670 42 Usage: $(basename $0) <Version>
pascal@3670 43 [--boot [--auto-install] [--loram-detect]]|--webboot] [--filter]
pascal@4839 44 [--wok] [--wok-stable] [--website] [--sources] [--dry-run]
pascal@5648 45 $(basename $0) update-hg <dir>
pascal@4466 46 Example:
pascal@4839 47 $(basename $0) cooking --boot --auto-install --loram-detect --filter --wok --website --sources
pascal@3670 48 EOT
pascal@1725 49 exit 1
pascal@1725 50 fi
pascal@1725 51
pascal@5648 52 # Update hg repos
pascal@5648 53 if [ "$PKG_VER" == "update-hg" ]; then
pascal@5648 54 for i in $1/* ; do
pascal@5648 55 [ -s $i/.hg/hgrc ] || continue
pascal@5648 56 cd $i
pascal@5648 57 hg pull
pascal@5648 58 hg update
pascal@5648 59 cd - > /dev/null
pascal@5648 60 done
pascal@5648 61 exit 1
pascal@5648 62 fi
pascal@5648 63
pascal@1725 64 # Check if we provide a valide version
pascal@1725 65 if [ ! -d $REPOS ]; then
pascal@1725 66 echo "Boooh! $PKG_VER is not a valid version."
pascal@1725 67 exit 1
pascal@1725 68 fi
pascal@1725 69
pascal@1725 70 # Status function.
pascal@1725 71 status()
pascal@1725 72 {
pascal@4466 73 local CHECK=$?
pascal@4466 74 echo -en "\\033[70G[ "
pascal@4466 75 if [ $CHECK = 0 ]; then
pascal@4466 76 echo -en "\\033[1;33mOK"
pascal@4466 77 else
pascal@4466 78 echo -en "\\033[1;31mFailed"
pascal@4466 79 fi
pascal@4466 80 echo -e "\\033[0;39m ]"
pascal@4466 81 }
pascal@4466 82
pascal@4466 83 need()
pascal@4466 84 {
pascal@4466 85 found=1
pascal@4466 86 for i in $@ ; do
pascal@4466 87 [ -s $i ] && continue
pascal@4466 88 echo "Missing: $i "
pascal@4466 89 found=0
pascal@4466 90 done
pascal@4466 91 [ $found -ne 0 ] && return
pascal@4466 92 status
pascal@4466 93 rm -rf $TEMP_DIR $SORT_FILE
pascal@4466 94 exit 1
pascal@1725 95 }
pascal@1725 96
pascal@1725 97 # Create temp directory
pascal@1725 98 mkdir -p $TEMP_DIR/packages/$PKG_VER
pascal@4466 99 which genisoimage > /dev/null || need /usr/bin/genisoimage
pascal@1725 100
pascal@1725 101 # Prepare evrything for ISO
pascal@1725 102
pascal@1725 103 echo ""
pascal@1725 104 echo "Building ISO for packages $PKG_VER"
pascal@1725 105 echo "==============================================================================="
pascal@1725 106 echo -n "Creating working dir $(basename $TEMP_DIR)"
pascal@1725 107 status
pascal@1725 108 echo -n "Creating symlink"
pascal@1725 109 status
pascal@1725 110
pascal@1725 111 # Link every packages to temp dir
pascal@1725 112 cd $PKG_DIR
pascal@1725 113 for i in $REPOS/*
pascal@1725 114 do
pascal@1725 115 ln -s $i >> $LOG 2>&1
pascal@1725 116 done
pascal@1725 117
pascal@1725 118 echo -n "Creating install script"
pascal@1725 119 # Create install script as suggested by Pascal.
pascal@1725 120 cat >$TEMP_DIR/install.sh<<EOF
pascal@1725 121 #!/bin/sh
pascal@1725 122 #
pascal@1725 123
pascal@3670 124 DIR=\$(cd \$(busybox dirname \$0); pwd)
pascal@3670 125
pascal@3670 126 # Handle --auto-install case
pascal@3670 127 if [ "\$DIR" == "/etc/init.d" ]; then
pascal@3929 128 DIR=/cdrom
pascal@3932 129 if [ ! -f /cdrom/install.sh ]; then
pascal@3932 130 mkdir /cdrom 2> /dev/null
pascal@3932 131 mount --bind /mnt /cdrom
pascal@3932 132 fi
pascal@3670 133 # Handle loram on hybrid hard disk / usb key case
pascal@3670 134 if [ ! -d /usr/bin ]; then
pascal@3925 135 echo ""
pascal@3670 136 if [ -d /.usr.rw ]; then
pascal@3670 137 echo -n "Mounting /usr read-write... "
pascal@3670 138 usr=.usr.ro
pascal@3670 139 else
pascal@3670 140 echo -n "Mounting /usr read-only... "
pascal@3670 141 usr=usr
pascal@3670 142 fi
pascal@3670 143 FS=\$DIR/usr.cromfs
pascal@3670 144 if [ -f \$FS ]; then
pascal@3670 145 /bin/cromfs-driver \$FS /\$usr -o ro,dev,suid,allow_other
pascal@3670 146 elif [ -f \$DIR/usr.sqfs ]; then
pascal@3670 147 FS=\$DIR/usr.sqfs
pascal@3670 148 mount -o loop,ro -t squashfs \$FS /\$usr
pascal@3670 149 elif [ -L /\$usr ]; then
pascal@3670 150 FS=\$DIR/usr
pascal@3670 151 fi
pascal@3670 152 status
pascal@3670 153 if [ -d /.usr.rw ]; then
pascal@3670 154 if [ -x /bin/funionfs ]; then
pascal@3670 155 /bin/funionfs -o dirs=/.usr.ro=RO:/.usr.rw -o allow_other -o suid,dev NONE /usr
pascal@3670 156 else
pascal@3670 157 /bin/mount -t aufs -o br:/.usr.rw:/.usr.ro none /usr
pascal@3670 158 fi
pascal@3670 159 fi
pascal@3670 160 fi
pascal@3670 161 fi
pascal@1725 162
pascal@1725 163 [ -d /var/cache/tazpkg ] || mkdir -p /var/cache/tazpkg
pascal@1725 164 ls -d \$DIR/packages/* > /var/lib/tazpkg/mirror
pascal@1725 165 ln -fs \$DIR/packages/*/*.tazpkg /var/cache/tazpkg/
pascal@1725 166 ln -fs \$DIR/packages/*/packages.* /var/lib/tazpkg
pascal@3932 167 echo ""
pascal@3932 168 echo "=> all $PKG_VER packages are available for tazpkg/tazpkgbox"
pascal@1725 169 EOF
pascal@1725 170 [ -e files.list.lzma ] && cat >>$TEMP_DIR/install.sh<<EOF
pascal@1725 171 ln -fs \$DIR/packages/*/files.list.lzma /var/lib/tazpkg
pascal@1725 172 EOF
pascal@1725 173
pascal@1725 174 status
pascal@3670 175 cat > $SORT_FILE <<EOT
pascal@3757 176 $SORT_DIR/install.sh -4000
pascal@3757 177 $SORT_DIR/README -4000
pascal@3757 178 $SORT_DIR/index.html -4000
pascal@3757 179 $SORT_DIR/md5sum -4000
pascal@3757 180 $SORT_DIR/style.css -4000
pascal@3757 181 $SORT_DIR/images/header.png -4000
pascal@3757 182 $SORT_DIR/boot/bzImage 2
pascal@3757 183 $SORT_DIR/boot/rootfs.gz 1
pascal@3757 184 $SORT_DIR/packages -9000
pascal@3670 185 EOT
pascal@3757 186 ( cd $ROOT; ls $SORT_DIR/packages/*/packages* $SORT_DIR/packages/*/files.list.lzma ) | \
pascal@3757 187 awk '{ printf "%s -7000\n",$0 }' >> $SORT_FILE
pascal@1725 188 chmod 755 $TEMP_DIR/install.sh
pascal@1725 189
pascal@1725 190 case " $OPTIONS " in
pascal@1725 191 *\ --filter\ *)
pascal@1725 192 SIZE=0
pascal@1725 193 for i in *.tazpkg; do
pascal@1725 194 while read f; do
pascal@1725 195 case "$i" in
pascal@1725 196 $f*) continue 2;;
pascal@1725 197 esac
pascal@1725 198 done < packages.list
pascal@1725 199 echo -n "Filter out $i ($(du -hs $(readlink $i) | awk '{ print $1 }'))..."
pascal@1725 200 SIZE=$(( $SIZE + $(stat -c %s $(readlink $i)) ))
pascal@1725 201 rm $i
pascal@1725 202 status
pascal@1725 203 done
pascal@1725 204 UNIT=" bytes"
pascal@1725 205 if [ $SIZE -gt 10240 ]; then
pascal@1725 206 SIZE=$(( $SIZE / 1024 ))
pascal@1725 207 UNIT="K"
pascal@1725 208 fi
pascal@1725 209 if [ $SIZE -gt 10240 ]; then
pascal@1725 210 SIZE=$(( $SIZE / 1024 ))
pascal@1725 211 UNIT="M"
pascal@1725 212 fi
pascal@1725 213 echo "$SIZE$UNIT removed.";;
pascal@1725 214 esac
pascal@2569 215
pascal@2569 216 # Copy hg subtree
pascal@2569 217 get_from_hg()
pascal@2569 218 {
pascal@2569 219 echo -n "Adding $2"
pascal@5648 220 if [ -s /home/slitaz/$1/.hg/hgrc ]; then
pascal@5648 221 cp -a /home/slitaz/$1 $TEMP_DIR
pascal@5648 222 else
pascal@5648 223 wget -q -O - http://hg.slitaz.org/$1/archive/tip.tar.bz2 | tar xjf - -C $TEMP_DIR
pascal@5648 224 mv $TEMP_DIR/$1-* $TEMP_DIR/$1
pascal@5648 225 fi
pascal@2569 226 status
pascal@2569 227 echo "$(du -hs $TEMP_DIR/$1 | awk '{ print $1 }') used by $2."
pascal@2569 228 }
pascal@2569 229
pascal@2571 230 for i in $OPTIONS ; do
pascal@2571 231 case "$i" in
pascal@2571 232 --wok)
pascal@3670 233 cat >>$TEMP_DIR/install.sh<<EOF
pascal@3927 234 mkdir -p /home/slitaz
pascal@3927 235 ln -s \$DIR/wok /home/slitaz
pascal@3927 236 echo "=> Wok (cooking) is in /home/slitaz/wok"
pascal@3670 237 EOF
pascal@3670 238 if get_from_hg wok "wok (cooking)"; then
pascal@3759 239 echo "$SORT_DIR/wok -8000" >> $SORT_FILE
pascal@3670 240 fi;;
pascal@2571 241 --wok-stable)
pascal@3670 242 cat >>$TEMP_DIR/install.sh<<EOF
pascal@3927 243 mkdir -p /home/slitaz
pascal@3927 244 ln -s \$DIR/wok /home/slitaz
pascal@3927 245 echo "=> Wok (stable) is in /home/slitaz/wok"
pascal@3670 246 EOF
pascal@3670 247 if get_from_hg wok-stable "wok (stable)"; then
pascal@3670 248 mv $TEMP_DIR/wok-stable $TEMP_DIR/wok
pascal@3759 249 echo "$SORT_DIR/wok -8000" >> $SORT_FILE
pascal@3670 250 fi;;
pascal@2571 251 --website)
pascal@2569 252 if get_from_hg website "web site"; then
pascal@3759 253 echo "$SORT_DIR/website -6000" >> $SORT_FILE
pascal@1725 254 cat >>$TEMP_DIR/install.sh<<EOF
pascal@3932 255 echo "=> slitaz web site installed in file://\$DIR/website/index.html"
pascal@1725 256 EOF
pascal@1725 257 fi;;
pascal@4839 258 --sources)
pascal@4839 259 cat >>$TEMP_DIR/install.sh<<EOF
pascal@4839 260 mkdir -p /home/slitaz
pascal@4839 261 ln -s \$DIR/src /home/slitaz
pascal@4839 262 echo "=> sources are in /home/slitaz/src"
pascal@4839 263 EOF
pascal@4839 264 mkdir -p $SRC_DIR
pascal@4839 265 cd $SRC_DIR
pascal@4839 266 for i in $SOURCES/*/*
pascal@4839 267 do
pascal@4839 268 case "$i" in
pascal@4839 269 */md5sum) continue;;
pascal@4839 270 esac
pascal@4839 271 ln -s $i >> $LOG 2>&1
pascal@4839 272 done
pascal@4839 273 find * -not -type d | grep -v md5sum | xargs md5sum > md5sum
pascal@4839 274 echo "$(du -hs $SOURCES | awk '{ print $1 }') used by sources." ;;
pascal@1725 275 esac
pascal@2571 276 done
pascal@1725 277
pascal@1725 278 # Extract boot package function
pascal@1725 279 extract_boot()
pascal@1725 280 {
pascal@1725 281 f=$(ls $REPOS/$1-[0-9]*.tazpkg 2> /dev/null)
pascal@1725 282 [ -f "$f" ] || return 1
pascal@1725 283 [ -d $TEMP_DIR/boot ] || mkdir $TEMP_DIR/boot
pascal@1725 284 ( cd $TEMP_DIR/boot ; cpio -i fs.cpio.gz < $f 2> /dev/null )
pascal@1725 285 ( cd $TEMP_DIR/boot ; zcat fs.cpio.gz | cpio -id 2> /dev/null )
pascal@1725 286 mv $TEMP_DIR/boot/fs/boot/* $TEMP_DIR/boot
pascal@1725 287 rm -rf $TEMP_DIR/boot/fs.cpio.gz $TEMP_DIR/boot/fs
pascal@1725 288 return 0
pascal@1725 289 }
pascal@1725 290
pascal@1725 291 # Gen boot part
pascal@1725 292 BOOT_OPT=""
pascal@1725 293 iso=$ISO_DIR/slitaz-$PKG_VER.iso
pascal@5203 294 for i in slitaz-loram-cdrom-sqfs slitaz-$PKG_VER-loram-cdrom ; do
pascal@5203 295 isoloram=$ISO_DIR/flavors/$i.iso
pascal@5203 296 [ -s $isoloram ] && break
pascal@5203 297 done
pascal@1725 298 case " $OPTIONS " in
pascal@1725 299 *\ --boot\ *)
pascal@4466 300 echo -n "Creating boot tree"
pascal@4466 301 need $iso
pascal@4466 302 which isoinfo > /dev/null || need /usr/bin/isoinfo
pascal@1725 303 isoinfo -R -l -i $iso | awk '/^Directory/ { path=$4 } /^-/ { print path$12 }' | while read file; do
pascal@2118 304 [ "$(basename $file)" == ".." ] && continue
pascal@1725 305 [ "$file" = "/boot/isolinux/boot.cat" ] && continue
pascal@1725 306 [ -d "$(dirname $TEMP_DIR/$file)" ] ||
pascal@1725 307 mkdir -p "$(dirname $TEMP_DIR/$file)"
pascal@1725 308 isoinfo -R -x "$file" -i $iso > "$TEMP_DIR/$file"
pascal@1725 309 done
pascal@3757 310 if [ -f "$(echo $TEMP_DIR/boot/vmlinuz*)" ]; then
pascal@3757 311 rm -f $TEMP_DIR/boot/bzImage
pascal@3757 312 ln $TEMP_DIR/boot/vmlinuz* $TEMP_DIR/boot/bzImage
pascal@4466 313 fi
pascal@1725 314 status
pascal@3757 315 BOOT_OPT="-sort $SORT_FILE -b boot/isolinux/isolinux.bin \
pascal@3757 316 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table"
pascal@4466 317 case " $OPTIONS " in
pascal@3670 318 *\ --auto-install\ *)
pascal@4466 319 echo -n "Enable auto install"
pascal@3670 320 sed -i "s/rw root/rw config=LABEL=packages-$PKG_VER,install.sh root/" \
pascal@3670 321 $TEMP_DIR/boot/isolinux/*.cfg
pascal@3670 322 status
pascal@3670 323 ;;
pascal@3670 324 esac
pascal@4466 325 case " $OPTIONS " in
pascal@3670 326 *\ --loram-detect\ *)
pascal@4466 327 echo -n "Enable loram autodetection"
pascal@4466 328 need $IFMEM_C32 $isoloram
pascal@4466 329 which isoinfo > /dev/null || need /usr/bin/isoinfo
pascal@4466 330 cp $IFMEM_C32 "$TEMP_DIR/boot/isolinux"
pascal@5203 331 isoinfo -R -x "/usr.sqfs" -i $isoloram \
pascal@5203 332 > "$TEMP_DIR/usr.sqfs" 2> /dev/null
pascal@5203 333 if [ -s "$TEMP_DIR/usr.sqfs" ]; then
pascal@5203 334 echo "$SORT_DIR/usr.sqfs -5000" >> $SORT_FILE
pascal@5203 335 else
pascal@5203 336 rm -f "$TEMP_DIR/usr.sqfs"
pascal@5203 337 isoinfo -R -x "/rootfs.gz" -i $isoloram \
pascal@5203 338 > "$TEMP_DIR/rootfs.gz" 2> /dev/null
pascal@5203 339 echo "$SORT_DIR/rootfs.gz -5000" >> $SORT_FILE
pascal@5203 340 fi
pascal@3670 341 isoinfo -R -x "/boot/rootfs.gz" -i $isoloram > \
pascal@3670 342 "$TEMP_DIR/boot/loram.gz"
pascal@3759 343 cat >> $TEMP_DIR/boot/isolinux/common.cfg <<EOT
pascal@3759 344 label noram
pascal@3759 345 config noram.cfg
pascal@3759 346 EOT
pascal@3759 347 cat >> $TEMP_DIR/boot/isolinux/noram.cfg <<EOT
pascal@3759 348 display isolinux.msg
pascal@3759 349 say Not enough RAM to boot slitaz.
pascal@3759 350 default reboot
pascal@3759 351 label reboot
pascal@3759 352 com32 reboot.c32
pascal@3759 353
pascal@3759 354 implicit 0
pascal@3759 355 prompt 1
pascal@3759 356 timeout 80
pascal@3759 357 F1 help.txt
pascal@3759 358 F2 options.txt
pascal@3759 359 F3 isolinux.msg
pascal@3759 360 F4 display.txt
pascal@3759 361 F5 enhelp.txt
pascal@3759 362 F6 enopts.txt
pascal@3759 363 EOT
pascal@3759 364 sed -i -e 's|kernel /boot/bzImage|kernel /boot/isolinux/ifmem.c32\n\tappend 160768 core 29696 loram noram\n|' \
pascal@4965 365 -e "s|\\(.*/\\)rootfs\\(.gz .*\\)\$|label core\\n\\tkernel /boot/bzImage\\n\\1rootfs\\2\\n\\nlabel loram\\n\\tkernel /boot/bzImage\\n\\1loram\\2 loram=LABEL=packages-$PKG_VER,|" \
pascal@3670 366 $TEMP_DIR/boot/isolinux/*.cfg
pascal@3670 367 status
pascal@3670 368 ;;
pascal@3670 369 esac
pascal@3759 370 echo "$SORT_DIR/boot 0" >> $SORT_FILE
pascal@1725 371 ;;
pascal@1725 372 *\ --webboot\ *)
pascal@1725 373 if extract_boot gpxe; then
pascal@4466 374 echo -n "Creating web boot tree"
pascal@4466 375 which isoinfo > /dev/null || need /usr/bin/isoinfo
pascal@4466 376 mkdir $TEMP_DIR/boot/isolinux/
pascal@4466 377 isoinfo -R -x "/boot/isolinux/isolinux.bin" -i $iso > \
pascal@4466 378 $TEMP_DIR/boot/isolinux/isolinux.bin
pascal@4466 379 mv $TEMP_DIR/boot/gpxe $TEMP_DIR/boot/isolinux
pascal@4466 380 echo "$SORT_DIR/boot 0" >> $SORT_FILE
pascal@4466 381 cat > $TEMP_DIR/boot/isolinux/isolinux.cfg <<EOT
pascal@1725 382 default gpxe
pascal@1725 383 append http://mirror.slitaz.org/pxe/pxelinux.0
pascal@1725 384 EOT
pascal@4466 385 status
pascal@4466 386 BOOT_OPT="-sort $SORT_FILE -b boot/isolinux/isolinux.bin \
pascal@3757 387 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table"
pascal@1725 388 fi
pascal@1725 389 ;;
pascal@1725 390 esac
pascal@1725 391
pascal@1725 392 if [ -n "$BOOT_OPT" ]; then
pascal@3670 393 echo "$(du -chs $TEMP_DIR/boot $TEMP_DIR/usr.sqfs 2> /dev/null | \
pascal@4466 394 awk 'END { print $1 }') used by boot."
pascal@1725 395 fi
pascal@1725 396
pascal@3670 397 case " $OPTIONS " in
pascal@3670 398 *\ --dry-run\ *)
pascal@3670 399 echo "Please check and remove $TEMP_DIR and $SORT_FILE"
pascal@3670 400 exit
pascal@3670 401 ;;
pascal@3670 402 esac
pascal@1725 403 # Gen ISO
pascal@1725 404 echo -n "Generating iso image"
pascal@4466 405 genisoimage -R -J -f -V $VOLUME_ID \
pascal@1725 406 -P "$PUBLISHER" -md5-list $REPOS/packages.md5 \
pascal@1725 407 -quiet -o $OUTPUT $BOOT_OPT $TEMP_DIR
pascal@1725 408 status
pascal@1725 409
pascal@1725 410 echo "$(du -hs $OUTPUT | awk '{ print $1 }') used by iso image."
pascal@1725 411
pascal@2118 412 cd ${ROOT}
pascal@2115 413 echo -n "Create hybrid DVD/CDROM"
pascal@4466 414 which isohybrid > /dev/null && isohybrid $IMAGE 2> /dev/null
pascal@2115 415 status
pascal@2115 416
pascal@1725 417 echo -n "Calculate md5sum"
pascal@4466 418 md5sum $IMAGE > $(basename $IMAGE .iso).md5
pascal@1725 419 status
pascal@1725 420
pascal@1725 421 echo -n "Moving file to mirror"
pascal@1725 422 mv $IMAGE $ISO_DIR
pascal@1725 423 mv $(basename $IMAGE .iso).md5 $ISO_DIR
pascal@1725 424 status
pascal@1725 425
pascal@3670 426 # Cleaning temp files
pascal@3670 427 rm -rf $TEMP_DIR $SORT_FILE
pascal@1725 428