#!/bin/bash type_plain="plain" usage_plain(){ cat >&2 </dev/null ; then echo "ok" else echo "failed" echo -n "Copying ${src} to ${trg} ... " if cp "${src}" "${trg}" ; then echo "ok" else echo "failed" fi fi } process_plain(){ target="livesystem" echo -n "Checking necessary filesystem size ... " filesize=0 while read file ; do [ ! -f "${file}" ] && continue thisfilesize=`ls -l "${file}" | sed 's,[ \t][ \t]*, ,g' | cut -f5 -d' '` filesize=$(( ${filesize} + ${thisfilesize} )) done < ${moviefiles} echo "${filesize} Byte (`human_readable ${size}`)" echo -n "Checking Livesystem size ... " livesize=`du -sb ${target} | cut -f1` echo "`human_readable ${livesize}`" filesize=$(( $filesize + $livesize )) echo echo "Total space needed: $(( ${filesize} / 1024 / 1024 )) MB" if [ $(( ${filesize} / 1024 / 1024 )) -gt $size ] ; then echo echo "This may be more than fits onto your medium." echo "You specified ${size} MB to fit onto your medium." echo "If you are sure that this is okay, please continue." echo "If not, please truncate your filelist." confirm "Continue" [ ${?} -eq 1 ] && exit 1 fi while read file ; do [ ! -f "${file}" ] && continue if [ -f "${target}/${file##*/}" ] ; then origfilesize=`ls -l "${file}" | sed 's,[ \t][ \t]*, ,g' | cut -f5 -d' '` targfilesize=`ls -l "${target}/${file##*/}" | sed 's,[ \t][ \t]*, ,g' | cut -f5 -d' '` if [ ${origfilesize} -eq ${targfilesize} ] ; then echo "${target}/${file##*/} already exists." else rm -f "${target}/${file##*/}" lvp_copy "${file}" "${target}/${file##*/}" fi else rm -f "${target}/${file##*/}" lvp_copy "${file}" "${target}/${file##*/}" fi environment="`echo ${file} | tr '[. \-!]' '_'`" eval "export file_${environment##*/}=\"/${file##*/}\"" done < ${moviefiles} lvpxml=livesystem/lvp.xml process_create_lvpxml }