mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

87 lines
2.2 KiB

#!/bin/bash
type_plain="plain"
usage_plain(){
cat >&2 <<EOF
Usage: ${0} -type plain
This will save the files in plain view on the medium.
This way you can view the content on any OS without the
need to boot the LVP. Of course, you can still do so :)
EOF
}
lvp_copy(){
src="${1}" ; trg="${2}"
echo -n "Trying to hardlink ${src} ... "
if ln "${src}" "${trg}" 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`
livesize=$(( ${livesize} + `du -sb isolinux | 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=${target}/lvp.xml
process_create_lvpxml
}