On 2015-06-22 Mon 12:39 PM |, Noah wrote: > On Mon, Jun 22, 2015 at 11:58 AM, Craig Skinner <skin...@britvault.co.uk> > wrote: > > > > *) either/both .txt/.html > > *) .txt output something like: ls [-l[h]] | fgrep -v index.txt > > > > Does auto index do the trick? It doesn't make an index.html/txt file, but > it does provide file names and links as you'd expect. >
Ummm.... I was thinking of something that could generate $RELEASE index.txt files, including siteXX.tgz & siteXX-<hostname>.tgz files. e.g: $ ftp -o /tmp/internal-index.txt http://mirror.internal/pub/OpenBSD/5.6/i386/index.txt Trying 192.168.1.1... Requesting http://mirror.internal/pub/OpenBSD/5.6/i386/index.txt (via http://gateway.internal) 100% |***************************************************************************************| 181 00:00 181 bytes received in 0.00 seconds (792.64 KB/s) $ cat /tmp/internal-index.txt INSTALL.i386 SHA256 SHA256.sig base56.tgz bsd bsd.mp bsd.rd comp56.tgz etc56.tgz game56.tgz man56.tgz pxeboot xbase56.tgz xetc56.tgz xfont56.tgz xserv56.tgz xshare56.tgz site56.tgz At the moment, I'm using a cron driven script to create index.txt files: $ fgrep index ~webmaster/crontab.bak @weekly release-indexer $ cat ~webmaster/bin/release-indexer #!/bin/ksh # # $Id: release-indexer,v 1.9 2015/06/22 16:30:27 craig Exp $ # # vim: tabstop=4 shiftwidth=4 softtabstop=4 noexpandtab # #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # # Copyright (c) 2014, 2015 Craig R. Skinner <skin...@britvault.co.uk> # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # # Update OpenBSD $RELEASE index.txt files (was in /etc/daily.local) # # cron/batch/at job? [[ -t 0 ]] || renice -n 20 -p $$ > /dev/null [[ -n ${RELEASEPATH} ]] || . /etc/pkg.env release=${RELEASEPATH%/*} find ${release%/*} -type d -maxdepth 2 -mindepth 2 ! -name packages | while read release do rel_index="${release}/index.txt" tmp_index=$(mktemp) find ${release} \( -type f -or -type l \) ! -empty ! -name index.txt | sed "s~${release}/~~" > ${tmp_index} diff ${rel_index} ${tmp_index} || { install -m 664 -p -S ${tmp_index} ${rel_index} && print "\n\n*** Installed: ${rel_index}\n\n" } rm ${tmp_index} done -- It's odd, and a little unsettling, to reflect upon the fact that English is the only major language in which "I" is capitalized; in many other languages "You" is capitalized and the "i" is lower case. -- Sydney J. Harris