+function mklslar() {
+ cd $ftpdir
+
+ FILENAME=ls-lR
+
+ log "Removing any core files ..."
+ find -type f -name core -print0 | xargs -0r rm -v
+
+ log "Checking permissions on files in the FTP tree ..."
+ find -type f \( \! -perm -444 -o -perm +002 \) -ls
+ find -type d \( \! -perm -555 -o -perm +002 \) -ls
+
+ log "Checking symlinks ..."
+ symlinks -rd .
+
+ log "Creating recursive directory listing ... "
+ rm -f .${FILENAME}.new
+ TZ=UTC ls -lR > .${FILENAME}.new
+
+ if [ -r ${FILENAME}.gz ] ; then
+ mv -f ${FILENAME}.gz ${FILENAME}.old.gz
+ mv -f .${FILENAME}.new ${FILENAME}
+ rm -f ${FILENAME}.patch.gz
+ zcat ${FILENAME}.old.gz | diff -u - ${FILENAME} | gzip --rsyncable -9cfn - >${FILENAME}.patch.gz
+ rm -f ${FILENAME}.old.gz
+ else
+ mv -f .${FILENAME}.new ${FILENAME}
+ fi
+
+ gzip --rsyncable -9cfN ${FILENAME} >${FILENAME}.gz
+ rm -f ${FILENAME}
+}
+
+function mkmaintainers() {
+ log -n 'Creating Maintainers index ... '
+
+ cd $indices
+ dak make-maintainers ${scriptdir}/masterfiles/pseudo-packages.maintainers | \
+ sed -e "s/~[^ ]*\([ ]\)/\1/" | awk '{printf "%-20s ", $1; for (i=2; i<=NF; i++) printf "%s ", $i; printf "\n";}' > .new-maintainers
+
+ set +e
+ cmp .new-maintainers Maintainers >/dev/null
+ rc=$?
+ set -e
+ if [ $rc = 1 ] || [ ! -f Maintainers ] ; then
+ log -n "installing Maintainers ... "
+ mv -f .new-maintainers Maintainers
+ gzip --rsyncable -9v <Maintainers >.new-maintainers.gz
+ mv -f .new-maintainers.gz Maintainers.gz
+ elif [ $rc = 0 ] ; then
+ log '(same as before)'
+ rm -f .new-maintainers
+ else
+ log cmp returned $rc
+ false
+ fi
+}
+