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

Reply via email to