#!/bin/sh #---------------------------------------------------------------------------------- # create-index-eislist # # Copyright (c) 2001-2006 Frank Meyer # # Based on install-local-package by jed # # Creation : 2005-12-18 tg # Last Update: $Id$ # # usage : create-index-eislist # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. #---------------------------------------------------------------------------------- #---------------------------------------------------------------------------------- # sub: write eislist header # $1 - page number #---------------------------------------------------------------------------------- write_eislist_header () { pnbr=$1 if [ $pnbr -gt 1 ] then idxname="-$pnbr" else idxname='' fi # remove old file rm -f ${pack_dir}/eis-list${idxname}.txt # write header cat > ${pack_dir}/eis-list${idxname}.txt < """"""""""""""""Namen einfuegen""""""""""""""" # Copyright (c) 2001-2006 the eisfair team, c/o Frank Meyer, # Page $page_idx of $max_pages - $pack_prefix # index.txt # # Available packages: EOF } #---------------------------------------------------------------------------------- # sub: write eislist footer # $1 - page number #---------------------------------------------------------------------------------- write_eislist_footer () { pnbr=$1 if [ $pnbr -gt 1 ] then idxname="-$pnbr" else idxname='' fi # write footer { echo "#" if [ $page_idx -lt $max_pages ] then echo "# eis-list-`expr $page_idx + 1`.txt -> next page" fi } >> ${pack_dir}/eis-list${idxname}.txt chmod 664 ${pack_dir}/eis-list${idxname}.txt } #---------------------------------------------------------------------------------- # sub: write eislist entry # $1 - page number #---------------------------------------------------------------------------------- write_eislist_entry () { pnbr=$1 if [ $pnbr -gt 1 ] then idxname="-$pnbr" else idxname='' fi echo "# $FNAME" >> ${pack_dir}/eis-list${idxname}.txt } #---------------------------------------------------------------------------------- # create eis-list file # # input: $1 - package directory # return: 0 - ok # 1 - error accured #---------------------------------------------------------------------------------- create_eislist () { rtc=1 max_per_page=11 pack_dir="$1" # check if .info-files exist ls $pack_dir/updates/update.tar.gz.info $pack_dir/*.info > /dev/null 2> /dev/null if [ $? -eq 0 ] then # .info-file(s) found! cd $pack_dir max_nbr=`ls updates/update.tar.gz.info *.info|wc -l` max_pages=`expr \( $max_nbr - 1 \) \/ $max_per_page + 1` # process all .info-files nbr_idx=0 total_idx=0 page_idx=1 for FNAME in updates/update.tar.gz.info *.info do nbr_idx=`expr $nbr_idx + 1` total_idx=`expr $total_idx + 1` # write header if [ $nbr_idx -eq 1 ] then write_eislist_header $page_idx fi # write entry write_eislist_entry $page_idx # write footer if [ $nbr_idx -eq $max_per_page -o $total_idx -eq $max_nbr ] then write_eislist_footer $page_idx nbr_idx=0 page_idx=`expr $page_idx + 1` fi done rtc=0 fi return $rtc } #---------------------------------------------------------------------------------- # create index.txt file #---------------------------------------------------------------------------------- create_index () { # check if .info-files exist ls $pack_dir/updates/update.tar.gz.info $pack_dir/*.info > /dev/null 2> /dev/null if [ $? -eq 0 ] then # .info-file(s) found! cd $pack_dir rm -f $pack_dir/index.txt # write header { echo "#------------------------------------------------------------------" echo "# $pack_prefix/index.txt" echo "# Creation date: `date +%Y-%m-%d` `date +%H:%M:%S`" echo "#------------------------------------------------------------------" } > $pack_dir/index.txt for FNAME in updates/update.tar.gz.info *.info do pack_name=`grep "" $pack_dir/$FNAME | sed 's###g'` pack_version=`grep "" $pack_dir/$FNAME | sed -e 's#\([0-9\.]*\).*#\1#'` pack_status=`grep "" $pack_dir/$FNAME | sed 's###g'` pack_url="$pack_prefix/$FNAME" # ohne absoluten Pfad echo $pack_name $pack_version $pack_status $FNAME >> $pack_dir/index.txt done wget http://pack-eis.de/index.txt -O $pack_dir/index.pack-eis.txt { echo echo "#------------------------------------------------------------------" echo "# official index.txt from pack-eis follows" echo "#------------------------------------------------------------------" echo less $pack_dir/index.pack-eis.txt } >> $pack_dir/index.txt rm -f $pack_dir/index.pack-eis.txt chmod 664 $pack_dir/index.txt fi } #================================================================================== # main #================================================================================== #index_file="http://www.pack-eis.de/index.txt" index_file="http://WO SOLL DER INDEX FILE STEHEN DIR/DIR" #pack_prefix="file://$pack_dir" pack_prefix="http://WO LIEGEN DIE PAKETE DIR/DIR" package_dir="/var/www/WO LIEGEN DIE PAKETE DIR/DIR" if [ -d $package_dir ] then echo "Creating eis-list in $package_dir" if create_eislist "$package_dir" then # create index.txt file create_index fi else echo "Directory does not exist" fi #================================================================================== # end #==================================================================================