From f2705501109cc2fe4634f95287b7ffb7599831e9 Mon Sep 17 00:00:00 2001 From: jankratochvil <> Date: Sat, 13 Nov 2004 16:29:34 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create tag 'bp_liverpm'. Sprout from master 2004-11-13 16:29:33 UTC short 'Include "rpm-qa" file.' Delete: .bash_profile .bashrc .cvsignore .cvspass .cvsrc .gdbinit .inputrc .lftprc .muttrc .muttrc-gpg.rc .muttrc.addons .netrc .rpmmacros .screenrc .ssh/.cvsignore .ssh/config .ssh/known_hosts .ssh/known_hosts2 .userContent.css .vimrc .weblintrc bin/.cvsignore bin/4cinfo-refill bin/CVSROOTdump bin/From-split.perl bin/ar bin/centrum.sh bin/checkstatic bin/comp bin/cvsbranchdiff bin/cvslinks bin/cvsutil bin/deployme bin/dirlistbases bin/expunge-imap bin/exx bin/fromdos bin/fromhex bin/ftprate bin/httpgetdumb bin/iptables-isp-list bin/kernelfilterdiffconfig bin/killall bin/kratochvil.vellum.cz-update bin/ldconfig-pserver bin/line9k bin/m bin/md bin/mdr_args bin/mr bin/netstatapn bin/passg bin/perlilib bin/ppp9k bin/radary bin/runsocks bin/sendmailerr bin/sslsmtp bin/strip bin/todos bin/vellumweb-build bin/worldisup public_html/cgi-bin/.htaccess public_html/cgi-bin/postget.php src/.cvsignore src/Makefile src/Perl-Style src/const_test.c src/cvs-wrap.c src/ev.c src/flock.c src/ghortident.c src/ldconfig-1999-02-21-prep-docache.diff src/misc/LGPL2.1 src/misc/getopt/getopt.c src/misc/getopt/getopt.h src/misc/getopt/getopt1.c src/misc/macros/need-declaration.m4 src/misc/memmove.c src/misc/strdup.c src/misc/usleep.c src/ndc-reload-short.c src/pbmtopicturemsg.pl src/pipebuf.c src/pserverchroot.c src/rpm/.cvsignore src/rpm/SOURCES/.cvsignore src/rpm/SOURCES/cvs-1.11-badroot.patch src/rpm/SOURCES/cvs-1.11-umask022.patch src/rpm/SPECS/cvs.spec src/rpm/SPECS/glibc.spec src/unmime.c src/urlencode.c src/wcr.c --- .bash_profile | 7 - .bashrc | 200 ------ .cvsignore | 29 - .cvspass | 14 - .cvsrc | 4 - .gdbinit | 35 - .inputrc | 2 - .lftprc | 1 - .muttrc | 13 - .muttrc-gpg.rc | 73 -- .muttrc.addons | 96 --- .netrc | 7 - .rpmmacros | 6 - .screenrc | 152 ----- .ssh/.cvsignore | 3 - .ssh/config | 46 -- .ssh/known_hosts | 9 - .ssh/known_hosts2 | 9 - .userContent.css | 60 -- .vimrc | 80 --- .weblintrc | 406 ----------- bin/.cvsignore | 79 --- bin/4cinfo-refill | 4 - bin/CVSROOTdump | 2 - bin/From-split.perl | 18 - bin/ar | 2 - bin/centrum.sh | 30 - bin/checkstatic | 148 ---- bin/comp | 13 - bin/cvsbranchdiff | 36 - bin/cvslinks | 141 ---- bin/cvsutil | 294 -------- bin/deployme | 33 - bin/dirlistbases | 36 - bin/expunge-imap | 5 - bin/exx | 76 --- bin/fromdos | 2 - bin/fromhex | 8 - bin/ftprate | 19 - bin/httpgetdumb | 50 -- bin/iptables-isp-list | 13 - bin/kernelfilterdiffconfig | 23 - bin/killall | 19 - bin/kratochvil.vellum.cz-update | 26 - bin/ldconfig-pserver | 3 - bin/line9k | 206 ------ bin/m | 9 - bin/md | 31 - bin/mdr_args | 25 - bin/mr | 17 - bin/netstatapn | 4 - bin/passg | 15 - bin/perlilib | 28 - bin/ppp9k | 81 --- bin/radary | 7 - bin/runsocks | 44 -- bin/sendmailerr | 2 - bin/sslsmtp | 3 - bin/strip | 2 - bin/todos | 2 - bin/vellumweb-build | 99 --- bin/worldisup | 13 - public_html/cgi-bin/.htaccess | 4 - public_html/cgi-bin/postget.php | 56 -- src/.cvsignore | 1 - src/Makefile | 10 - src/Perl-Style | 216 ------ src/const_test.c | 30 - src/cvs-wrap.c | 24 - src/ev.c | 137 ---- src/flock.c | 91 --- src/ghortident.c | 172 ----- src/ldconfig-1999-02-21-prep-docache.diff | 35 - src/misc/LGPL2.1 | 504 -------------- src/misc/getopt/getopt.c | 1051 ----------------------------- src/misc/getopt/getopt.h | 169 ----- src/misc/getopt/getopt1.c | 188 ------ src/misc/macros/need-declaration.m4 | 42 -- src/misc/memmove.c | 22 - src/misc/strdup.c | 24 - src/misc/usleep.c | 27 - src/ndc-reload-short.c | 83 --- src/pbmtopicturemsg.pl | 78 --- src/pipebuf.c | 320 --------- src/pserverchroot.c | 74 -- src/rpm/.cvsignore | 2 - src/rpm/SOURCES/.cvsignore | 15 - src/rpm/SOURCES/cvs-1.11-badroot.patch | 12 - src/rpm/SOURCES/cvs-1.11-umask022.patch | 12 - src/rpm/SPECS/cvs.spec | 221 ------ src/rpm/SPECS/glibc.spec | 605 ----------------- src/unmime.c | 26 - src/urlencode.c | 24 - src/wcr.c | 104 --- 94 files changed, 7299 deletions(-) delete mode 100644 .bash_profile delete mode 100644 .bashrc delete mode 100644 .cvsignore delete mode 100644 .cvspass delete mode 100644 .cvsrc delete mode 100644 .gdbinit delete mode 100644 .inputrc delete mode 100644 .lftprc delete mode 100644 .muttrc delete mode 100644 .muttrc-gpg.rc delete mode 100644 .muttrc.addons delete mode 100644 .netrc delete mode 100644 .rpmmacros delete mode 100644 .screenrc delete mode 100644 .ssh/.cvsignore delete mode 100644 .ssh/config delete mode 100644 .ssh/known_hosts delete mode 100644 .ssh/known_hosts2 delete mode 100644 .userContent.css delete mode 100644 .vimrc delete mode 100644 .weblintrc delete mode 100644 bin/.cvsignore delete mode 100755 bin/4cinfo-refill delete mode 100755 bin/CVSROOTdump delete mode 100755 bin/From-split.perl delete mode 100755 bin/ar delete mode 100755 bin/centrum.sh delete mode 100755 bin/checkstatic delete mode 100755 bin/comp delete mode 100755 bin/cvsbranchdiff delete mode 100755 bin/cvslinks delete mode 100755 bin/cvsutil delete mode 100755 bin/deployme delete mode 100755 bin/dirlistbases delete mode 100755 bin/expunge-imap delete mode 100755 bin/exx delete mode 100755 bin/fromdos delete mode 100755 bin/fromhex delete mode 100755 bin/ftprate delete mode 100755 bin/httpgetdumb delete mode 100755 bin/iptables-isp-list delete mode 100755 bin/kernelfilterdiffconfig delete mode 100755 bin/killall delete mode 100755 bin/kratochvil.vellum.cz-update delete mode 100755 bin/ldconfig-pserver delete mode 100755 bin/line9k delete mode 100755 bin/m delete mode 100755 bin/md delete mode 100755 bin/mdr_args delete mode 100755 bin/mr delete mode 100755 bin/netstatapn delete mode 100755 bin/passg delete mode 100755 bin/perlilib delete mode 100755 bin/ppp9k delete mode 100755 bin/radary delete mode 100755 bin/runsocks delete mode 100755 bin/sendmailerr delete mode 100755 bin/sslsmtp delete mode 100755 bin/strip delete mode 100755 bin/todos delete mode 100755 bin/vellumweb-build delete mode 100755 bin/worldisup delete mode 100644 public_html/cgi-bin/.htaccess delete mode 100644 public_html/cgi-bin/postget.php delete mode 100644 src/.cvsignore delete mode 100644 src/Makefile delete mode 100644 src/Perl-Style delete mode 100644 src/const_test.c delete mode 100755 src/cvs-wrap.c delete mode 100644 src/ev.c delete mode 100644 src/flock.c delete mode 100644 src/ghortident.c delete mode 100644 src/ldconfig-1999-02-21-prep-docache.diff delete mode 100644 src/misc/LGPL2.1 delete mode 100644 src/misc/getopt/getopt.c delete mode 100644 src/misc/getopt/getopt.h delete mode 100644 src/misc/getopt/getopt1.c delete mode 100644 src/misc/macros/need-declaration.m4 delete mode 100644 src/misc/memmove.c delete mode 100644 src/misc/strdup.c delete mode 100644 src/misc/usleep.c delete mode 100644 src/ndc-reload-short.c delete mode 100755 src/pbmtopicturemsg.pl delete mode 100644 src/pipebuf.c delete mode 100644 src/pserverchroot.c delete mode 100644 src/rpm/.cvsignore delete mode 100644 src/rpm/SOURCES/.cvsignore delete mode 100644 src/rpm/SOURCES/cvs-1.11-badroot.patch delete mode 100644 src/rpm/SOURCES/cvs-1.11-umask022.patch delete mode 100644 src/rpm/SPECS/cvs.spec delete mode 100644 src/rpm/SPECS/glibc.spec delete mode 100644 src/unmime.c delete mode 100644 src/urlencode.c delete mode 100644 src/wcr.c diff --git a/.bash_profile b/.bash_profile deleted file mode 100644 index c12e549..0000000 --- a/.bash_profile +++ /dev/null @@ -1,7 +0,0 @@ -if [ -f "$HOME/.bashrc" ];then export BASH_ENV="$HOME/.bashrc";source "$BASH_ENV";fi - -finger -m -cat 2>/dev/null .perlmail-submit.log - -if [ -f "$HOME/.bash_profile.local" ];then source "$HOME/.bash_profile.local";fi diff --git a/.bashrc b/.bashrc deleted file mode 100644 index 1111750..0000000 --- a/.bashrc +++ /dev/null @@ -1,200 +0,0 @@ -if [ -n "$_home_short_dotbashrc_norc" -o "${TERM#norc-}" != "$TERM" ];then - # We could get executed twice: - export _home_short_dotbashrc_norc=true - # Do not use $TZ as Solaris sshd(8) does not propagate it. - # Be aware you must use 'ssh -t' to propagate $TERM otherwise '=dumb'. - export TERM="${TERM#norc-}" - export _home_short_dotbashrc=true -fi - -if [ -z "$_home_short_dotbashrc" ];then - _home_short_dotbashrc=true - # $TERM gets restored to its 'norc-' state after ~/.bashrc - # alias norc='TERM="norc-$TERM" ssh -t -o 'NoHostAuthenticationForLocalhost yes' $USER@localhost "cd $PWD; TERM=$TERM;"' - function norc { TERM="norc-$TERM" ssh -t -o 'NoHostAuthenticationForLocalhost yes' $USER@localhost "cd $PWD; TERM=$TERM;" "$@"; }; export -f norc - -if [ -f /etc/bashrc ];then source /etc/bashrc;fi - -function _bash_profile_addpath # , -{ - _OPTIND="$OPTIND" - _opt_f=0;_opt_s=0 - OPTIND=1;while getopts fs got;do - case "$got" in - [fs]) eval "_opt_$got=1" ;; - *) return 1 ;; - esac - done - eval "_varname=\"\$$[$OPTIND+0]\"" - eval "_dirpathname=\"\$$[$OPTIND+1]\"" - if [ $_opt_f = 0 -a '!' -d "$_dirpathname" ];then return;fi - if [ $_opt_s = 1 -o -z "`eval "echo \\${$_varname}"`" ];then - eval "$_varname='$_dirpathname'" - else - # we want to override any original directories, place dirpathname first! - eval "$_varname=\"$_dirpathname:\${$_varname}\"" - fi - export "$_varname" - unset _varname _dirpathname _opt_f _opt_s - OPTIND="$_OPTIND";unset _OPTIND -} - -# Use reverse order of preferred directories: -# gid(1) dependency on: /opt/sfw/bin -# EUID="`id -u 2>/dev/null || /usr/xpg4/bin/id -u 2>/dev/null || gid -u`" -_bash_profile_addpath -f PATH "/opt/SUNWspro/bin" -_bash_profile_addpath -f PATH "/usr/dist/exe" -_bash_profile_addpath -f PATH "/sbin" -_bash_profile_addpath -f PATH "/usr/sbin" -_bash_profile_addpath -f PATH "/opt/sfw/bin" -[ -x $HOME/bin/ProductivityTools-check ] && eval `$HOME/bin/ProductivityTools-check` -[ -n "$PATH_PRODUCTIVITY_TOOLS" ] && _bash_profile_addpath -f PATH "$PATH_PRODUCTIVITY_TOOLS" -[ $EUID -eq 0 ] && _bash_profile_addpath -f PATH "/usr/local/sbin" -_bash_profile_addpath -f PATH "/usr/local/bin" -_bash_profile_addpath -f LD_LIBRARY_PATH "/opt/sfw/lib" -_bash_profile_addpath -f MANPATH "/usr/X11R6/man" -_bash_profile_addpath -f MANPATH "/usr/share/man" -_bash_profile_addpath -f MANPATH "/usr/local/man" -_bash_profile_addpath -s JAVA_HOME "/usr/java" -_bash_profile_addpath -s JAVA_HOME "/usr/local/java" -[ "`uname`" = "SunOS" ] && _bash_profile_addpath -f LD_LIBRARY_PATH "$HOME/Netscape/dist/lib" -for family in "/net/jsc-nfs.czech.sun.com/export/jscqa-local" "$HOME";do - for arch in "$family" $family/`uname -p`;do - # Do not "-f": We use /net ! - _bash_profile_addpath PATH "$arch/bin" - _bash_profile_addpath PATH "$arch/OpenOffice.org" - _bash_profile_addpath PATH "$arch/forte4j/extbin" - _bash_profile_addpath -s JAVA_HOME "$arch/java" - [ $EUID -eq 0 ] && _bash_profile_addpath PATH "$arch/sbin" - _bash_profile_addpath LD_LIBRARY_PATH "$arch/lib" - _bash_profile_addpath MANPATH "$arch/man" - done - done -_bash_profile_addpath -f -s CVSROOT "short@vellum.cz:/home/short/pserver/cvs" # default -[ -n "$JAVA_HOME" ] && _bash_profile_addpath PATH "$JAVA_HOME/bin" -_bash_profile_addpath -s CVSROOT "$HOME/pserver/cvs" -_bash_profile_addpath -s CVSROOT "$HOME/cvs" -_bash_profile_addpath -s ANT_HOME "/usr/local/ant" - -mkdir -p $HOME/lib/perl5 # otherwise CPAN will install to "$HOME/lib/site_perl" etc. -for _perldir in $(eval "echo {/usr,$HOME}/lib/perl5{,/site_perl}$( - for perlvar in version archname;do - echo -n '{,/' - perl -V:"$perlvar"|cut -d "'" -f 2|tr -d '\n' - echo -n '}' - done - )");do - _bash_profile_addpath -f PERLLIB "$_perldir" - done -unset _perldir - -unset -f _bash_profile_addpath - -for i in tar ls find cp mv ln md5sum du grep ar chown chmod tail;do - # Prevent g$i from system directory overriding customized $i binary - which $i 2>/dev/null | grep /net/jsc-nfs.czech.sun.com/export/jscqa-local/ >/dev/null && continue - which g$i 2>/dev/null | grep '^/' >/dev/null && alias $i=g$i - done - -alias ls='ls -bF' -alias l='ls -lbF' -alias maple="ssh -t vega.fjfi.cvut.cz maple" -#alias cc='cc -I/home/short/include' -alias vi='vim' -alias grepb='grep --binary-files=binary' -alias L='lynx' -alias cvsfiles='cvsutil --files --print' -alias cvsignores='cvsutil --ignores --print' -alias cvsignoresall='cvsutil --ignores --workings --print' -alias cvsignoresrm='cvsutil --ignores --rm' -alias cvsignoresrmall='cvsutil --ignores --workings --rm' -alias cvsignoresallrm='cvsutil --ignores --workings --rm' -[ "`uname`" = "SunOS" -a -x $HOME/bin/rpm-by-pkg ] && alias rpm='rpm-by-pkg' - -weberr="/var/log/httpd/error/klokan.error_log" -if [ -f "$weberr" ];then alias weberr='tail "$weberr"';fi -weblog="/var/log/httpd/klokan.access_log" -if [ -f "$weblog" ];then alias weblog='tail -n 20000 "$weblog"|grep "\\(~\\|%7[eE]\\)short"';fi - -export IGNOREEOF=10 -export TMOUT=900 -export EDITOR='vim' -[ -x /bin/less ] && export PAGER='/bin/less -MMh5cis' -[ "`uname`" = "SunOS" ] || export LC_CTYPE=cs_CZ.ISO-8859-2 -export PERL_MM_OPT="PERL=$HOME/bin/perlilib PREFIX=$HOME" -for file in $HOME/.bookmarks.html;do - export WWW_HOME="file://$HOME/" - [ -r $file ] && export WWW_HOME="file://$file" - done -export GREP_OPTIONS="--binary-files=without-match --directories=skip" -if [ -n "$PS1" ];then # set only in interactive sessions - export PS1='[bash]${LOGNAME}@${HOSTNAME}:${PWD}# ' - # kbd_mode -u # utf-8 - # export PS1='\[\017\033%G\]'"$PS1" # \017=std charmap, \033%G=utf-8 - export PS1='\[\017\]'"$PS1" # \017=std charmap - fi -export MINICOM="-m -c on" # metakeys+color -export HISTSIZE=100000 -export HISTFILESIZE="$HISTSIZE" -export CVS_RSH="ssh" -grep -w "$TERM" /etc/termcap >/dev/null || export TERM=vt220 -uname_p="`uname -p`"; [ "$TERM" = vt220 -a "${uname_p%86}" != "$uname_p" ] && export TERM=linux - -export SOCKS5_SERVER=icsocks.holland.sun.com - -# Force strcoll() to sort case-sensitively! (empty/undef doesn't work) -export LC_COLLATE=C - -function cvsdiff { cvs diff "$@" 2>&1|pipebuf -q| less; }; export -f cvsdiff -function cvsdiffi { cvs diff "$@" 2>&1|pipebuf -q|grep -v '^?'|less; }; export -f cvsdiffi -function cvsupdate { cvs update "$@" 2>&1|pipebuf -q| less; }; export -f cvsupdate -function cvsupdatei { cvs update "$@" 2>&1|pipebuf -q|grep -v '^?'|less; }; export -f cvsupdatei - -function wclines { awk '{x[$0]++}END{for (i in x) print x[i]"\t"i}'; }; export -f wclines -# SunOS does not support "-m" -export ULIMITME_OPTS="" -for i in "-m 100000" "-d 150000" "-v 200000";do - (ulimit $i 2>/dev/null) && ULIMITME_OPTS="$ULIMITME_OPTS $i" - done -function ulimitme { ulimit $ULIMITME_OPTS; }; export -f ulimitme -function grep {(unset grep; ( ulimitme; grep "$@"; ); );}; export -f grep -function finame { find . -false ` - awk );print pop @r while @r;'; }; export -f revlines - -ulimit -c 0 -set +H -shopt -s mailwarn - -if [ -f "$HOME/.bashrc.local" ];then source "$HOME/.bashrc.local";fi - - unset _home_short_dotbashrc # permit later reinitializations -fi # _home_short_dotbashrc - -true # Prevent crash in '-e' mode diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 8d6c259..0000000 --- a/.cvsignore +++ /dev/null @@ -1,29 +0,0 @@ -.Xauthority -.Xdefaults -.bash_history -.gdb_history -.gnupg -.lynxrc -.phorum -.pgpkey -.viminfo -.ssh2 -.cvspass -.mysql_history -.lynx_cookies -.muttrc.9000 -.muttrc.priv -.cpan -pserver -Mail -cgw -d -include -lib -priv -netpbm -viewcvs -centrum -secure -energie-WWW -staticnss diff --git a/.cvspass b/.cvspass deleted file mode 100644 index e241d8d..0000000 --- a/.cvspass +++ /dev/null @@ -1,14 +0,0 @@ -:pserver:pserver@vellum.cz:/cvs A -/1 :pserver:anonymous@intra.tektonica.com:2401/opt/cvs A -/1 :pserver:kratochvil@intra.tektonica.com:2401/opt/cvs A;*|b/]3 e= -/1 :pserver:kratochvil@gundabad.tektonica.com:2401/opt/cvs A;*|b/]3 e= -/1 :pserver:anonymous@cvs.wdiff.sourceforge.net:2401/cvsroot/wdiff A -:pserver:anoncvs@sources.redhat.com:/cvs/src Ay=0=hdata) - else - print *(($arg1 *)$pglist_list->data)$arg2 - end - set var $pglist_list=$pglist_list->next - end - end -define pglist - pglist3 $arg0 $arg1 . - end diff --git a/.inputrc b/.inputrc deleted file mode 100644 index 1149bde..0000000 --- a/.inputrc +++ /dev/null @@ -1,2 +0,0 @@ -$include /etc/inputrc -set bell-style none diff --git a/.lftprc b/.lftprc deleted file mode 100644 index 4b9a139..0000000 --- a/.lftprc +++ /dev/null @@ -1 +0,0 @@ -set ftp:sync-mode/* off diff --git a/.muttrc b/.muttrc deleted file mode 100644 index 306d061..0000000 --- a/.muttrc +++ /dev/null @@ -1,13 +0,0 @@ -source ~/.muttrc.addons -source ~/.muttrc.9000 -source ~/.muttrc.priv - -set sendmail="/home/short/bin/sendmail -oem -oi" -set from="prog-mutt@jankratochvil.net" -set alternates="^(.*@(.*\\.)?jankratochvil\\.net|short(\\+[^@]*)?@(ucw\\.cz|atrey\\.karlin\\.mff\\.cuni\\.cz|k332\\.feld\\.cvut\\.cz|(alcor|amiga)\\.ericsson\\.cz|short\\.mj\\.gts\\.cz|short\\.short|(.*\\.)?(vellum|valley)\\.cz)|.*@((.*\\.)?short\\.ucw\\.cz|dialup\\.netbeans\\.com|kratochvil\\.suse\\.cz)|kratochvil(\\+[^@]*)?@(users\\.sourceforge\\.net|(.*\\.)?suse\\.cz))$" - -#set sendmail="/usr/sbin/sendmail -oem -oi -f jkra7289@ss1000.ms.mff.cuni.cz" -#set from="jkra7289@ss1000.ms.mff.cuni.cz" - -#set sendmail="/usr/sbin/sendmail -oem -oi -f short@k332.feld.cvut.cz" -#set from="short@k332.feld.cvut.cz" diff --git a/.muttrc-gpg.rc b/.muttrc-gpg.rc deleted file mode 100644 index 8b0d5cf..0000000 --- a/.muttrc-gpg.rc +++ /dev/null @@ -1,73 +0,0 @@ -# -*-muttrc-*- -# -# Command formats for gpg. -# -# This version uses gpg-2comp from -# http://muppet.faveve.uni-stuttgart.de/~gero/gpg-2comp.tar.gz -# -# $Id$ -# -# %p The empty string when no passphrase is needed, -# the string "PGPPASSFD=0" if one is needed. -# -# This is mostly used in conditional % sequences. -# -# %f Most PGP commands operate on a single file or a file -# containing a message. %f expands to this file's name. -# -# %s When verifying signatures, there is another temporary file -# containing the detached signature. %s expands to this -# file's name. -# -# %a In "signing" contexts, this expands to the value of the -# configuration variable $pgp_sign_as. You probably need to -# use this within a conditional % sequence. -# -# %r In many contexts, mutt passes key IDs to pgp. %r expands to -# a list of key IDs. - -# decode application/pgp -set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f" - -# verify a pgp/mime signature -set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f" - -# decrypt a pgp/mime attachment -set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f" - -# create a pgp/mime signed attachment -# set pgp_sign_command="gpg-2comp --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f" -set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f" - -# create a application/pgp signed (old-style) message -# set pgp_clearsign_command="gpg-2comp --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f" -set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f" - -# create a pgp/mime encrypted attachment -# set pgp_encrypt_only_command="pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" -set pgp_encrypt_only_command="pgpewrap gpg -v --batch --output - --encrypt --textmode --armor -- -r %r -- %f" -# --always-trust - -# create a pgp/mime encrypted and signed attachment -# set pgp_encrypt_sign_command="pgpewrap gpg-2comp --passphrase-fd 0 -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" -set pgp_encrypt_sign_command="pgpewrap gpg --passphrase-fd 0 -v --batch --textmode --output - --encrypt --sign %?a?-u %a? --armor -- -r %r -- %f" -# --always-trust - -# import a key into the public key ring -set pgp_import_command="gpg --no-verbose --import -v %f" - -# export a key from the public key ring -set pgp_export_command="gpg --no-verbose --export --armor %r" - -# verify a key -set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r" - -# read in the public key ring -set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r" - -# read in the secret key ring -set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r" - -# receive key from keyserver: -#set pgp_getkeys_command="wrap.sh -g %r" -set pgp_getkeys_command="" diff --git a/.muttrc.addons b/.muttrc.addons deleted file mode 100644 index 8ab616e..0000000 --- a/.muttrc.addons +++ /dev/null @@ -1,96 +0,0 @@ -# System-wide personalization for Mutt -###################################### - -folder-hook "" set sort=threads -folder-hook "!" set sort=mailbox-order -folder-hook "=sent" set sort=mailbox-order -folder-hook "=spam" set sort=mailbox-order -folder-hook "=err" set sort=mailbox-order -folder-hook "=input$" set sort=mailbox-order -bind index \` next-unread -bind pager \` next-unread -bind index \` previous-unread -bind pager \` previous-unread -unset strict_threads -set editor="vim -c 'set noai' -c 'set ts=8' -c 'set fileencoding=iso-8859-2' -c 'set fileencodings=iso-8859-2'" -set send_charset="us-ascii:iso-8859-2:utf-8" -set charset="iso-8859-2" -set autoedit -set auto_tag -set history=100 -set include=yes -unset metoo -set mime_fwd -set forward_format="Fwd: [%a] %s" -set move=no -set pager_context=1 -set pager_stop -set pop_delete -set record=+sent -set reverse_alias -set status_format="---%h:%f [%M %nN %tT %dD %lB]%>-%v---" -#set web_browser="lynx %s" -set pager_format="-%S- [%l lines, %c] %C/%T: %-20.20n %s" -set status_on_top -set fcc_clear -set rfc2047_parameters -unset save_empty -set read_inc=1000 -set write_inc=1000 -unset confirmappend -unset confirmcreate -set reply_to=ask-yes -set thorough_search -set abort_unmodified=no -set date_format="!%a, %d %b %Y %H:%M:%S %z" # RFC 2822: 3.3. -# FIXME: %D not needed: RFC 2822: 3.3: "converted" can IMO incl. timezone -# but %d will place +0000 for %z and thus brokes the timestamp -set attribution="On %D, %n wrote:" - - -# Mail command -############## -bind index \ca mail -macro index M ":my_hdr X-Priority: 1\n:my_hdr Importance: high\n:set dsn_return=hdrs\n:set dsn_notify=failure,delay,success\n^a" "DSN and Priority-1 classed compose of a new mail message" -macro index m ":unmy_hdr X-Priority Importance\n:unset dsn_return dsn_notify\n^a" "Standard compose of a new mail message" -# quote 'macro' argument to prevent: macro: too many arguments -folder-hook "" "macro index S \":unset wait_key\n:set pipe_split\n|/home/short/bin/razor-report\n:unset pipe_split\n:set wait_key\ns=spamo-mutt\n\"" -folder-hook "=spam" "macro index S \":unset wait_key\n:set pipe_split\n|/home/short/bin/razor-report\n:unset pipe_split\n:set wait_key\nWN\ct~T\n\"" -macro editor \ew "^a [WAS: ^e]^a" - -# GPG -##### -source /home/short/.muttrc-gpg.rc -unset pgp_show_unusable -set pgp_replyencrypt -set pgp_replysignencrypted - -# Ignore headers -################ -ignore received content- mime-version status x-status message-id sender -ignore references return-path lines precedence x-authentication-warning -ignore list-help list-subscribe list-unsubscribe list-post list-archive -ignore x-mimetrack priority x-priority importance x-mime-autoconverted -ignore x-accept-language resent-message-id x-sender x-antirelay -ignore x-msmail-priority x-mimeole x-pop3-rcpt delivered-to - -# Colors -######## -color hdrdefault brightcyan black -color quoted cyan black -color signature brightred black -color indicator brightyellow red -color error brightred black -color status brightyellow blue -color tree brightmagenta black # the thread tree in the index menu -color tilde brightmagenta black -color message brightcyan black -color normal white black -color attachment brightmagenta black -color search black green # how to hilite search patterns in the pager -color header brightyellow black ^(From|Subject): -color body brightyellow black "(ftp|http)://[^ ]+" # point out URLs -color body brightcyan black [-a-z_0-9.]+@[-a-z_0-9.]+ # e-mail addresses -color underline brightgreen black -mono header underline ^(From|Subject): -mono quoted bold diff --git a/.netrc b/.netrc deleted file mode 100644 index d7b8439..0000000 --- a/.netrc +++ /dev/null @@ -1,7 +0,0 @@ -default - login anonymous password short@ - macdef init - prom - bi - tick - diff --git a/.rpmmacros b/.rpmmacros deleted file mode 100644 index a03dd4c..0000000 --- a/.rpmmacros +++ /dev/null @@ -1,6 +0,0 @@ -%packager Jan Kratochvil -%_signature gpg -%_gpg_name %{packager} - -#%_usrsrc /home/lace/src -#%_topdir %{_usrsrc}/rpm diff --git a/.screenrc b/.screenrc deleted file mode 100644 index a2a56d1..0000000 --- a/.screenrc +++ /dev/null @@ -1,152 +0,0 @@ - -# -# Example of a user's .screenrc file -# - -# This is how one can set a reattach password: -# password ODSJQf.4IJN7E # "1234" - -# no annoying audible bell, please -vbell on - -# detach on hangup -autodetach on - -# don't display the copyright page -startup_message off - -# emulate .logout message -pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended." - -# advertise hardstatus support to $TERMCAP -# termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\' - -# make the shell in every window a login shell -#shell -$SHELL - -# autoaka testing -# shellaka '> |tcsh' -# shellaka '$ |sh' - -# set every new windows hardstatus line to somenthing descriptive -# defhstatus "screen: ^En (^Et)" - -defscrollback 1000 - -# don't kill window after the process died -# zombie "^[" - -################ -# -# xterm tweaks -# - -#xterm understands both im/ic and doesn't have a status line. -#Note: Do not specify im and ic in the real termcap/info file as -#some programs (e.g. vi) will not work anymore. -termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l -terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l - -#80/132 column switching must be enabled for ^AW to work -#change init sequence to not switch width -termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l - -# Make the output buffer large for (fast) xterms. -termcapinfo xterm* OL=10000 - -# tell screen that xterm can switch to dark background and has function -# keys. -termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l' -termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~' -termcapinfo xterm 'kh=\E[1~:kI=\E[2~:kD=\E[3~:kH=\E[4~:kP=\E[H:kN=\E[6~' - -# special xterm hardstatus: use the window title. -termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007' - -#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l' -termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l' - -# emulate part of the 'K' charset -termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337' - -# xterm-52 tweaks: -# - uses background color for delete operations -termcapinfo xterm be - -################ -# -# wyse terminals -# - -#wyse-75-42 must have flow control (xo = "terminal uses xon/xoff") -#essential to have it here, as this is a slow terminal. -termcapinfo wy75-42 xo:hs@ - -# New termcap sequences for cursor application mode. -termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J - -################ -# -# other terminals -# - -#make hp700 termcap/info better -termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@' - -# Extend the vt100 desciption by some sequences. -termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC -terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC - - -################ -# -# keybindings -# - -#remove some stupid / dangerous key bindings -bind k -bind ^k -bind . -bind ^\ -bind \\ -bind ^h -bind h -#make them better -bind 'K' kill -bind 'I' login on -bind 'O' login off -bind '}' history - -# Yet another hack: -# Prepend/append register [/] to the paste if ^a^] is pressed. -# This lets me have autoindent mode in vi. -register [ "\033:se noai\015a" -register ] "\033:se ai\015a" -bind ^] paste [.] - -# Red Hat Hack^H^H^H^HPatch -# This makes screen treat backspaces '^?' as -# deletes. THere should be a fix in the code -# for the way termcap inheritance works, -# but I dont know where to put it, and this works. -bindkey -d -k kb stuff \010 -# /Red Hat Patch - - -################ -# -# default windows -# - -# screen -t local 0 -# screen -t mail 1 elm -# screen -t 40 2 rlogin faui40 - -# caption always "%3n %t%? @%u%?%? [%h]%?" -# hardstatus alwaysignore -# hardstatus alwayslastline "%w" - -# bind = resize = -# bind + resize +1 -# bind - resize -1 -# bind _ resize max diff --git a/.ssh/.cvsignore b/.ssh/.cvsignore deleted file mode 100644 index 6f21215..0000000 --- a/.ssh/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -random_seed -identity -identity.pub diff --git a/.ssh/config b/.ssh/config deleted file mode 100644 index 4d85de8..0000000 --- a/.ssh/config +++ /dev/null @@ -1,46 +0,0 @@ -Host localhost -#Cipher none -Compression no -User lace - -Host ats-casablanca -HostName localhost -Port 5000 -HostKeyAlias ats-casablanca -User root - -Host charlie -HostName charlie.karlovo.cz -User root -Host charlie.karlovo.cz -User root - -Host gulz -HostName gw.gulz.cz -User root - -Host *sourceforge.net -User kratochvil -CompressionLevel 3 - -Host chip.ms.mff.cuni.cz -User krbu - -Host *.ms.mff.cuni.cz -User jkra7289 - -Host vega.fjfi.cvut.cz -User jkratoc - # unable to get .ssh2/authorization working -Protocol 1,2 - -Host * -User short -Compression yes -CompressionLevel 9 -ForwardAgent yes -ConnectionAttempts 1 -UsePrivilegedPort no -UseRsh no -RhostsRSAAuthentication no -ForwardX11 no diff --git a/.ssh/known_hosts b/.ssh/known_hosts deleted file mode 100644 index 2284add..0000000 --- a/.ssh/known_hosts +++ /dev/null @@ -1,9 +0,0 @@ -dolly.vellum.cz,212.47.3.251 1024 37 138791998207279898434469195531993696771197233245266407852430313913479890103579363266072768449275026746822584251774202659607740837631698034058688929589254456991421226027963130041301374278809448176473468889344062887404930122657580936940462583118289931108542189961250755443433859803521510534865682982643282832731 -gw.gulz.cz,195.122.203.142 1024 35 135364793082266512921406037629590300568279387490052843661759526148733668526118969914146129456303677835707885835653952179475275737260812078317099451692802227460674020789936323691837715529893620395732244566615075055668298007328146465273581235766144559562569276379844551503955237635249140122399767828180220522989 gw.gulz.cz,trust=myself -pauline.vellum.cz,paulina.vellum.cz,62.80.83.38,vellum.cz 1024 35 128736891967663456843937232449883442680197430748569172924302860185874589791226160373914068190792558929295400299058173258177275633082013606779430804389625236339278514177089029301846840082591660557477118867559942034629342207458140606760283098486400756437853576680698537779210962825291939606454153541459843721519 -k332.feld.cvut.cz,147.32.192.12 1024 37 117516146723079458678792649759633894007180076623668590112947499227207482017096669134437658187817723332484576398106392494872938279934798308925406960886127098390438106585339931975874538084019436751801581216372894343901776394737509078289816194337477157788917073245446938373140820078756652260764320164461825139329 -atrey.karlin.mff.cuni.cz,195.113.31.123 1024 35 171494489114704804489937836899063594522165591418445971049330410181037796853942196958784072850905002305882758269332595000055140034347448855223668154222226396828334966941438962831598055463856100259017675926349053928040776737590079039002405696028405745532343666916791300726526431133754689011844482240827420709169 -tangens.sinus.cz,195.39.17.8 1024 35 134115155585071696734908622315877129440852741670693684053815996110048758959456977119637426273337197428404944531846322547840015549108002670295479982733436711859051400684273685067066152421600310038567652069066014270729150070204826559099539186002496166159521987470670459688779845745629711129639839672747147096111 -vega.fjfi.cvut.cz,147.32.6.28 1024 37 109296915745315616559548935619796620109600686026481555916542984628075067361013841335722770051982997404005155435366287427344535737063226964493989953586185567196127860546226645489431848537063840907341666143391790164287815816776464624430364622512347593810143368014845617929234046563489235552296628783714055537963 -dolly.vellum.cz,194.228.51.220 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAxav7/zTNiWjoKwH5Mj9EHmHz41RjmVJCEVkAd8faUGaQst7eY3etWJmYbU7Vxa0nReQxoJ8lkKPnM9G25nNYaTlT6SAkyiiQ/K2w7IVlq8SFLOH8W1ENlEKTIjKfzBRJj2fovDqvFmFTxWCG5HMSJhEbOzITKICRak6J2P/1ux8= -212.24.139.3 1024 35 130431664629083743305113242473417789395061335400285624668953070312006337920867049492032400943748274357633030092660434262072683701354908156796084118992918742223899909328144941868618408113911594850764878578385526881571710615417228667099217492545201898958836439798158993748143703721014839058581355595051109159333 diff --git a/.ssh/known_hosts2 b/.ssh/known_hosts2 deleted file mode 100644 index 0ee8094..0000000 --- a/.ssh/known_hosts2 +++ /dev/null @@ -1,9 +0,0 @@ -gw.gulz.cz,195.122.203.142 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAvYPqUENFvSt6yeMyeYqVp3S6a2/2dO7T8HIPq07A4L0Lfvo1L4oL482lawaCbgmMHYO02WhynQERJxBRZ/gbYtE3qX3JZIujxUh7YnrbSEVrMOCM8MChnJbmpRe3h+QBKf44aJkjC+1FUULL7pcOIZkV/if/aJeQKs2zveBjN/c= gw.gulz.cz,trust=myself -dolly.vellum.cz,212.47.3.251 ssh-dss AAAAB3NzaC1kc3MAAACBAM3SjR9le01wZr1kVbN3Ns3nWHO/IG4nisYa8hTkIVKSYyxjjWPC8B/IOIheoJTsfkQ6xgem6OPHHe/07/WcFJ5uasLiunoXeHa8rMyUN6gb7KXm4Fl+h0hQMGQMGRJ3jLW0Z0aduoRqDo1XApHWiP4lYwCC4MUyeEp0JydPWlexAAAAFQClIR51S9gcA5XNZ99xRHHH2kFtPQAAAIEAt09Ch9F0MaRABPe+K8Uruz+srOfqPTXSMDkieUYo/sWQrSvdyn1508mtXSNts+Qjok4XIVVw+j/Iz/dL4eDZg00qaNgLH6W5pVjXcwU8qki+Ihg2LG+lWPJbhZlqVc0LihrLiurGAHEbrAjLBY2jw3TFK7SaaYIgR83aZ16fpD0AAACBAKOp0QT42feGOG0nDsi5V6RrmEjCG0YxV3OwZOkzcoQykeLfJoCFFiVbgCKmF/1QrIcmKsABl9R0NpYvOd7aoF8N3u/u7ZZdV29aTBYuRJITcgZdvnhSgs0u5qErpZ61m2JjmMEsINwN84C3DSXrIfqGUf8mLy9AcTYGzm0nw89+ -vega.fjfi.cvut.cz,147.32.6.28 ssh-dss AAAAB3NzaC1kc3MAAACBAKFqj+f9fUI7SprmIEdiRNb33+Y8s9qaIrI8ZPseponpnVipsygo7hqbAhdJfXYnN7Y/WkGNb3AWbcaE5gPoIspOEwvP1uzUyDv7kzw4F1qAomMbW6ne1bRanIMErpWmd7J7MnESwTL8jz9bEASPy3pu11TDTeg0ftCxAf0m+8t7AAAAFQCBttEgSu5DZfQDEFUgl0fjUDU/FQAAAIAWrd5gtjpQfwy1MEuZx8m2VELj/+UQ0S9LyvU+oGlzPcEJwsEjWcWJ+CP++sB0OBJFuF8hqE81zVmzzYGMNl4LdqSqwsbuSazBRVulHbGhHLrZOaXmFWcg958DHQYH4OxqOZCZKu48cPd5cwdtZ+aHkXowj7CXNZwuIzp7sIKqZQAAAIBcxk0X8ry2wH6F0k4G2Ang0Usxjthtp64lzObrz9NPaMGwFtoBuct9SsDdkguIGWF9f597iTvScfrqmam+CkhmPe9uK+ih6dlVW4wjEeAS5F/kWCysSu95+YSGMes9ysprRIOnaZ0NqudnmY/qHEdJn5J3yJQyt8p89ywbCEc9fw== -atrey.karlin.mff.cuni.cz,195.113.31.123 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA3m5J2NUk4+DSVk4p29I/ecHOilXd2QvMbSl3+dROh5N5tbWcHR077RLcWvyOhfgmZ6qAalN9t8tOE/AWXBEUxkNj91R1cVQCTLVqNKYA9HKO1zjkLHACAn7yhgMnwQiIoWNjIx6O8n9rjX51Ud5KOlTxY45TDtyvdnNzXlQ0SZ0= -paulina.vellum.cz,pauline.vellum.cz,62.80.83.38,vellum.cz ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA3Xob2TBjGKjOFKcSqke5nZD2XWO4YdDRKbzq9vu4yE4LJgYTFDV9dtv69ZCZJGWdDsbqGNNuFgEAnFE8u05XmpyFBFAqbE9W80Dcxna+Gsoj3bTZLhk7ZXX5HCZbNbT7Db76ANRc8jU3o1w1/gkPWSt/RLNQT7x7rxLX7XwI750= -tangens.sinus.cz,195.39.17.8 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAxMphMtLFs2Y17Q6LullXwgMtA39BORogb0U9FukVxdy3fkp9PY+CJi7//7InITcKWVXEGFAkcG0F4Fe0wSYk7z+58SwZOr17gFiU4AMv8OF0Kq+gWDQYVafo0aClQM4nlUAMEMx+BHvNDVYUbMPksj6RpBCrvG2PUnVULlL/5h0= -cindy.vellum.cz,195.144.124.19 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAvp/yjJeZILi5rISz9BR38xYkxYqBCUvQ/8iv/EkliizBrbTxkGMqo+HGDw5p7C/LUsBCBbLaOJ1xs5qcR55Ndm49/lRWDknOa7M90GaipLn5OMXamQrhuagQxP2xZJ4+zqzf8t1AYqlEMdx53XSBHRmhpqkD0er8+02zyTbFV5E= -rallye.panda.cz,217.11.227.56 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAxFaLaa/pLDVw/jXmkzBIdaZNJowfUJ19bB1dInGJpd4Ji8vGUMGeNLUTEb2xo7AqnHC6hc6f38ub6Q6of7MxEorFLH1SRsYSt2SkUHhJTddJnJHP7fbZUFxm6MhEbDkB109ecUCZpF3SEWqlCosK7kBCXTgawJuQP4P6xVX2QQ8= -gw.jklabs.cz,195.144.102.46 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAy6hLRrIbDATf1nlDmX1SlefKJC4r++tQgVHkfu/Bf0pg6UddI6fEd0zqKSAbXTIXWexcgtdz38NXX8HCqoiQo4GIkT0RcThJOK2oa3g2bvwqo3vDeuEvB30yZkJKHqoU6vKTHZDeMmk6ir1wXQb6ypLLQt0prCAzq3CkunZuwVE= diff --git a/.userContent.css b/.userContent.css deleted file mode 100644 index 457b3e8..0000000 --- a/.userContent.css +++ /dev/null @@ -1,60 +0,0 @@ -/* $Id$ */ - -html,html>head,html>body { - padding: 5px !important; - border-style: none !important; - margin: 0px !important; - } - -html,html>head,html>head *,html>body,html>body * { - background-attachment: scroll !important; - background-image: none !important; - background-color: black !important; - color: white !important; - border-color: gray !important; - position: static !important; - left: 0px !important; - top: 0px !important; - right: 0px !important; - bottom: 0px !important; -/* It would prevent any tables formatting: - width: auto !important; - height: auto !important; -*/ -/* It would display all the intentionally hidden content: - display: inline !important; -*/ - text-indent: 0px !important; - } - -html * li { - color: yellow !important; - } - -/* FIXME: http://www.hyway.com.au/747/747.html - * "UPDATED 15/04/2002" still blinks - * although "747 SIMULATOR MESSAGE BOARD" no longer blinks. - */ -html * blink { - text-decoration: none !important; - } - -html * input,html * select,html * textarea { - background-color: navy !important; - padding: 1px !important; - border-style: solid !important; - border-width: 1px !important; - margin: 1px !important; - } -html * input *,html * select *,html * textarea * { - background-color: navy !important; - } - -html *:link { color: #f44 !important; } /* unvisited links */ -html *:visited { color: #44f !important; } /* visited links */ -/* See: http://bugzilla.mozilla.org/show_bug.cgi?id=256477 - * bugreported by Timo Lindfors timo.lindfors of iki.fi - * -html *:hover { color: yellow !important; } * user hovers * -html *:active { color: lime !important; } * active links * -*/ diff --git a/.vimrc b/.vimrc deleted file mode 100644 index 0ec05bd..0000000 --- a/.vimrc +++ /dev/null @@ -1,80 +0,0 @@ -if !exists("g:_kratochvil_vimrc") - let g:_kratochvil_vimrc=1 - -autocmd! filetypedetect -autocmd! gzip BufRead -autocmd! gzip BufWritePost -autocmd! gzip FileAppendPost -autocmd! gzip FileAppendPre -autocmd! gzip FileReadPost -autocmd! gzip FileWritePost -"remove 'set tw=78': -autocmd! BufRead *.txt - -"autocmd * * echo "test" - -"startup read existing file: BufReadPre BufReadPost BufEnter VimEnter -"command read non-existing file: BufCreate BufNewFile BufEnter -"immediate switch to existing file: BufReadPre BufReadPost BufEnter -"immediate switch to non-existing file: BufNewFile BufEnter - -autocmd BufCreate,VimEnter * let g:BufEnter_ts= 8 -autocmd BufCreate,VimEnter */home/{short,kratochvil,root}/{src,WWW}/* let g:BufEnter_ts= 2 -autocmd BufCreate,VimEnter */home/{short,kratochvil,root}/src/*gnokii*/* let g:BufEnter_ts= 8 -autocmd BufCreate,VimEnter *.{i{,.as},s} let g:BufEnter_ts=20 -autocmd BufEnter * call BufEnter() -autocmd VimEnter * call BufEnter() -set runtimepath=.,$VIMRUNTIME -function BufEnter() - if exists("g:BufEnter_ts") - let &ts=g:BufEnter_ts - let &sw=g:BufEnter_ts - unlet g:BufEnter_ts - - set autoindent - set nocindent - set nosmartindent - set indentexpr= - - runtime! ./../../../../../../../../../../../.vimrc ./../../../../../../../../../../.vimrc ./../../../../../../../../../.vimrc ./../../../../../../../../.vimrc ./../../../../../../../.vimrc ./../../../../../../.vimrc ./../../../../../.vimrc ./../../../../.vimrc ./../../../.vimrc ./../../.vimrc ./../.vimrc ./.vimrc - endif -endfunction - -set encoding=utf-8 -set termencoding=iso-8859-2 -" fileencoding is detected from fileencodings, first one for empty files -set fileencodings=utf-8,iso-8859-2 - -ca X x -syntax off -set noerrorbells -set ruler -set ignorecase -set nobackup -set nowritebackup -set exrc -set nostartofline -set nohlsearch -set fo=tcq -set viminfo='100,\"1000,:100,/40 -set tags=./tags,./TAGS,./../tags,./../TAGS,./../../tags,./../../TAGS,./../../../tags,./../../../TAGS,./../../../../tags,./../../../../TAGS,./../../../../../tags,./../../../../../TAGS,./../../../../../../tags,./../../../../../../TAGS,./../../../../../../../tags,./../../../../../../../TAGS,./../../../../../../../../tags,./../../../../../../../../TAGS,./../../../../../../../../../tags,./../../../../../../../../../TAGS,./../../../../../../../../../../tags,./../../../../../../../../../../TAGS,./../../../../../../../../../../../tags,./../../../../../../../../../../../TAGS,./reactos/tags,./../reactos/tags,./../../reactos/tags,,./../../../reactos/tags,./../../../../reactos/tags,./../../../../../reactos/tags,./../../../../../../reactos/tags,./w32/inc/tags,./../w32/inc/tags,./../../w32/inc/tags,,./../../../w32/inc/tags,./../../../../w32/inc/tags,./../../../../../w32/inc/tags,./../../../../../../w32/inc/tags,./../../../../../../../w32/inc/tags,/usr/src/redhat/BUILD/tags,/usr/src/redhat/BUILD/TAGS,/usr/include/tags,/usr/include/TAGS - -noremap p :set invpaste paste? -noremap l :set invlist paste? -noremap q @q -noremap : @: -noremap N :nextzz -noremap B :cnzz -noremap P :prevzz -noremap O :cpzz -noremap g "myiw:grep-rw'm'. -noremap zz -noremap zz -noremap G:r !date '+\%H:\%M:\%S-'kA -noremap d :set hlsearch/^[+-]\([^+-].*\\|\)$ -noremap D :set hlsearch/^[+-][+-]\([^+-].*\\|\)$ -noremap w 0i /[^ ]vf.h"kyf./[^ ]vf.h"ly0x:r !date -d "`date '+\%Y'`-l-k" '+\%u'yypkV:!tr '1234567' 'PUSCPSN'jV:!tr '1234567' 'otttaoe'kJxv0xk0llllllplxxjddk0 -noremap * :let ic_save=&ic:set noic*:let &ic=ic_save -noremap # :let ic_save=&ic:set noic#:let &ic=ic_save - -endif "!exists("g:_kratochvil_vimrc") diff --git a/.weblintrc b/.weblintrc deleted file mode 100644 index 11b958e..0000000 --- a/.weblintrc +++ /dev/null @@ -1,406 +0,0 @@ -# -# sample configuration file for weblint -# distributed as part of weblint 1.020 -# -# The settings in this file reflect the built-in defaults. -# I.e. if a warning is enabled in this file, then it is enabled by -# default, and you don't have to enable it in your .weblintrc. -# - -#======================================================================== -# Global Configuration File -#======================================================================== -# -# Weblint supports a local site configuration file. -# If one is set up, then you can specify it be included with the following: -# -# use global weblintrc -# - -#======================================================================== -# Weblint Variables -#======================================================================== - -# -# message-style: style of warning message to generate -# lint generate warnings similar to traditional lint: -# file(line #): warning -# this is the default -# short don't include the filename in the warning message: -# line #: warning -# terse a style which is easy for another program to parse: -# file:line #:warning-identifier - -set message-style = lint - -# -# url-get: a program which can be used to retrieve a URL -# - -set url-get = lynx -source - -# -# directory-index: list of filenames for directory indices -# -# If your server supports multiple index file names: -# set directory-index = index.html, welcome.html -# - -set directory-index = index.html - -# -# file-extensions: list of filename extensions for valid HTML filenames -# -# A comma-separated list of filenames extensions; these are used when -# recursing in a directory, to decide which files should be checked. -# - -set file-extensions = html, htm - -#======================================================================== -# Extensions -#======================================================================== - -#------------------------------------------------------------------------ -# Allow Netscape HTML extensions, such as CENTER and FONT -#------------------------------------------------------------------------ -# uncomment following line to enable the Netscape extensions -# extension Netscape - -#------------------------------------------------------------------------ -# Allow Microsoft HTML extensions, such as MARQUEE -#------------------------------------------------------------------------ -# uncomment following line to enable the Microsoft extensions -# extension Microsoft - - -#======================================================================== -# Weblint Warnings -#======================================================================== - -#------------------------------------------------------------------------ -# By default, when recursing in a directory, weblint will check files -# which are symlinks. Uncomment the following line if you want weblint -# to skip symlinks. This is equivalent to the -l command-line switch -#------------------------------------------------------------------------ -# ignore symlinks - -#------------------------------------------------------------------------ -# There are two checks for the case of element tags: -# upper-case all tags should be in upper case -# lower-case all tags should be in lower case -# If both are disabled, then case is ignored -#------------------------------------------------------------------------ -disable upper-case lower-case - -#------------------------------------------------------------------------ -# Bad style to use `here' as anchor text -#------------------------------------------------------------------------ -enable here-anchor - -#------------------------------------------------------------------------ -# Flag any elements which are not recognized. This will catch mis-typed -# elements (e.g. , or <\BODY>). -#------------------------------------------------------------------------ -enable unknown-element - -#------------------------------------------------------------------------ -# check element attributes to see if they are legal -#------------------------------------------------------------------------ -enable unknown-attribute - -#------------------------------------------------------------------------ -# flag if no HEAD element in page -#------------------------------------------------------------------------ -enable require-head - -#------------------------------------------------------------------------ -# Flag elements which should only appear once on a page (eg TITLE) -#------------------------------------------------------------------------ -enable once-only - -#------------------------------------------------------------------------ -# Flag case where page has BODY element, but no HEAD defined -#------------------------------------------------------------------------ -enable body-no-head - -#------------------------------------------------------------------------ -# If you want outer element to be -#------------------------------------------------------------------------ -enable html-outer - -#------------------------------------------------------------------------ -# Flag elements which are only allowed to appear in HEAD element -#------------------------------------------------------------------------ -enable head-element - -#------------------------------------------------------------------------ -# Flag elements which aren't allowed to appear in HEAD element -#------------------------------------------------------------------------ -enable non-head-element - -#------------------------------------------------------------------------ -# Flag obsolete elements, such as XMP and LISTING -#------------------------------------------------------------------------ -enable obsolete - -#------------------------------------------------------------------------ -# Flag mis-matched begin and end tags; for example: -#

...

-#------------------------------------------------------------------------ -enable mis-match - -#------------------------------------------------------------------------ -# Flag any IMG elements which don't have ALT text defined. -#------------------------------------------------------------------------ -enable img-alt - -#------------------------------------------------------------------------ -# Flag illegally nested elements (such as anchors). -#------------------------------------------------------------------------ -enable nested-element - -#------------------------------------------------------------------------ -# Check for those elements which have required context. -# For example, the element can only appear in or -#------------------------------------------------------------------------ -enable required-context - -#------------------------------------------------------------------------ -# Check for mailto: LINK in header; for example: -# -# This lets at least lynx users comment on a page. -#------------------------------------------------------------------------ -disable mailto-link - -#------------------------------------------------------------------------ -# Flag overlapped elements. For example: -# text -#------------------------------------------------------------------------ -enable element-overlap - -#------------------------------------------------------------------------ -# Generate a warning if closing tag is not seen for elements where -# it is expected. A common case is ... . -#------------------------------------------------------------------------ -enable unclosed-element - -#------------------------------------------------------------------------ -# Generate a warning if markup appears inside a comment. This can -# confuse quite a few browsers, so it's not a good idea to do it. -#------------------------------------------------------------------------ -enable markup-in-comment - -#------------------------------------------------------------------------ -# You are not allowed to have any whitespace between the opening -# < and element name. -#------------------------------------------------------------------------ -enable leading-whitespace - -#------------------------------------------------------------------------ -# Flag potentially unclosed tags: -# < ... < ... > -#------------------------------------------------------------------------ -enable unexpected-open - -#------------------------------------------------------------------------ -# Elements which do not have any required attributes, but for which at -# least one attribute is expected. Anchors, for example. -#------------------------------------------------------------------------ -enable expected-attribute - -#------------------------------------------------------------------------ -# Required element attributes. Eg IMG tag must have SRC attribute. -#------------------------------------------------------------------------ -enable required-attribute - -#------------------------------------------------------------------------ -# Currently just checks local links, to see if target file exists. -# disabled at the moment, since it generates bogus warnings if the file -# path included directories. -#------------------------------------------------------------------------ -disable bad-link - -#------------------------------------------------------------------------ -# Check for headings which are more than 1 level deeper than previous. -# Example:

followed by

-#------------------------------------------------------------------------ -enable heading-order - -#------------------------------------------------------------------------ -# Check for odd number of double quotes in tag, to catch things like: -# -#------------------------------------------------------------------------ -enable illegal-closing - -#------------------------------------------------------------------------ -# Warn about unclosed comments. For example: -# -#------------------------------------------------------------------------ -enable unclosed-comment - -#------------------------------------------------------------------------ -# Warning for use of physical font markup, rather than logical -# For example: -# where you should use -# where you should use -# where you should use , , , or -#------------------------------------------------------------------------ -disable physical-font - -#------------------------------------------------------------------------ -# Warning for repeated attributes within the same tag. For example: -# -# -#------------------------------------------------------------------------ -enable repeated-attribute - -#------------------------------------------------------------------------ -# Warn against use of ' as a delimiter for attribute values. E.g.: -# Canon Research Centre -#------------------------------------------------------------------------ -enable attribute-delimiter - -#------------------------------------------------------------------------ -# Warn about attributes on a closing tag of container element. E.g.: -# click here! -#------------------------------------------------------------------------ -enable closing-attribute - -#------------------------------------------------------------------------ -# When recursing in a directory, check whether there is a directory -# index file. See also the variable `directory-index', which specifies -# the name of index file to look for. -#------------------------------------------------------------------------ -enable directory-index - -#------------------------------------------------------------------------ -# Warn about empty container elements. For example: -# -#------------------------------------------------------------------------ -enable empty-container - -#------------------------------------------------------------------------ -# Warn about situations where one element is expected to immediately -# follow another, with no tags or text between. For example: -# 1) LH should be the first thing in a UL, if it appears at all -# 2) should be nothing between and -#------------------------------------------------------------------------ -enable must-follow - -#------------------------------------------------------------------------ -# Warn about IMG elements which don't have the WIDTH and HEIGHT -# attributes set. Setting these attributes can improve page layout speed -# on some browsers. -#------------------------------------------------------------------------ -disable img-size - -#------------------------------------------------------------------------ -# Warn about leading or trailing whitespace for certain container -# elements: A, TITLE, H1 through H6. -#------------------------------------------------------------------------ -disable container-whitespace - -#------------------------------------------------------------------------ -# Warn if you don't have a DOCTYPE element as the first thing in -# your document. -#------------------------------------------------------------------------ -disable require-doctype - -#------------------------------------------------------------------------ -# Warn if you a metacharacter is included literally, rather than using -# the appropriate entity. Currently this just warns about use of >, -# in which case you should use > -#------------------------------------------------------------------------ -enable literal-metacharacter - -# ======================================================================== -# Warnings added in the 1.014 release -# ======================================================================== - -#------------------------------------------------------------------------ -# Warn if a heading is closed with a different level close tag than -# the heading was opened with. For example: -#

... blah blah ...

-#------------------------------------------------------------------------ -enable heading-mismatch - -#------------------------------------------------------------------------ -# Warn if text is seen in unexpected context, such as inside a UL element -# (rather than inside an LI, which is inside a UL. Or in the HEAD element. -#------------------------------------------------------------------------ -enable bad-text-context - -#------------------------------------------------------------------------ -# Warn about illegal attribute values, such as values in the wrong format. -#------------------------------------------------------------------------ -enable attribute-format - -# ======================================================================== -# Warnings added in the 1.015 release -# NOTE: the netscape-markup and netscape-attribute warnings -# were deleted with the 1.015 release -# ======================================================================== - -# uncomment the following line if using the Microsoft HTML extensions -# extension Microsoft - -#------------------------------------------------------------------------ -# Warn if using extended markup without an appropriate extension enabled. -# This warning replaces the 'netscape-markup' warning, and is now generated -# if the page uses Netscape or Microsoft extensions. -#------------------------------------------------------------------------ -enable extension-markup - -#------------------------------------------------------------------------ -# Warn if using extended attributes without an appropriate extension enabled. -# This warning replaces the 'netscape-attribute' warning, and is now generated -# if the page uses Netscape or Microsoft attributes. -#------------------------------------------------------------------------ -enable extension-attribute - - -# ======================================================================== -# New stuff in the 1.016 release -# ======================================================================== - -#------------------------------------------------------------------------ -# Warn of the document TITLE is longer than 64 characters. -# This limit is recommended by the HTML specification -#------------------------------------------------------------------------ -enable title-length - -#------------------------------------------------------------------------ -# Warn about a heading inside an anchor. Should be the other way round; -# i.e. an anchor inside a heading. -#------------------------------------------------------------------------ -enable heading-in-anchor - -#------------------------------------------------------------------------ -# Warn about use of < inside the PRE element. This is just a special -# case of the `literal-metacharacter' warning. -#------------------------------------------------------------------------ -enable meta-in-pre - -#------------------------------------------------------------------------ -# Warn about attribute values which should be quoted, but aren't. -# Attribute values should be quoted if they contain characters -# other than [-.A-Za-z0-9] -#------------------------------------------------------------------------ -enable quote-attribute-value - - -# ======================================================================== -# New stuff in the 1.020 release -# ======================================================================== - -#-- no new warnings or variables added in 1.020 - diff --git a/bin/.cvsignore b/bin/.cvsignore deleted file mode 100644 index f59bf6d..0000000 --- a/bin/.cvsignore +++ /dev/null @@ -1,79 +0,0 @@ -unmime -flock -nmap -hexedit -ghortident -rmd160 -urlencode -webcopy -weblint -cvs - -python2.1 -python -pydoc - -grep -egrep -fgrep - -ldconfig-docache - -iconv -mutt -pgpring -pgpewrap - -perl -perl5.6.1 -a2p -c2ph -h2ph -h2xs -perlbug -perldoc -pl2pm -splain -perlcc -dprofpp -s2p -pod2man -find2perl -pod2html -pod2latex -pod2text -pod2usage -podchecker -podselect -pstruct - -GET -lwp-mirror -lwp-request -lwp-download -lwp-rget -HEAD -POST - -xmlwf -yapp -pngtogd -pngtogd2 -gdtopng -gd2topng -gd2copypal -gdparttopng -webpng -bdftogd -xpath -dbiproxy -dbish -xql.pl -ttree -tpage - -php -phpextdist -phpize -php-config -pear diff --git a/bin/4cinfo-refill b/bin/4cinfo-refill deleted file mode 100755 index 7f4c436..0000000 --- a/bin/4cinfo-refill +++ /dev/null @@ -1,4 +0,0 @@ -#! /bin/sh -exec formail -s <$HOME/www/4c.jankratochvil.net/list-folder $HOME/www/www.jankratochvil.net/phorum/scripts/phorummail forum=1 - -#exec $HOME/bin/From-split.perl <$HOME/www/4c.jankratochvil.net/list-folder "$HOME/www/www.jankratochvil.net/phorum/scripts/phorummail forum=1" diff --git a/bin/CVSROOTdump b/bin/CVSROOTdump deleted file mode 100755 index 9722d74..0000000 --- a/bin/CVSROOTdump +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/sh -tail -n5000 `echo *,v|sed 's/,v//g'`|grep -v '^#'|less diff --git a/bin/From-split.perl b/bin/From-split.perl deleted file mode 100755 index 6df4389..0000000 --- a/bin/From-split.perl +++ /dev/null @@ -1,18 +0,0 @@ -#! /usr/bin/perl -w -use strict; -use vars qw/$cmd/; - -$/="\nFrom "; -$|=1; -while () { - s/^From //s; - s/From $//s; - $_="From ".$_; - $cmd=$ARGV[0]; - $cmd=~s/%/$./; - open(OUT,"|".$cmd.";cat >/dev/null") or die "Cannot open $cmd"; - print OUT $_ or die "Cannot write"; - close(OUT) or die "Cannot close"; - print STDOUT "."; - } -print STDOUT " done.\n"; diff --git a/bin/ar b/bin/ar deleted file mode 100755 index 70cf013..0000000 --- a/bin/ar +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/bash -exec passg "$0" "$@" diff --git a/bin/centrum.sh b/bin/centrum.sh deleted file mode 100755 index 80ce2ac..0000000 --- a/bin/centrum.sh +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -#max of max is 999! -max=310 -umask 077 -exec &>~/priv/centrum.log -cd ~ -rm -rf ~/centrum -mkdir ~/centrum -cd ~/centrum -i=1 -last= -while [ $i -le $max ];do - j="`echo -n 000$i|tail -c 3`" - echo -n "$j: `date` - " - lynx -auth short:`cat ~/priv/centrum.pwd` -reload -source 'http://hazard.centrum.cz/~short~eb3c8f5deb72db253053b59290c804d9/hry/bandita_code.phtml' >$j.html - date - now="`sed -n 's/^.*Kredity.*VALUE="\([0-9]*\)".*$/\1/p' <$j.html`" - if [ "$now" = "$last" ];then break;fi - last="$now" - sleep 17 - i=$[$i+1] - done -echo -n "Termination: " -if [ $i -gt $max ];then echo "max $max credits exceeded." -else echo "Count "$last" matched on file $j.html." -fi -echo "Current credits: $last" -tar cf - *|bzip2 -v >~/priv/centrum.tar.bz2 -cd ~ -rm -rf ~/centrum diff --git a/bin/checkstatic b/bin/checkstatic deleted file mode 100755 index 8dc611a..0000000 --- a/bin/checkstatic +++ /dev/null @@ -1,148 +0,0 @@ -#! /usr/bin/perl - -use strict; -use warnings; -use Cwd; -use Data::Dumper; -use Getopt::Long; - - -my(%symtab)=(); - -my $D; -my $opt_nm="nm"; -my $opt_headers=1; -die if !GetOptions( - "d|debug+",\$D, - "nm=s" ,\$opt_nm, - "headers!",\$opt_headers, - ); - - -sub defmiss -{ -my($ref,$missval,$sub)=@_; - - $$ref=$missval if !defined $$ref; - &{$sub}($ref); -} - -sub addsymtype -{ -my($slot,$type,$symref)=@_; - - defmiss(\$slot,{},sub { - my($typeref)=@_; - push(@{$$$typeref{$type}},$symref); - }); -} - -sub storesym -{ -my(%sym)=@_; - - $sym{"fn_c"}=~s#^$ENV{PWD}/#./# if defined $sym{"fn_c"}; - defmiss(\$symtab{$sym{"name"}},{},sub { - my($slotref)=@_; - my($type)=$sym{"type"}; - addsymtype($$slotref,$type,\%sym); - addsymtype($$slotref,$type,\%sym) - if ($type!~/nU/ && ($type=~s/(n)[[:upper:]]/$1+/ || $type=~s/(n)[[:lower:]]/$1-/)); - }); -} - -open(NM,"-|",'find -name "*.o"|xargs -- '.$opt_nm.' -f posix --print-file-name --no-sort --line-numbers') - or die "Cannot get nm output: $!"; -while () { - chomp; - die "Line $. of nm output not recognized: $_" - # $1 $2 $3 $4 - if !/^([^:]*):\s*(\S*) (\w) [^\t]*(?:\t(.*))?$/; - storesym( - "fn_o"=>$1, - "name"=>$2, - "type"=>"n$3", - "fn_c"=>$4, - ); - } -close NM; - -if ($opt_headers) { - open(CTAGS,"-|",'find -name "*.h"|xargs ctags -f - --c-types=xp') - or die "Cannot get ctags output: $!"; - while () { - chomp; - die "Line $. of ctags output not recognized: $_" - # $1 $2 $3 - if !/^([^\t]*)\t([^\t]*)\t.*\t(\w)$/; - storesym( - "name"=>$1, - "fn_c"=>$2, - "type"=>"c$3", - ); - } - close CTAGS; - } - -print Data::Dumper->Dump([\%symtab],["%symtab"]) if $D; - -sub dumpsyms -{ -my($error,@arr)=@_; - - print("$error ".$arr[0]{"name"}.($arr[0]{"type"}=~/cp|n[tT]/ ? "()" : "").":\n"); - my($symref); - while ($symref=shift(@arr)) { - print("\t"); - if (defined($$symref{"fn_c"})) { - print($$symref{"fn_c"}); - print("\t(".$$symref{"fn_o"}.")") if defined $$symref{"fn_o"}; - } - else { - my($fn)=$$symref{"fn_o"}; - $fn=~s/\.o$/.c/; - print($fn); - } - print("\n"); - } -} - -sub refendef -{ -my($ref)=@_; - - return [] if !defined($ref); - return $ref; -} - -my($symname); -foreach $symname (sort keys %symtab) { - my($typesref)=$symtab{$symname}; - my($ref,$ref1,$ref2); - -# >=2 n[:upper:]\U symbols => global conflict - if (@{refendef($ref=$$typesref{"n+"})}>=2) { - dumpsyms("global conflict",@{$ref}); - } - -# >=1 n[:upper:]\U symbol && >=1 n[:lower:] symbol => local override - if (@{refendef($ref1=$$typesref{"n+"})}>=1 && @{refendef($ref2=$$typesref{"n-"})}>=1) { - dumpsyms("local override of global",@{$ref1}); - dumpsyms(" -- with local",@{$ref2}); - } - -# >=1 n[:upper:]\U symbol && ==0 nU symbol => global singularity - if (@{refendef($ref=$$typesref{"n+"})}>=1 && @{refendef($$typesref{"nU"})}==0) { - dumpsyms("global singularity",@{$ref}); - } - -# >=1 cx symbol && ==0 n[:upper:]\U symbol => floating extern data - if (@{refendef($ref=$$typesref{"cx"})}>=1 && @{refendef($$typesref{"n+"})}==0) { - dumpsyms("floating extern data",@{$ref}); - } - -# >=1 cp symbol && ==0 n[:upper:]\U symbol => floating extern func - if (@{refendef($ref=$$typesref{"cp"})}>=1 && @{refendef($$typesref{"n+"})}==0) { - dumpsyms("floating extern func",@{$ref}); - } - } diff --git a/bin/comp b/bin/comp deleted file mode 100755 index 610bfd5..0000000 --- a/bin/comp +++ /dev/null @@ -1,13 +0,0 @@ -#! /bin/sh -where="$PWD" -project=`basename "$where"` -set -x -if [ $# != 0 ];then - ./autogen clean - cvs update 2>&1|tee $HOME/update - ./autogen clean - cvs diff 2>&1|tee $HOME/diff - fi -time sh -c "./autogen;make" 2>&1| \ - grep -v 'warning: inline declaration ignored for function with `\.\.\.'"'"'$'| \ - tee $HOME/errs.comp-$project diff --git a/bin/cvsbranchdiff b/bin/cvsbranchdiff deleted file mode 100755 index d8a4f3b..0000000 --- a/bin/cvsbranchdiff +++ /dev/null @@ -1,36 +0,0 @@ -#! /bin/sh -# -# $Id$ - - -if [ $# = 0 ];then - echo 'currendir == CVS (old) version; $1 == dir w/new version; [$2 == "print"]' - exit 1 - fi - -t=/tmp/cvsbranchdiff.$$ -trap 'rm -rf $t' EXIT -rm -rf $t -mkdir $t -function findnice -{ - find "$1" -not -regex '.*/CVS\(\|/[^/]+\)$' '(' '!' -type d -o -printf "%P/\n" ')' '(' '!' -type f -o -printf "%P\n" ')'|sort -} -(findnice . ;echo "/") >$t/old -(findnice "$1" ) >$t/new -diff -U 999999 $t/old $t/new|sed -e '1,/^@@.*@@$/d' >$t/diff -if [ "$2" = print ];then - grep '^[+-]' $t/diff - exit 0 - fi -echo '#! /bin/sh' -echo 'set -ex' -sed \ - -e 's#^[+]\(.*\)/$#mkdir '\''./\1'\''; cvs add -kk '\''\1'\''#' \ - -e 's#^[+]\(.*[^/]\)$#cp -p '\'"$1"'/\1'\'' '\''./\1'\''; cvs add -kk '\''\1'\''#' \ - -e '\#^[-]\(.*\)/$#d' \ - -e 's#^[-]\(.*[^/]\)$#cvs remove -f '\''\1'\''#' \ - -e '\#^[ ]\(.*\)/$#d' \ - -e 's#^[ ]\(.*[^/]\)$#cmp -s '\'"$1"'/\1'\'' '\''./\1'\'' || cp -p '\'"$1"'/\1'\'' '\''./\1'\''#' \ - <$t/diff -echo 'echo done' diff --git a/bin/cvslinks b/bin/cvslinks deleted file mode 100755 index ec1df89..0000000 --- a/bin/cvslinks +++ /dev/null @@ -1,141 +0,0 @@ -#! /usr/bin/perl - -use strict; -use warnings; - -use Getopt::Std; -use Cwd; - -use constant FILENAME=>".cvslinks"; -use constant ENTRIES=>"CVS/Entries"; - - -our($opt_u,$opt_c,$opt_d,$opt_r,$opt_R,$opt_l,$opt_v); -getopts "ucdrRlv"; - -die "-u (update), -c (commit) or -d (delete) required" if !$opt_u && !$opt_c && !$opt_d; -die "-r (recursive)/-R (recursive w/o CVS) and -l (local) are conflicting" - if ($opt_r || $opt_R) && $opt_l; - -$opt_r=1 if !$opt_r && !$opt_R && !$opt_l; # default - -body(); -exit 0; - -sub body -{ - do_u() if $opt_u; - do_c() if $opt_c; - do_d() if $opt_d; - do_r() if $opt_r; - do_R() if $opt_R; -} - -sub verbose -{ -my($msg)=@_; - - return if !$opt_v; - print cwd().": $msg\n"; -} - -sub do_d -{ - local *D; - opendir D,"." or die "Cannot open directory \".\": $!"; - for (readdir D) { - next if ! -l; - verbose "Deleting local link $_"; - unlink; - } - closedir D; -} - -sub do_u -{ - local *L; - open L,FILENAME or die "File ".FILENAME." cannot be opened: $!"; - do_d(); - verbose "Creating links from ".FILENAME; - my $cmt=0; - while () { - chomp; - my $cmt_old=$cmt; - $cmt=!$cmt if /^#!/; - next if $cmt || $cmt_old || /^$/; # comment or empty-file (->empty-dir) stub line - /^(.+)\t(.+)$/ or warn "Unrecognized line: $_"; - verbose "Creating link $1"; - symlink $2,$1 or warn "symlink(\"$2\"->\"$1\"): $!"; - } - close L; -} - -sub do_c -{ - local(*L,*D); - opendir D,"." or die "Cannot open directory \".\": $!"; - verbose "Storing links to ".FILENAME; - my $cmtblock=""; - if (open L,FILENAME) { - my $cmt=0; - while () { - my $cmt_old=$cmt; - $cmt=!$cmt if /^#!/; - next unless $cmt || $cmt_old; # comment - $cmtblock.=$_; - } - close L; - } - $cmtblock="\n" if !$cmtblock; # empty-file (->empty-dir) stub line - open L,">".FILENAME or die "File ".FILENAME." cannot be created: $!"; - print L $cmtblock; - for (readdir D) { - next if ! -l; - my $target=readlink or die "Cannot read link $_: $!"; - verbose "Storing link $_"; - print L "$_\t$target\n"; - } - closedir D; - close L; -} - -sub descent -{ -my($dir)=@_; - - if (!chdir $dir) { - warn "Cannot chdir to $dir: $!"; - return; - } - verbose "Descented to child directory"; - body(); - chdir ".." or die "Cannot return back to ..: $!"; - verbose "Back in parent directory"; -} - -sub do_r -{ - local *C; - if (!open C,ENTRIES) { - warn "Cannot open file \"".ENTRIES."\": $!"; - return; - } - while () { - chomp; - next if !m#^D/([^/]*)/#; - descent($1); - } - close C; -} - -sub do_R -{ - local *D; - opendir D,"." or die "Cannot open directory \".\": $!"; - for (readdir D) { - # Beware of symlinked-directories ! - next if -l || ! -d || $_ eq "." || $_ eq ".."; - descent($_); - } - closedir D; -} diff --git a/bin/cvsutil b/bin/cvsutil deleted file mode 100755 index 8457ee4..0000000 --- a/bin/cvsutil +++ /dev/null @@ -1,294 +0,0 @@ -#! /usr/bin/perl -# -# $Id$ -# -# Recommended aliases: -# alias cvsfiles='cvsutil --files --print' -# alias cvsignores='cvsutil --ignores --print' -# alias cvsignoresall='cvsutil --ignores --workings --print' -# alias cvsignoresrm='cvsutil --ignores --rm' -# alias cvsignoresrmall='cvsutil --ignores --workings --rm' -# alias cvsignoresallrm='cvsutil --ignores --workings --rm' - -use strict; -use warnings; - -use Getopt::Long; -use Cwd qw(chdir fastgetcwd); -use Errno qw(ENOENT); - -use constant ENTRIES =>"CVS/Entries"; -use constant CVSIGNORE=>".cvsignore"; -use constant ROOT =>"CVS/Root"; - -my($opt_files,$opt_ignores,$opt_workings,$opt_dirs); -my($opt_rm,$opt_print); -our($opt_root); # undefined=>no rooting, ""=>print roots or first phase for root checking, ne ""=>set roots -my($opt_verbose,$opt_fatal); -my($opt_force); # set roots without their checking -my(@opt_ignore); - -$Getopt::Long::ignorecase=0; -$Getopt::Long::bundling=1; -die if !GetOptions_shortfilter( - "f|files!" ,\$opt_files, - "i|ignores!" ,\$opt_ignores, - "w|workings!",\$opt_workings, - "d|dirs!" ,\$opt_dirs, - "r|rm!" ,\$opt_rm, - "p|print!" ,\$opt_print, - "root:s" ,\$opt_root, - "v|verbose!" ,\$opt_verbose, - "fatal!" ,\$opt_fatal, - "force!" ,\$opt_force, - "I|ignore=s" ,\@opt_ignore, - ); - -die "--root possible only with (optional and ignored) -d|--dirs" - if defined $opt_root && ($opt_files || $opt_ignores || $opt_workings || $opt_dirs || $opt_rm || $opt_print); -die "-d|--dirs forbidden with -r|--rm" - if $opt_dirs && $opt_rm; -die "Nothing to do (no -r|--rm, no -p|--print)" - if !$opt_rm && !$opt_print && !defined $opt_root; -die "Nothing to process (no -f|--files, no -i|--ignores, no -w|--workings, no -d|--dirs)" - if !defined $opt_root && (!$opt_files && !$opt_ignores && !$opt_workings && !$opt_dirs); - -my @all_ignore=("CVS"); -for (@opt_ignore) { - push @all_ignore,$_; - @all_ignore=() if $_ eq "!"; - } - -my($root_contents,@root_dirs); - -@ARGV=(".") if !@ARGV; -our(@dir_dirs)=@ARGV; -our(@dir_files,@dir_ignores,@dir_workings,@dir_victims); -our($dir_dirname)=""; -unless ((defined $opt_root && $opt_root ne "") && $opt_force) { - local($opt_root)=$opt_root; - $opt_root="" if defined $opt_root && $opt_root ne ""; - localdircore(); - } - -actionrootfinal() if defined $opt_root && $opt_root eq ""; -if (defined $opt_root && $opt_root ne "") { - die "Non-matching \"".ROOT."\" contents, use --force for override" if !@root_dirs && !$opt_force; - localdircore(); - } - -exit 0; - -sub mayfatal -{ -my($msg,%opts)=@_; - - my $errstr=$!; - $msg.=" in \"".fastgetcwd."\" (CVS \"$dir_dirname\")".($opts{"noerrno"} ? "" : ": $errstr"); - die $msg if $opt_fatal; - warn $msg; -} - -sub fordirs -{ -my($func,@dirs)=@_; - - my $origdir=fastgetcwd; - for (@dirs) { - if (!chdir $_) { - mayfatal "Unable to process directory \"$_\""; - next; - } - &$func($_); - chdir $origdir; - } -} - -sub localdir -{ -my($localdirname)=@_; - - verbose("localdir(\"$localdirname\") entry"); - - local(@dir_dirs,@dir_files,@dir_ignores,@dir_workings,@dir_victims); - local($dir_dirname)=$dir_dirname.$localdirname."/"; - - localreaddir() or return; - - localdircore(); - - verbose("localdir(\"$localdirname\") exit"); -} - -sub localdircore -{ - localvictims() if !defined $opt_root; - localaction(); - - fordirs \&localdir,@dir_dirs; -} - -sub filterout -{ -my($from,@what)=@_; - - my %hash=map { $_=>1; } @$from; - for (@what) { - delete $hash{$_}; - } - return keys %hash; -} - -sub localreaddir -{ - local *E; - if (!open E,ENTRIES) { - mayfatal "File \"".ENTRIES."\" cannot be opened"; - return 0; - } - while () { - chomp; - do { push @dir_dirs ,$1; next; } if m#^D/([^/]*)/#; - do { push @dir_files,$1; next; } if m#^/([^/]*)/# ; - next if /^D$/; - mayfatal "File ".ENTRIES." contains invalid line \"$_\"",("noerrno"=>1); - } - close E; - - return 1 if defined $opt_root; - - local *I; - if (open I,CVSIGNORE) { - while () { - while (/\S+/g) { - for (<$&>) { - push @dir_ignores,$_ if -e $_; - } - } - } - close I; - @dir_ignores=filterout \@dir_ignores,@dir_dirs,@dir_files; - } - else { - mayfatal "File \"".CVSIGNORE."\" cannot be opened" if !$!{ENOENT}; - } - - local *D; - if (!opendir D,".") { - mayfatal "Cannot read directory \".\""; - return 0; - } - @dir_workings=filterout [readdir D],@dir_dirs,@dir_files,@dir_ignores,@all_ignore,".",".."; - closedir D; - return 1; -} - -sub localvictims -{ - push @dir_victims,@dir_files if $opt_files; - push @dir_victims,@dir_ignores if $opt_ignores; - push @dir_victims,@dir_workings if $opt_workings; - push @dir_victims,@dir_dirs if $opt_dirs; -} - -sub localactionprint -{ -my($filename)=@_; - - mayfatal "File \"$filename\" does not exist",("noerrno"=>1) if !-e $filename; - print "${dir_dirname}$filename\n"; -} - -sub localactionrm -{ -my($filename)=@_; - - if (!unlink $filename) { - mayfatal "File \"$_\" cannot be removed" if !$!{ENOENT}; - } -} - -sub localactionrootset -{ - local *R; - if (!open R,'+<',ROOT) { - mayfatal "File \"".ROOT."\" cannot be written"; - return; - } - print R "$opt_root\n"; - truncate R,tell R; - close R; -} - -sub localactionrootprint -{ - local *R; - if (!open R,ROOT) { - mayfatal "File \"".ROOT."\" cannot be opened"; - return; - } - local $/=undef; - localactionrootprintcheck(); - close R; -} - -sub localactionrootprintcheck -{ -my($contents)=@_; - - if (!defined $root_contents) { - push @root_dirs,$dir_dirname; - $root_contents=$contents; - return; - } - if (@root_dirs && $root_contents eq $contents) { - push @root_dirs,$dir_dirname; - return; - } - if (@root_dirs) { - print map "$_: $root_contents",@root_dirs; - @root_dirs=(); - } - print "$dir_dirname: $contents"; -} - -sub actionrootfinal -{ - return if !@root_dirs; - print $root_contents; -} - -sub localaction -{ - if ("" ne $dir_dirname && defined $opt_root) { - localactionrootset() if defined $opt_root && "" ne $opt_root; - localactionrootprint() if defined $opt_root && "" eq $opt_root; - return; - } - for (@dir_victims) { - localactionprint $_ if $opt_print; - localactionrm $_ if $opt_rm; - } -} - -sub verbose -{ -my($msg)=@_; - - return if !$opt_verbose; - print fastgetcwd.": $msg\n"; -} - -sub GetOptions_shortfilter -{ - my @r; - while ($_=shift) { - if (/^(\w)\|/) { - my $ref=shift; - push @r,$1,$ref,$',$ref; - next; - } - push @r,$_; - } - return GetOptions @r; -} diff --git a/bin/deployme b/bin/deployme deleted file mode 100755 index 3b454fe..0000000 --- a/bin/deployme +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/bash - -# Current user is copied to the specified machine $1 - -if [ $# != 1 ];then - echo "$0 " - exit 1 -fi - -NFSHOME="jsc-nfs.czech.sun.com" -HOMEPATH="/net/$NFSHOME/export/home/$USER" -REALNAME="`perl -e '$_=(getpwnam "'"$USER"'")[6];s/^root for //;print;'`" -PASSWD="`cat $HOME/.passwd`" - -# "'\''!E8W0@+65X86-T(\").97<@4&%S) { - chomp; - my $base=\$tree; - warn($_),next if !s#^/##; - warn($_),next if m#//#; - warn($_),next if m#/$#; - for (split qr#/#) { - next LINE if ${$base}->{""}; - $base=\(${$base}->{$_}); - } - ${$base}->{""}=1; - } -#use Data::Dumper; -#print Dumper $tree; - -sub out($$); -sub out($$) -{ -my($base,$where)=@_; - - if ($base->{""}) { - print $where."\n"; - return; - } - for (sort keys(%$base)) { - next if $_ eq ""; - out($base->{$_},"$where/$_"); - } -} - -out($tree,""); diff --git a/bin/expunge-imap b/bin/expunge-imap deleted file mode 100755 index 3ae0760..0000000 --- a/bin/expunge-imap +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh -user="${1:-short-m}" -echo 'poll localhost proto IMAP user '"$user"' pass '"`cat ~/priv/"$user".pwd \ - `"' mda "cat >/dev/null" norewrite fetchall nokeep' \ - |fetchmail -f - -s diff --git a/bin/exx b/bin/exx deleted file mode 100755 index a37132d..0000000 --- a/bin/exx +++ /dev/null @@ -1,76 +0,0 @@ -#! /usr/bin/perl -# -# $Id$ - -use strict; -use warnings; - -use IO::Handle; -use Cwd qw(chdir cwd); - -use constant FORMAT_TAR=>'tar xf $pathname;i=`echo *`;echo "$i"|grep -q " " || test * != $base ||' - .'(mv "$i" "$i".$$;(set +x;mv "$i".$$/* .);rmdir "$i".$$)'; -use constant FORMATS=>{ - "rpm" =>'rpm2cpio $pathname|cpio -id --quiet', #-v #FIXME: --sparse doesn't work, why? - "zip" =>'unzip -Lq $pathname', - "jar" =>'unzip -Lq $pathname', - "a" =>'ar x $pathname', - "deb" =>'ar x $pathname;' - .'for i in *.tar.gz;do j=`basename $i .tar.gz`;mkdir -p $j;cd $j;tar xzf ../$i;cd ..;rm -f $i;done', - "arj" =>'unarj x $pathname', - "tar" =>FORMAT_TAR, - "tar.gz" =>do { $_=FORMAT_TAR; s/xf/xzf/; $_; }, - "tgz" =>"tar.gz", - "tar.bz2"=>do { $_=FORMAT_TAR; s/xf/xjf/; $_; }, - "tar.bz" =>"tar.bz2", - "tbz" =>"tar.bz", - }; - -die "Syntax: $0 )>..." - if !@ARGV; - -my @extdirs; -my $origdir=cwd; -for my $fname (@ARGV) { - my @parsed; - for my $fmt (sort { length $b<=>length $a; } keys %{+FORMATS}) { - last if @parsed=$fname=~m#^(.*?)([^/]+)([.=])(\Q$fmt\E)$#i; - } - $parsed[3] or die "Extension not found for archive: $fname"; - my($path,$base,$ext)=@parsed[0,1,3]; - my($pathname)=($parsed[2] eq "=" ? "$path$base" : $fname); - my($cmdtry,$cmd)=(lc $ext); - do { - $cmd=$cmdtry; - $cmdtry=FORMATS->{$cmdtry}; - } while ($cmdtry); - -r $pathname && !-d $pathname or die "Archive not readable: $pathname"; - my($extdir)=(-e $base && !-d $base ? "$base.dir" : $base); - # Extraction-overwriting cowardly not supported: - # -d $extdir or ... - mkdir $extdir or die "Unable to create directory \"$extdir\": $!"; - chdir $extdir or die "Unable to chdir to \"$extdir\": $!"; - $pathname="../$pathname" if $pathname!~m#^/#; - $path ="../$path" if $path !~m#^/#; - $cmd="set -ex;$cmd"; - my %substvars=( - "pathname"=>\$pathname, - "path" =>\$path, - "base" =>\$base, - "ext" =>\$ext, - "extdir" =>\$extdir, - ); - while (my($name,$var)=each %substvars) { - ($_=$$var)=~s/'/'\\''/g; - $cmd="$name='$_';$cmd"; - } - print "\t$extdir/:\n"; STDOUT->flush(); - my $rc; - $rc=system $cmd and die "$cmd (rc=".($rc>>8)."): $!"; - push @extdirs,$extdir; - } - continue { - chdir $origdir; - } -print "extdir=".$extdirs[0]."\n" if 1==@extdirs; -exit 0; diff --git a/bin/fromdos b/bin/fromdos deleted file mode 100755 index 4daeea6..0000000 --- a/bin/fromdos +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/sh -exec tr -d '\r' diff --git a/bin/fromhex b/bin/fromhex deleted file mode 100755 index b92d1b4..0000000 --- a/bin/fromhex +++ /dev/null @@ -1,8 +0,0 @@ -#! /usr/bin/perl - -use strict; -use warnings; - -while (<>) { - printf("%c",hex($1)) while ($_=~s/([[:xdigit:]]{2})//); - } diff --git a/bin/ftprate b/bin/ftprate deleted file mode 100755 index c9898e3..0000000 --- a/bin/ftprate +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -if [ $# -lt 1 -o $# -gt 3 ];then - echo "$0: [] []" - exit - fi -if [ -n "$3" ];then - ctms="`date -d "$3" '+%s'`" - ctmd="$3" -else - ctms="`find "$1" -printf "%A@\n"`" - ctmd="`find "$1" -printf "%a\n"`" -fi -find "$1" -printf "scale=2;print \"Current rate: \",%s/(%T@-$ctms),\" B/s\\n\"\n"|bc -if [ -n "$2" ];then - echo -n "Progress : ";find "$1" -printf "scale=2;print \"%`echo -n "$2"|wc -c`s / $2 (\",%s*100/$2,\"%%)\\n\"\n"|bc - echo -n "Start time: ";date -d "$ctmd" - echo -n "Current time: ";date - echo -n "Finish time: ";date --date "`find "$1" -printf "($2-%s)*(%T@-$ctms)/%s\n"|bc` secs" - fi diff --git a/bin/httpgetdumb b/bin/httpgetdumb deleted file mode 100755 index 6ea04e0..0000000 --- a/bin/httpgetdumb +++ /dev/null @@ -1,50 +0,0 @@ -#! /usr/bin/perl -# -# $Id$ - -use strict; -use warnings; - -use Socket; -use IO::Handle; -use Getopt::Std; - -use constant DEFAULT_PORT=>80; -use constant BUFFER_LENGTH=>0x1000; - -my %opts; -getopts "hH",\%opts or die "getopts()"; -@ARGV==1 && $ARGV[0]=~m#^http://([^/:]+)(?::(\d+))?(/.*)$# - or die "Syntax: $0 [-hH] http://hostname/pathname"; -my($host,$port,$path)=($1,$2,$3); -defined $port or $port=DEFAULT_PORT; - -my $proto=getprotobyname "tcp" or die "getprotobyname \"tcp\": $!"; -socket SOCK,PF_INET,SOCK_STREAM,$proto or die "socket PF_INET,SOCK_STREAM,\"tcp\": $!"; -my $hostaddr=gethostbyname $host or die "hostname \"$host\": $!"; -my $sockaddr=sockaddr_in $port,$hostaddr or die "sockaddr_in(".inet_ntoa($hostaddr).":$port): $!"; -connect SOCK,$sockaddr or die "connect \"$host\"(".inet_ntoa($hostaddr).":$port): $!"; - -print SOCK ($opts{"h"} ? "HEAD" : "GET")." $path HTTP/1.0\r\nHost: $host\r\n\r\n"; -if ($opts{"H"}) { - while () { - chomp; - last if /^$/; - print SOCK "$_\r\n"; - } - } -SOCK->flush(); -while () { - print STDERR; - chomp; - last if /^\r?$/; - } -for (;;) { - my $buf; - my $got=read SOCK,$buf,BUFFER_LENGTH; - defined $got or die "read: $!"; - last if !$got; - die "read()=$got (<0)" if $got<0; - print $buf; - } -exit 0; diff --git a/bin/iptables-isp-list b/bin/iptables-isp-list deleted file mode 100755 index 05b289e..0000000 --- a/bin/iptables-isp-list +++ /dev/null @@ -1,13 +0,0 @@ -#! /bin/sh -if [ $# = 0 ];then - echo "Available chains:" - /sbin/iptables -L -n|sed -n 's/^Chain isp_\([^ ]*\)_output .*$/ \1/p' - exit 0 - fi -while [ $# -gt 0 ];do - for suffix in `/sbin/iptables -L -n|sed -n 's/^Chain isp_week_\([^ ]*\) .*$/\1/p'`;do - /sbin/iptables -v -n -L isp_$1_$suffix - echo - done - shift - done diff --git a/bin/kernelfilterdiffconfig b/bin/kernelfilterdiffconfig deleted file mode 100755 index 53461c6..0000000 --- a/bin/kernelfilterdiffconfig +++ /dev/null @@ -1,23 +0,0 @@ -#! /bin/sh -set -ex -exec filterdiff -i '*/[cC]onfig.in' \ - -x '*/arch/alpha/*' \ - -x '*/arch/arm/*' \ - -x '*/arch/cris/*' \ - -x '*/arch/ia64/*' \ - -x '*/arch/x86_64/*' \ - -x '*/arch/mips*/*' \ - -x '*/arch/ppc*/*' \ - -x '*/arch/sparc*/*' \ - -x '*/arch/m68k/*' \ - -x '*/isdn/*' \ - -x '*/usb/*' \ - -x '*/sound/*' \ - -x '*/pcmcia/*' \ - -x '*/net/wan/*' \ - -x '*/net/irda/*' \ - -x '*/net/appletalk/*' \ - -x '*/bluetooth/*' \ - -x '*/wireless/*' \ - "$@" | \ - grep -vw '^diff' diff --git a/bin/killall b/bin/killall deleted file mode 100755 index 89f5090..0000000 --- a/bin/killall +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh -[ -x /usr/bin/killall ] && exec /usr/bin/killall "$@" -sig="" -if echo "$1" | grep >/dev/null -- '^-';then - sig="$1" - shift -fi -pgrep -l "$@" -if pkill $sig "$@";then true;else - echo "$*: no process killed" - exit 1 -fi -if pgrep >/dev/null -l "$@";then - echo "FAIL:" - pgrep -l "$@" -else - echo OK -fi -exit 0 diff --git a/bin/kratochvil.vellum.cz-update b/bin/kratochvil.vellum.cz-update deleted file mode 100755 index bbf3113..0000000 --- a/bin/kratochvil.vellum.cz-update +++ /dev/null @@ -1,26 +0,0 @@ -#! /bin/sh - -lockfile="/home/short/bin/kratochvil.vellum.cz-update.lock" -kratochvil_IP="`echo "${SSH_CLIENT:-$SSH2_CLIENT}"|cut -d ' ' -f 1`" -kratochvil_IP="${1:-$kratochvil_IP}" -kratochvil_IP_back="`echo "$kratochvil_IP"|sed 's/\./\\\\./g'`" -named_dir="/etc/named" -cf_file="$named_dir/cf/kratochvil.vellum.cz" - -if [ -f "$lockfile" ];then lockmsg=true;else lockmsg=false;fi -if $lockmsg;then echo -n "$0: Locking \"$lockfile\"...";fi -lockfile -l 60 "$lockfile" -trap 'rm -f "$lockfile"' EXIT -if $lockmsg;then echo " done.";fi - -if grep -q '^ `'"$kratochvil_IP_back'"'$' "$cf_file";then - echo "$0: Nothing to do, $kratochvil_IP already present." - exit 0 - fi - -echo "$0: Updating new IP $kratochvil_IP..." -echo -e '%s#\(^ `\)[0-9.]*\('"'"'\)$#\\1'"$kratochvil_IP"'\\2#\nw'|ed -s "$cf_file" -make -C "$named_dir" --assume-new="ver/.version" -/home/short/secure/ndc-reload-short kratochvil.vellum.cz -echo "$0: Update done." -exit 0 diff --git a/bin/ldconfig-pserver b/bin/ldconfig-pserver deleted file mode 100755 index c7e60bc..0000000 --- a/bin/ldconfig-pserver +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh -set -ex -exec /home/short/bin/ldconfig-docache -C /home/short/pserver/etc/ld.so.cache -n -v /home/short/pserver/lib diff --git a/bin/line9k b/bin/line9k deleted file mode 100755 index 05a4c70..0000000 --- a/bin/line9k +++ /dev/null @@ -1,206 +0,0 @@ -#! /bin/bash -# -# $Id$ -# http://www.jankratochvil.net/project/line9k/ -# Modem / Nokia 9110 incoming GSM data gate -# -# /etc/ppp/chap-secrets: -# Secrets for authentication using CHAP -# client server secret IP addresses -# username1a line9k secret1a 192.168.90.11 -# username1b line9k secret1b 192.168.90.11 -# username2 linecr secret2 192.168.90.12 -# -# /etc/inittab: -# l9:2345:respawn:/usr/local/sbin/line9k line9k -# lc:2345:respawn:/usr/local/sbin/line9k linecr -# -# Charger scheme: -# 1N4148 -# RS232 DTR------|>|------ --------------+-------------- ----AC conn. -# | | | | | -# ) / | 1N4148 ) / -# ) / ----|>|---- ) / -# 680R ) -- | ) -- -# ______ | | | | | -# RS232 GND----|______|--- ----PS/2 +5V PS/2 GND-+-- ----AC conn. -# RELSIA05-500 RAS-0515 -# -# Manual charge control: -# /usr/local/sbin/line9k charge on # Force charging on -# /usr/local/sbin/line9k charge off # Automatic charging -# /usr/local/sbin/line9k charge # Query charging force - - -device=$1 - -# Local IP address of setup pointtopoint interfaces -LOCAL_IP=192.168.90.10 - -# Nameserver for remote clients: -NS=192.168.90.10 - -# Percent of battery where charging starts -charge_force_le=50; - -# Charger control port -charge_ttyS=/dev/ttyS0 - -# Time in seconds to charge the battery after reaching 100% state -max_limit_time=$[3*60*60]; - -case $device in - line9k) - PORT=/dev/ttyS4 # 9110 - BAUD=19200 - # Local IP address of setup pointtopoint interfaces - REMOTE_IP=192.168.90.11 - RINGS=1 - OPTIONS="-crtscts xonxoff asyncmap a0000" - # "server" field in /etc/ppp/chap-secrets - AUTH_NAME=line9k - CHARGE=true - ;; - linecr) - PORT=/dev/ttyS3 # Courier - BAUD=57600 - REMOTE_IP=192.168.90.12 - RINGS=7 - OPTIONS="crtscts asyncmap 0" - AUTH_NAME=linecr - CHARGE=false - ;; - -############################################################################## -# Configuration section ends here. -############################################################################## - - charge) - function chargestate - { - echo -n "Charging force: " - if test -f $charge_ttyS.charge;then - echo "YES" - else - echo "NO" - fi - } - chargestate - if [ "$2" = on -o "$2" = yes ];then - echo "CHANGED: YES" - touch $charge_ttyS.charge - baud=9600 - elif [ "$2" = off -o "$2" = no ];then - echo "CHANGED: NO" - rm -f $charge_ttyS.charge - baud=0 - fi - stty -F $charge_ttyS -hup clocal $baud 2>/dev/null - [ -n "$2" ] && chargestate - exit 0 - ;; - *) - echo "Unknown device: $device" - exit 1 - esac - -RING1='"RING" "\c"' -RINGSTR="" -while [ $RINGS -gt 0 ];do - # FIXME: timeout is not reset after stray ring(s) - RINGSTR="$RINGSTR $RING1" - RINGS=$[$RINGS-1] - done -LOGGER="logger -i -t $device" - -# Use single AT/OK after ATZ to set terminal speed for USRobotics Courier -exec pppd "$PORT" "$BAUD" modem lock $OPTIONS $LOCAL_IP:$REMOTE_IP ms-dns "$NS" \ - connect ' - charge_val_last=-1; - baud_last=0; - limit_date_last=0; - aborts='\'' - ABORT "ERROR" - ABORT "BUSY" - ABORT "NO\sANSWER" - ABORT "NO\sCARRIER" - ABORT "NO\sDIAL\sTONE" - ABORT "VOICE" - '\''; - rc=3; - while test $rc -eq 3; do - chat \ - TIMEOUT 1 \ - "" "ATZ" \ - "OK-ATZ-OK" "AT" \ - ABORT "+CBC: 0,0" \ - ABORT "+CBC: 0,25" \ - ABORT "+CBC: 0,50" \ - ABORT "+CBC: 0,75" \ - ABORT "+CBC: 0,100" \ - "OK" \ - '"`if $CHARGE;then echo "AT+CBC" NOTREACHED;fi`"' \ - "\c" \ - ; - rc=$?; test $rc -eq 0 -o $rc -ge 4 || exit $rc; - if '$CHARGE';then - charge_arr=(0 25 50 75 100); - charge_val=${charge_arr[$[$rc-4]]}; - charge_force_le='$charge_force_le'; - charge_limit_gt=99; - max_limit_time='$max_limit_time'; - baud=$baud_last; - charge_ttyS='$charge_ttyS'; - if test -f $charge_ttyS.charge;then - baud=nocontrol; - else - if test $baud = nocontrol;then - baud=0; - fi; - if test $charge_val -le $charge_force_le;then baud=9600;fi; - if test $charge_val -gt $charge_limit_gt;then - limit_date=$[`date +%s`]; - if test $limit_date_last -eq 0;then - limit_date_last=$limit_date; - if test $baud -ne 0;then - '"$LOGGER"' "CHARGE state: full-stage charging entered"; - fi; - else - if test $baud -ne 0 -a $[$limit_date-$limit_date_last] -gt $max_limit_time;then - '"$LOGGER"' "CHARGE state: full-stage charging terminated"; - baud=0; - fi; - fi; - else - limit_date_last=0; - fi; - fi; - if test $charge_val_last -ne $charge_val -o $baud_last '!=' $baud;then - '"$LOGGER"' "CHARGE state: charge=$charge_val; baud=$baud"; - fi; - charge_val_last=$charge_val; - baud_last=$baud; - if test $baud '!=' nocontrol;then - stty -F $charge_ttyS -hup clocal $baud 2>/dev/null; - fi; - fi; - chat \ - $aborts \ - TIMEOUT 590 \ - '"$RINGSTR"' \ - ; - rc=$?; test $rc -eq 0 -o $rc -eq 3 || exit $rc; - done - chat -v $aborts \ - TIMEOUT 40 \ - REPORT "CONNECT" \ - "" "ATA" \ - "CONNECT" "\c" \ - "^M" "\c" \ - ; - rc=$?; test $rc -eq 0 || exit $rc; - baud=9600; - stty -F $charge_ttyS -hup clocal $baud 2>/dev/null; - ' \ - -ccp nodefaultroute lcp-echo-interval 30 lcp-echo-failure 4 lcp-max-configure 30 -detach debug nologfd kdebug 255 \ - require-chap -pap auth name $AUTH_NAME diff --git a/bin/m b/bin/m deleted file mode 100755 index 6b017e5..0000000 --- a/bin/m +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/sh -case $# in - 0) ls -ltL ~/Mail #|less - ;; - 1) exec mutt -f ="$1" - ;; - *) echo "Error parameters" - ;; - esac diff --git a/bin/md b/bin/md deleted file mode 100755 index e503dfe..0000000 --- a/bin/md +++ /dev/null @@ -1,31 +0,0 @@ -#! /bin/sh -if [ -f .print_userprogs ];then - if [ `wc -l <.print_userprogs` = 1 ];then - arg="./`sed 's/:.*//' <.print_userprogs`" - fi -fi -if [ -z "$arg" ];then - arg="`basename "$PWD"`" -fi - -run_args="`mdr_args "$arg"`" - -if [ -z "$1" ];then - cmd="run" -else - cmd="rtl $1";shift -fi - -echo "ARG: $arg CMD: $cmd" -t="/tmp/mr.$$";rm -f "$t" -trap 'rm -f "$t"' EXIT -cat >"$t" </dev/null `cd /proc;echo *` \ - |awk '/^[0-9]/{idpid=$1;idproc=$2}/ AF_INET6? .*port: /{printf "%6s%-50s %15s:%d\n",idpid,idproc,$3,$5}' \ - |sort -t : -k 3 -n diff --git a/bin/passg b/bin/passg deleted file mode 100755 index 77238ef..0000000 --- a/bin/passg +++ /dev/null @@ -1,15 +0,0 @@ -#! /bin/sh -arg0="$1" -shift -me="`basename "$arg0"`" -# FIXME: Why not: IFS=: for i in... -save_IFS="$IFS" -IFS=: -for i in $PATH;do - IFS="$save_IFS" - test -x "$i/$me" -a "$i/$me" != "$arg0" || continue - exec "$i/$me" "$@" - echo >&2 "NOTREACHED" && exit 1 - done -IFS="$save_IFS" -exec "g$me" "$@" diff --git a/bin/perlilib b/bin/perlilib deleted file mode 100755 index 0ee7b47..0000000 --- a/bin/perlilib +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/sh -# -# $Id$ - -exec /usr/bin/perl`echo "${PERLLIB:+:$PERLLIB}"|sed 's/:/ -I/g'` "$@" - -exit 0 - -exec /usr/bin/perl -e ' - @LIB=qw( - /home/short/lib/perl5/site_perl/5.6.1/i386-linux - /home/short/lib/perl5/site_perl/5.6.1 - /home/short/lib/perl5/site_perl/i386-linux - /home/short/lib/perl5/site_perl - /home/short/lib/perl5/5.6.1/i386-linux - /home/short/lib/perl5/5.6.1 - /home/short/lib/perl5/i386-linux - /home/short/lib/perl5 - /usr/lib/perl5/5.6.1/i386-linux - /usr/lib/perl5/5.6.1 - /usr/lib/perl5/site_perl/5.6.1/i386-linux - /usr/lib/perl5/site_perl/5.6.1 - /usr/lib/perl5/site_perl - /usr/lib/perl5/vendor_perl/5.6.1/i386-linux - /usr/lib/perl5/vendor_perl/5.6.1 - /usr/lib/perl5/vendor_perl - .);' \ - "$@" diff --git a/bin/ppp9k b/bin/ppp9k deleted file mode 100755 index e40a7e8..0000000 --- a/bin/ppp9k +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh -# -# $Id$ -# written by Jan Kratochvil -# -# Note to users of: -# Linux running INSIDE VMWare (e.g. on Win32 machine) -# and internet connection through local ethernet card: -# You MUST enable masquerading (NAT) for your Communicator's IP address! -# iptables -t nat -F -# iptables -t nat -A POSTROUTING --source 192.168.90.1 -j MASQUERADE -# (replace 192.168.90.1 by your $NOKIA9K setting below, if you change it) -# - problem investigation by courtesy of Hussain Akbar - - -# IP address for N9K, "192.168.90.1" if not provided (either here or from -# some ~/.profile etc.) -#NOKIA9K= - -# Nameserver for N9K, taken from /etc/resolv.conf if not provided -#NS= - -# Serial port with attached N9K, default is /dev/ttyS1 (AKA COM2:) -#PORT=/dev/ttyS1 - -# Nokia baudrate, usually 19200 or 38400, default is 19200 -#NOKIABAUD=19200 - -# No user-servicable parts below! - -pid="/var/run/ppp9k.pid" -if [ -f "$pid" ];then - if kill -0 `head -n 1 "$pid"` 2>/dev/null;then - echo "Killing previous ppp9k on PID(s):" `cat "$pid"` - kill `cat "$pid"` - rm -f "$pid" - exit 0 - else - echo "Removing state lock of PID(s):" `cat "$pid"` - rm -f "$pid" - fi -fi - -IP="${NOKIA9K:-192.168.90.1}" -NS="`grep '^nameserver' /etc/resolv.conf|head -n 1|cut -f 2 -d ' '`" -NS="${NS:-127.0.0.1}" -if [ "$NS" = localhost -o "${NS#127.}" != "$NS" ];then NS="`hostname -f`";fi -PORT="${PORT:-ttyS1}" -if [ "${PORT#*/}" = "$PORT" ];then PORT="/dev/$PORT";fi -NOKIABAUD="${NOKIABAUD:-19200}" - -# Some rules for the chat script: -# 9000i starts with: ATZ, AT&F (the need for TIMEOUT 2, "-OK^M^J-AT&F") -# 9110 starts with: AT&F -# user can have global custom initialization string (need for one "OK^M^J") -# user can have connection custom initialization string (need for one "OK^M^J") - -(trap "" HUP - while [ '!' -f "$pid" ];do sleep 1;done - me="`cat "$pid"`" - while :;do - pppd "$PORT" "$NOKIABAUD" modem lock -crtscts xonxoff :$IP asyncmap 0 ms-dns "$NS" \ - connect 'chat -v \ - "TIMEOUT" "86400" \ - "AT" "\c" \ - "TIMEOUT" "2" \ - "&F-OK^M^J-AT&F" "OK^M^JOK^M^JOK^M^J" \ - "TIMEOUT" "20" \ - "ATD" "CONNECT^M^J" \ - ' \ - -ccp nodefaultroute proxyarp lcp-echo-interval 30 lcp-echo-failure 2 lcp-max-configure 30 -detach \ - -chap noauth "$@" & - echo -e "$me\n$!" >"$pid" - wait - echo "$me" >"$pid" - sleep 10 - done) /dev/null & - -he="$!" -echo "$he" >"$pid" -echo "Starting up: PID=$he, port=$PORT, baud=$NOKIABAUD, remoteIP=$IP, nameserver=$NS" diff --git a/bin/radary b/bin/radary deleted file mode 100755 index 2645f09..0000000 --- a/bin/radary +++ /dev/null @@ -1,7 +0,0 @@ -#! /bin/sh -box=$HOME/Mail/radary -while [ -f $box ];do - mv $box $box.$$ - awk '/^From /{hdr=1}{if (!hdr) print}/^$/{hdr=0}' <$box.$$|less - rm -f $box.$$ - done diff --git a/bin/runsocks b/bin/runsocks deleted file mode 100755 index adc8a57..0000000 --- a/bin/runsocks +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# -# Put the path to the socks shared library in our LD_LIBRARY_PATH so when we -# preload the library, ld.so will find it... -# -if test -n "${SOCKS5_SHLIB_RUNPATH}" ; then - SOCKS5_SHLIB_RUNPATH="${SOCKS5_SHLIB_RUNPATH}/" -elif test -n "/usr/local/lib"; then - SOCKS5_SHLIB_RUNPATH="/usr/local/lib/" -else - SOCKS5_SHLIB_RUNPATH="./" -fi - -# -# Some OS's use PRELOADS=lib while others use _RLD_LIST=lib:DEFAULT. Hopefully -# this can handle all those cases. At any rate, this is basically causing the -# socks5 shared libary to be used to resolve symbols before other libraries, -# hence we get socks's connect before we get libc's connect... -# -# Also, on SunOS 4*, LD_LIBRARY_PATH has no effect on, so we need to put the path -# in front of it. We make the path overridable with SOCKS5_SHLIB_RUNPATH... -# -case `uname -rs` in -SunOS*4.*) - LD_PRELOAD=${SOCKS5_SHLIB_RUNPATH}libsocks5_sh.so - export LD_PRELOAD - ;; -*) - if test -z "$LD_LIBRARY_PATH" ; then - LD_LIBRARY_PATH=${SOCKS5_SHLIB_RUNPATH} - else - LD_LIBRARY_PATH=${SOCKS5_SHLIB_RUNPATH}:${LD_LIBRARY_PATH} - export LD_LIBRARY_PATH - fi - - LD_PRELOAD=libsocks5_sh.so - export LD_LIBRARY_PATH - ;; -esac -# -# Run the actual program... -# -export LD_PRELOAD -exec "$@" diff --git a/bin/sendmailerr b/bin/sendmailerr deleted file mode 100755 index a195655..0000000 --- a/bin/sendmailerr +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/sh -exec /usr/sbin/sendmail -fshort+err@vellum.cz "$@" diff --git a/bin/sslsmtp b/bin/sslsmtp deleted file mode 100755 index 658cc24..0000000 --- a/bin/sslsmtp +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh -port="${1:-925}" -exec /usr/sbin/stunnel -S 0 -c -p $HOME/priv/sslvellum.key -v 3 -a $HOME/priv/sslsmtp.dir -r kratochvil.vellum.cz:"$port" diff --git a/bin/strip b/bin/strip deleted file mode 100755 index 70cf013..0000000 --- a/bin/strip +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/bash -exec passg "$0" "$@" diff --git a/bin/todos b/bin/todos deleted file mode 100755 index 87a27bb..0000000 --- a/bin/todos +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/sh -exec sed 's/$/ /g' diff --git a/bin/vellumweb-build b/bin/vellumweb-build deleted file mode 100755 index 01eb921..0000000 --- a/bin/vellumweb-build +++ /dev/null @@ -1,99 +0,0 @@ -#! /bin/sh -# -# $Id$ - -arch=$HOME/arch -prefix=/usr/local/apache -pkgs=" - httpd=apache_1.3.31 - openssl=openssl-0.9.7d - modssl=mod_ssl-2.8.19-1.3.31 - php=php-4.3.6 - modperl=mod_perl-1.29 - " -with_perl=false -export CFLAGS="-ggdb3" - -#----------------------------------------------------------------------------- - -do_failed=true -trap 'if $do_failed;then echo "FAILED FAILED FAILED!";fi' EXIT - -set -e -eval "$pkgs" -echo "$pkgs"|sed -n 's/=/ /p'|while read -r pkg pkgb;do - ! $with_perl && test $pkg = modperl && continue - if test -f $arch/$pkgb.tar.gz ;then pkgarchext=.tar.gz ;z=z - elif test -f $arch/$pkgb.tgz ;then pkgarchext=.tgz ;z=z - elif test -f $arch/$pkgb.tar.bz2;then pkgarchext=.tar.bz2;z=j - else echo "Missing archive \"$pkgb*\"!";exit 1;fi - rm -rf $pkg;echo -n . - tar x${z}f $arch/$pkgb$pkgarchext;echo -n . -done;echo - -( -set -ex - -pushd $httpd - ./configure --prefix=$prefix -popd - -pushd $openssl - rm -rf /usr/local/ssl* - ./config - make - make install -popd - -pushd $modssl - ./configure --with-apache=../$httpd --with-ssl=../$openssl \ - --prefix=$prefix \ - --with-crt=/etc/httpd/conf/ssl.crt/server.crt \ - --with-key=/etc/httpd/conf/ssl.key/server.key -popd - -pushd $php - ./configure --with-apache=../$httpd \ - --with-mysql`d=/usr/local/mysql && test -d $d && echo =$d` \ - --enable-track-vars \ - --enable-memory-limit=yes \ - --enable-debug=no \ - --with-gd \ - --with-zlib-dir=/usr/lib \ - --with-jpeg-dir=/usr/lib \ - --with-iconv - make - make install -popd - -if $with_perl;then -pushd $modperl - perl Makefile.PL APACHE_SRC=../$httpd DO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 \ - PERL_DEBUG=1 - make -# make test # requires running httpd! - make install UNINST=1 -popd -fi - -pushd $httpd - OPTIM="$CFLAGS" SSL_BASE="$PWD/../$openssl" ./configure --prefix=$prefix \ - --enable-module=ssl \ - --activate-module=src/modules/php4/libphp4.a \ - $(if $with_perl;then echo \ - --activate-module=src/modules/perl/libperl.a \ - --disable-rule=EXPAT \ - ;fi - ) \ - --enable-module=so \ - --enable-module=headers \ - --enable-module=rewrite \ - --enable-module=auth_anon \ - --enable-module=proxy - make - make install -popd - -echo "success." -) 2>&1|tee errs -do_failed=false diff --git a/bin/worldisup b/bin/worldisup deleted file mode 100755 index 011f83c..0000000 --- a/bin/worldisup +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -t=/tmp/worldisup.$$ - -(date - echo -e "\n$SSH_CLIENT\n" - h="`echo "$SSH_CLIENT"|awk '{print $1}'`" - host -a "$h" - ~/bin/ghortident $SSH_CLIENT - n="`host -a "$h" 2>&1|sed -n 's/^Name: \(.*\)/\1/p'`" - n="${n:-h}" - echo -e "\nssh -v $n -p 56122\ntelnet $n 56123" -) 2>&1|todos >$t -mv $t ~/WWW/home.txt diff --git a/public_html/cgi-bin/.htaccess b/public_html/cgi-bin/.htaccess deleted file mode 100644 index cf22c32..0000000 --- a/public_html/cgi-bin/.htaccess +++ /dev/null @@ -1,4 +0,0 @@ -Options -Indexes - - SetHandler cgi-script - diff --git a/public_html/cgi-bin/postget.php b/public_html/cgi-bin/postget.php deleted file mode 100644 index 8ebabc7..0000000 --- a/public_html/cgi-bin/postget.php +++ /dev/null @@ -1,56 +0,0 @@ -$val) { - if (ereg("^_priv_(postget.*)\$",$val,$matched)) { - $permit=array("127.0.0.1"=>1,"192.168.192.1"=>1,"192.168.90.11"=>1,"192.168.90.12"=>1); - if (!$permit[$HTTP_SERVER_VARS["REMOTE_ADDR"]]) - print("Forbidden:" - ." REMOTE_ADDR=".htmlspecialchars($HTTP_SERVER_VARS["REMOTE_ADDR"]) - .",key=".htmlspecialchars($key) - .",val=".htmlspecialchars($val) - ."
" - ); - else - $HTTP_GET_VARS[$key]=chop(join(" ",file($path_priv.$matched[1],false/*use_include_path*/))); - } - } - - if ($getget) { - $first='?'; - foreach ($HTTP_GET_VARS as $key=>$val) { - $where.="${first}".urlencode($key)."=".urlencode($val); - $first='&'; - } - header("Location: $where"); - } - header("Content-type: text/html"); - print(''."\n"); -?> - - -postget -

\n" - ."get\n" - ."

\n"); - } - else { - print("" - ."\n" - ."

\n"); - foreach ($HTTP_GET_VARS as $key=>$val) - print("\n"); - print("\n"); - print("

\n"); - } - -?> - diff --git a/src/.cvsignore b/src/.cvsignore deleted file mode 100644 index 5fff1d9..0000000 --- a/src/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -pkg diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index a6885e0..0000000 --- a/src/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -CFLAGS= -CFLAGS+=-Wall -Wstrict-prototypes -ggdb3 -#CFLAGS+=-pedantic -ansi -traditional -Wall -Wstrict-prototype -#CFLAGS+=-O9 -fexpensive-optimizations -finline-functions -#CFLAGS+=-pg - -all: unmime flock pipebuf - -pipebuf: pipebuf.c - sh $< diff --git a/src/Perl-Style b/src/Perl-Style deleted file mode 100644 index b4aedcb..0000000 --- a/src/Perl-Style +++ /dev/null @@ -1,216 +0,0 @@ -$Id$ - -Important lines prefixed by '[!](?:(?!\s)| )'. -General (non-Perl) lines prefixed by '[~](?:(?!\s)| )'. -Perl general knowledge from docs prefixed by '[#](?:(?!\s)| )'. - -Perl-5.0+ header: -! #! /usr/bin/perl -w - # - # $Id$ - - package My::Package::Name; -! use vars qw($VERSION); -! # $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; }; -! use strict; - #use warnings; - * Note 'sprintf' hack to keep Perl MakeMaker numbering linear with CVS. - * Always using 'strict'/'warnings' - * Not sure if one has right to declare own non-CPAN-accepted package - name outside of 'My::' prefix, recently using always rather 'My::' - -Perl-5.6.0+ header: -! #! /usr/bin/perl - # - # $Id$ - - package My::Package::Name; -! # our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; }; -! use strict; -! use warnings; - - -Header block for OO files and/or exporting files: - require My::Inherited1; - require My::Inherited2; - require Exporter; - use vars qw(@ISA @EXPORT); - @ISA=qw(My::Inherited1 My::Inherited2 Exporter); - @EXPORT=qw(); - -Generally always rather 'require' than 'use'. Modules with non-conflicting -naming are 'use'd (such as 'MIME::Base64' with &encode_base64 etc.). - -Method parenthesis: -! * Always given if no arguments are passed. -! * Always given for any object or class method calls. -! * Always given if the first arguments looks as bless()ed. - * docs/comments: 'method()' used for invocation, '&method' for reference -! * Always given for 'map', 'each' (commands-not methods from previous line) - * Trying to prevent if not neccessary -! * Usually needed for 'print' argument as its first arg already has '()' -! * Never using 'method_name blessed_object' syntax: - Dangerous: - name blessed_object - interpreted as - blessed_object->name() - instead of intended - name(blessed_object) - -Always use named control variable for 'for my $var (...)' if the naming makes -sense, leave the default '$_' instead of common names such as $i or $n. - -Function header: - # $first_arg,%$secondarg,@rest - sub function_name - { - my($class,first_arg,$secondarg,@rest)=@_; - * Comment-line suppressed if trivial. - * Comment-line written in the dereferencing operators order being used - for accessing elements. -! * Suicide imminent if '=@_' forgotten. - * Always used $class or $self for class-methods or object-methods. - * Usually not using (caller should call it manually): - $self=$self->new() if !ref $self; -! * Never modifying @_ to keep perl debugger 'T' command happy - * Wanna use function prototypes (not yet) although I will never use - '\', '*' or '&' for the same reasons I would never use C++ '&' param. - -Not using: 'unless'(->'if !'), 'until'(->'while !'), 'foreach'(->'for'). - -Always trying to use 'map' instead of 'for'. Nested 'map's are fined although -$_ renaming is needed there: - map({ -! my $whole_record=$_; - map({ $_+$whole_record->{"shift_value"}; } ($whole_record->{"list"})); - } @some_record_list) - -Always trying to place 'for'/'if'/'while' after the command (without block). - * Impossible if multiple modifiers needed (just one placed after): -! print "$_\n" for (0..5) if $do_print; - * Impossible if using variable declared in the modifier: -! print "$var\n" for my $var (@some_array); - * Sometimes even using for multiple commands under the control: - do { print "kaboom"; return; } if $serious_problem; - do not use this as even 'print' can fail: - print "kaboom" and return if $serious_problem; - (and it uses unclear precedence rules) - -OO constructor always named &new or &new_*. - -Utility functions without any OO sense do not use $class or $self. - -Rather referrencing rvalue than dereferrencing lvalue: - @{$ref->{"array"}}=(1,2,3); - never used, I like rather: - $ref->{"array"}=[1,2,3]; - -Lists parenthesed where passed as 'list' argument: - map({ some_function_body; } listarg1,listarg2); - never used, I like rather: - map({ some_function_body; } (listarg1,listarg2)); - * parentheses suppressed if simple '@array_name' is passed. - -Last command of block { } always suffixed by its ';'. - -String substitution used only for simple scalars, concatenation used otherwise: - print "total_crashes: $left or $maybe->{'crashes'}\n"; - never used, I like rather: - print "total_crashes: $crashes or ".$maybe->{'crashes'}."\n"; - -Conditional expressions 'a?b:c' usually use the same item - $record->{"field"}==5 ? 7 : $record->{"field"}+1 -can be nicely rewritten as: -! map(($_==5 ? 7 : $_+1),$record->{"field"}) - -while() modifies $_ without its localization! Needed everywhere: -! # local $_; - while () { - some_commands; - } - -Never used barewords for hash keys, always quoted: - $hashref->{somekey} - never used, I like rather: -! $hashref->{"somekey"} -as it can crash for some reseverd words used as 'somekey'. - -You cannot use positive-case substitution in list context: - @list=($user_wishes{"provide_arg"} && "real_arg"); - does '@list=(undef()); @list==1; #YES' if !$user_wishes{"provide_arg"}, - instead you must code the full ugly construction: -! @list=(!$user_wishes{"provide_arg"} ? () : ("real_arg")); - -~ Conditional-evaluation always shortcut optimized by providing the trivial case -as the first one of two branches (even if such trivial branch has more source -code letters to write). - @new_list=(!@list ? (list_is_empty(\@list)) : @list); - although sometimes the meaning of 'trivial case' can be subjective. - -# Private methods named as &_method (still must be called as _method()!). - -~ Value being prepared for return named 'r'. - -It may get handy to use: - confess if !wantarray() && 2<=@r; # optional and sometimes not appropriate - return wantarray() ? @r : $r[0]; - -Never using 'die' or 'warn', always 'confess' or 'cluck' -(and never 'carp' or 'cloak'): - use Carp qw(cluck confess); - -Always local()ize file handle globref if not in package 'main': -! local *F; - do { open F,$_ or confess "$_: $!"; } for ("some_file"); - -There are many ways to code 'C switch(){}', I use: - if (cond1) { - } - elsif (cond2) { - } - else { - } - although it is deprecated by Perl doc but they do not give much better - solutions. Some of them are restricted to single command body ('do {}' - needed) etc. if-elsif-else method would be shorter in the code if - } elsif (condX) { - indenting style is used. - -~ Function definitions ordered lower->higher to prevent pre-declarations. - -! For any non-trivial data structures it is essential to differentiate between: - scalar, list, array, hash, ref to scalar, ref to array, ref to hash - -Any missing trailing function parameters appear as undef(). -Any passed trailing undef()s can still be properly detected and interpreted: - scalar(@_) will still report the real number of parameters. - undef() is the real parameter. - -Perl is too damn slow during startup but it is blazingly fast when it runs. -mod_perl prevents this startup overhead (present in standalone Perl CGIs). -'Storable'-disk-dumped complex memory data structures are 10x larger in memory -as reported by http://petamem.com . - -Curly-bracketing all subexpressions for dereferencign explicitely if not trivial: - my %rec=("x"=>["a\n","b\n"]);print @$rec{"x"}; - print @$arrayref; - would not work as it would mean: - my %rec=("x"=>["a\n","b\n"]);print @{$rec}{"x"}; - print @$arrayref; - , I like rather even if it would work without curly-bracketing: -! my %rec=("x"=>["a\n","b\n"]);print @{$rec{"x"}}; - print @$arrayref; - -Declaration scope of 'my' in the non-sub{} file: Whole file inside one package. -Declaration scope of 'my' in sub{} or block {}: Only in { }, not accessible by callees. -Declaration scope of 'local': This sub{} and globally for all callees. - * Perfect for some nesting counters: - my $func_nest=0; - sub func - { - # automatically restored after exit from &func - local $func_nest=$func_nest+1; - } - * Built-in variables cannot be 'my' scoped, use 'local' instead -Declaration scope of 'our'(5.6.0+) or 'use vars...': Global across packages. -(These scoping rules are simplified but works4me.) diff --git a/src/const_test.c b/src/const_test.c deleted file mode 100644 index 0e02842..0000000 --- a/src/const_test.c +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include - -static void func1(const char *const *array) /* FAILURE! */ -{ -} -static void func2(const char * *array) /* FAILURE! */ -{ -} -static void func3( char *const *array) /* ok */ -{ -} -static void func4(const char *string) /* ok */ -{ -} - -char **static_array; - -int main(void) -{ - static_array=malloc(3*sizeof(*static_array)); - static_array[0]=strdup("A"); - static_array[1]=strdup("B"); - static_array[2]=strdup("C"); - func1(static_array); - func2(static_array); - func3(static_array); - func4(static_array[0]); - return(0); -} diff --git a/src/cvs-wrap.c b/src/cvs-wrap.c deleted file mode 100755 index 7ceee51..0000000 --- a/src/cvs-wrap.c +++ /dev/null @@ -1,24 +0,0 @@ -# /* -set -ex -gcc -o cvs-wrap cvs-wrap.c -O2 -Wall -ggdb3 -exit -# */ - -#include -#include - - -#define LENGTH(x) (sizeof((x))/sizeof(*(x))) - -int main(int argc,char **argv) -{ -const char *strace[]={"cvs","-s","200","-q","-o","/tmp/strace.log","/usr/bin/cvs-orig"}; -char **arg; - - arg=malloc(sizeof(*arg)*(LENGTH(strace)+(argc-1)+1)); - memcpy(arg ,strace,sizeof(*arg)*LENGTH(strace)); - memcpy(arg+LENGTH(strace),argv+1,sizeof(*arg)*(argc-1)); - arg[LENGTH(strace)+(argc-1)]=NULL; - execv("/usr/bin/strace",arg); - return(EXIT_FAILURE); -} diff --git a/src/ev.c b/src/ev.c deleted file mode 100644 index 0ce6142..0000000 --- a/src/ev.c +++ /dev/null @@ -1,137 +0,0 @@ -#include -#include -#include -#include - -#define NDEBUG - -#define BUFSIZE 1024 - -#define bail(arg...) do { fprintf(stderr, ##arg); exit(EXIT_FAILURE); } while (0) - -char *arg; - -int istack[BUFSIZE]; -char opstack[BUFSIZE]; -int istackp,opstackp; - -#ifdef NDEBUG -#define dump(x) -#else -static void dump(char *pref) -{ -int i; - fprintf(stderr,"%s: i[",pref); - for (i=0;i=mypri) - evalit(); - if (!op) return; - if (op==')') { - if (!opstackp || opstack[opstackp-1]!='(') - bail("Not enough content for brackets-inside space!\n"); - opstackp--; - return; - } - if (opstackp>=BUFSIZE) bail("Too many operators (%d is max)!\n",BUFSIZE); - opstack[opstackp++]=op; -} - -static void process(void) -{ -char lastop,op; -int curi; - - istackp=opstackp=0; - for (lastop=0;;lastop=op) switch (op=lex(&curi)) { - case 'n': - if (lastop=='n') bail("Two successive numbers not permitted!\n"); - if (istackp>=BUFSIZE) bail("Too many operators (%d is max)!\n",BUFSIZE); - istack[istackp++]=curi; - break; - case '(': - if (lastop=='n') bail("Open-bracket not permitted after number!\n"); - pushop(op); - break; - case '+': case '-': case '*': case '/': case ')': pushop(op); break; - case 0: - pushop(op); - if (istackp!=1||opstackp) - bail("Machine not in sane state on the end of expression, ints=%d,ops=%d!\n",istackp,opstackp); - printf("%d\n",istack[0]); - return; - default: assert(0); - } -} - -int main(int argc,char **argv) -{ -int argn; - for (argn=1;argn -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define failf(name) do { fprintf(stderr,"%s: ",pname); perror(name"()"); exit(EXIT_FAILURE); } while (0) -const char version[]="This is FLock, version 1.0\n"; - -int verbose; - -char *pname; - -static void usage(void) __attribute__((noreturn)); -static void usage(void) -{ - fprintf(stderr,"\ -%s\ -This command acts as an interface to flock(2):\n\ -\n\ -Usage: flock [{-s|--shared}|{-x|--exclusive}] [-n|--nonblock]\n\ - [-v|--verbose] [-h|--help] [-V|--version]\n\ - \n\ -\n\ - -s, --shared\tCreate shared lock (LOCK_SH) - DEFAULT\n\ - -x, --exclusive\tCreate exclusive lock (LOCK_EX)\n\ - -n, --nonblock\tFail immediately if req. lock is busy\n\ - -v, --verbose\tDisplay progress during locking\n\ - -h, --help\tPrint a summary of the options\n\ - -V, --version\tPrint the version number\n\ -",version); - exit(EXIT_FAILURE); -} - -const struct option longopts[]={ -{"shared" ,0,0,'s'}, -{"exclusive",0,0,'x'}, -{"nonblock" ,0,0,'n'}, -{"verbose" ,0,0,'v'}, -{"help" ,0,0,'h'}, -{"version" ,0,0,'V'}, -{NULL ,0,0,0 }}; - -int main(int argc,char **argv) -{ -char *fn,*cmd; -int locktype=LOCK_SH,nonblock=0,fd,optc; - - pname=*argv; - while ((optc=getopt_long(argc,argv,"sxnvhV",longopts,NULL))!=EOF) switch (optc) { - case 's': - locktype=LOCK_SH; - break; - case 'x': - locktype=LOCK_EX; - break; - case 'n': - nonblock=LOCK_NB; - break; - case 'v': - verbose=1; - break; - case 'V': - fprintf(stderr,version); - exit(EXIT_FAILURE); - default: /* also 'h' */ - usage(); - break; - } - if (optind+2!=argc) { - fprintf(stderr,"%s: Incorrect number of parameters (command needs quoting?)!\n",pname); - exit(EXIT_FAILURE); - } - fn=argv[optind]; - cmd=argv[optind+1]; - if (verbose) { fprintf(stderr,"%s: Opening \"%s\"...",pname,fn); fflush(stderr); } - if ((fd=open(fn,O_RDONLY|(nonblock?O_NONBLOCK:0)))==-1) failf("open"); - if (verbose) { fprintf(stderr,"done\n%s: Locking \"%s\"...",pname,fn); fflush(stderr); } - if (flock(fd,locktype|nonblock)) failf("flock"); - if (verbose) { fprintf(stderr,"done\n%s: Running \"%s\"...",pname,cmd); fflush(stderr); } - if (system(cmd)==-1) failf("system"); - if (verbose) { fprintf(stderr,"done\n%s: Finishing - removing lock.\n",pname); } - return(EXIT_SUCCESS); -} diff --git a/src/ghortident.c b/src/ghortident.c deleted file mode 100644 index d25ff0c..0000000 --- a/src/ghortident.c +++ /dev/null @@ -1,172 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#define DBG 0 - -int parseparams(int argc, char *argv[], ulong *adres, uint *rport, uint *lport, uint *service) -{ - char *s; - uint c, d; - - if (argc<1) return 255; - - *lport=80; - *service=113; - - switch (argc) - { - case 2: - fprintf(stderr,"Error: missing remote port!\n"); - case 1: - fprintf(stderr,"Usage: ident [local port] [ident port]\n"); - return 1; - default: - case 5: - c=0; - s=argv[4]; - while (*s) - { - if (c<65536 && *s>='0' && *s<='9') c=c*10+*s-'0'; - else - { - fprintf(stderr,"Error: wrong ident port!\n"); - return 5; - } - s++; - } - *service=c; - case 4: - c=0; - s=argv[3]; - while (*s) - { - if (c<65536 && *s>='0' && *s<='9') c=c*10+*s-'0'; - else - { - fprintf(stderr,"Error: wrong local port!\n"); - return 4; - } - s++; - } - *lport=c; - case 3: - *adres=0; - c=d=0; - s=argv[1]; - while (*s) - { - if (*s>='0' && *s<='9') - { - c=c*10+*s-'0'; - if (c>255) - { - fprintf(stderr,"Error: wrong address!\n"); - return 2; - } - } - else - if (*s=='.') - { - *adres=*adres*256+c; - c=0; - if (d++>=3) - { - fprintf(stderr,"Error: wrong address!\n"); - return 2; - } - } - else - { - fprintf(stderr,"Error: wrong address!\n"); - return 2; - } - s++; - } - *adres=*adres*256+c; - - c=0; - s=argv[2]; - while (*s) - { - if (c<65536 && *s>='0' && *s<='9') c=c*10+*s-'0'; - else - { - fprintf(stderr,"Error: wrong remote port!\n"); - return 3; - } - s++; - } - *rport=c; - } - return 0; -} - -int main(int argc, char *argv[]) -{ - int sock; - struct sockaddr_in addr; - char buf[256]; - int count; - ulong adres; - uint rport, lport, service; - int err; - static const int val_one=1; - - if (parseparams(argc,argv,&adres,&rport,&lport,&service)) return 3; - - if (DBG) fprintf(stderr,"addr: %lX rport: %u lport: %u service: %i\n",adres,rport,lport,service); - - addr.sin_family=AF_INET; - addr.sin_addr.s_addr=htonl(adres); - addr.sin_port=htons(service); - - sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); - setsockopt(sock,SOL_SOCKET,SO_KEEPALIVE,&val_one,sizeof(val_one)); - - if (DBG) - { - err=errno; - fprintf(stderr,"socket: %i, errno: %i\n",sock,err); - } - if (sock==-1) - { - fprintf(stderr,"Error: cannot create socket!\n"); - return 4; - } - - count=connect(sock,(struct sockaddr*)&addr,sizeof(addr)); - if (DBG) - { - err=errno; - fprintf(stderr,"connect: %i, errno: %i\n",count,err); - } - - if (count) - { - fprintf(stderr,"Error: connection failed!\n"); - return 5; - } - - count=snprintf(buf,sizeof(buf),"%d , %d\n",rport,lport); - if (count==-1) return 1; - if (write(sock,buf,count)!=count) return 2; - - for (;;) - { - count=read(sock,buf,sizeof(buf)-1); - if (count<=0) break; - buf[count]=0; - printf("%s",buf); - fflush(stdout); - } - - if (DBG) fprintf(stderr,"count = %d , errno = %d\n",count,errno); - close(sock); - return 0; -} - diff --git a/src/ldconfig-1999-02-21-prep-docache.diff b/src/ldconfig-1999-02-21-prep-docache.diff deleted file mode 100644 index 68fccc5..0000000 --- a/src/ldconfig-1999-02-21-prep-docache.diff +++ /dev/null @@ -1,35 +0,0 @@ -ftp://sunsite.mff.cuni.cz/MIRRORS/ftp.redhat.com/redhat/linux/6.2/en/os/i386/SRPMS/ldconfig-1.9.5-16.src.rpm - -diff -ru ldconfig-1999-02-21-prep-orig/ldconfig.c ldconfig-1999-02-21-prep/ldconfig.c ---- ldconfig-1999-02-21-prep-orig/ldconfig.c Fri Jun 29 21:06:47 2001 -+++ ldconfig-1999-02-21-prep/ldconfig.c Fri Jun 29 21:11:22 2001 -@@ -624,7 +624,7 @@ - break; - case 'n': - nodefault = 1; /* no default dirs */ -- nocache = 1; -+ /* nocache = 1; * Lace */ - break; - case 'N': - nocache = 1; /* don't build cache */ -@@ -707,16 +707,20 @@ - { - /* the lazy bum want's us to do all the work for him */ - -+#if 0 /* Lace */ - /* don't cache dirs on the command line */ - int nocache_save = nocache; - nocache = 1; -+#endif - - /* OK, which directories should we do? */ - for (i = optind; i < argc; i++) - scan_dir(argv[i]); - -+#if 0 /* Lace */ - /* restore the desired caching state */ - nocache = nocache_save; -+#endif - - /* look ma, no defaults */ - if (!nodefault) diff --git a/src/misc/LGPL2.1 b/src/misc/LGPL2.1 deleted file mode 100644 index 67c1181..0000000 --- a/src/misc/LGPL2.1 +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We this -license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - Another cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does insure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/src/misc/getopt/getopt.c b/src/misc/getopt/getopt.c deleted file mode 100644 index 81cef23..0000000 --- a/src/misc/getopt/getopt.c +++ /dev/null @@ -1,1051 +0,0 @@ -/* Getopt for GNU. - NOTE: getopt is now part of the C library, so if you don't know what - "Keep this file name-space clean" means, talk to drepper@gnu.org - before changing it! - - Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 - Free Software Foundation, Inc. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* This tells Alpha OSF/1 not to define a getopt prototype in . - Ditto for AIX 3.2 and . */ -#ifndef _NO_PROTO -# define _NO_PROTO -#endif - -#ifdef HAVE_CONFIG_H -# include -#endif - -#if !defined __STDC__ || !__STDC__ -/* This is a separate conditional since some stdc systems - reject `defined (const)'. */ -# ifndef const -# define const -# endif -#endif - -#include - -/* Comment out all this code if we are using the GNU C Library, and are not - actually compiling the library itself. This code is part of the GNU C - Library, but also included in many other GNU distributions. Compiling - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, - it is simpler to just do this in the source for each such file. */ - -#define GETOPT_INTERFACE_VERSION 2 -#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 -# include -# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION -# define ELIDE_CODE -# endif -#endif - -#ifndef ELIDE_CODE - - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -/* Don't include stdlib.h for non-GNU C libraries because some of them - contain conflicting prototypes for getopt. */ -# include -# include -#endif /* GNU C library. */ - -#ifdef VMS -# include -# if HAVE_STRING_H - 0 -# include -# endif -#endif - -#ifndef _ -/* This is for other GNU distributions with internationalized messages. - When compiling libc, the _ macro is predefined. */ -# ifdef HAVE_LIBINTL_H -# include -# define _(msgid) gettext (msgid) -# else -# define _(msgid) (msgid) -# endif -#endif - -/* This version of `getopt' appears to the caller like standard Unix `getopt' - but it behaves differently for the user, since it allows the user - to intersperse the options with the other arguments. - - As `getopt' works, it permutes the elements of ARGV so that, - when it is done, all the options precede everything else. Thus - all application programs are extended to handle flexible argument order. - - Setting the environment variable POSIXLY_CORRECT disables permutation. - Then the behavior is completely standard. - - GNU application programs can use a third alternative mode in which - they can distinguish the relative order of options and other arguments. */ - -#include "getopt.h" - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -char *optarg = NULL; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -/* 1003.2 says this must be 1 before any call. */ -int optind = 1; - -/* Formerly, initialization of getopt depended on optind==0, which - causes problems with re-calling getopt as programs generally don't - know that. */ - -int __getopt_initialized = 0; - -/* The next char to be scanned in the option-element - in which the last option character we returned was found. - This allows us to pick up the scan where we left off. - - If this is zero, or a null string, it means resume the scan - by advancing to the next ARGV-element. */ - -static char *nextchar; - -/* Callers store zero here to inhibit the error message - for unrecognized options. */ - -int opterr = 1; - -/* Set to an option character which was unrecognized. - This must be initialized on some systems to avoid linking in the - system's own getopt implementation. */ - -int optopt = '?'; - -/* Describe how to deal with options that follow non-option ARGV-elements. - - If the caller did not specify anything, - the default is REQUIRE_ORDER if the environment variable - POSIXLY_CORRECT is defined, PERMUTE otherwise. - - REQUIRE_ORDER means don't recognize them as options; - stop option processing when the first non-option is seen. - This is what Unix does. - This mode of operation is selected by either setting the environment - variable POSIXLY_CORRECT, or using `+' as the first character - of the list of option characters. - - PERMUTE is the default. We permute the contents of ARGV as we scan, - so that eventually all the non-options are at the end. This allows options - to be given in any order, even with programs that were not written to - expect this. - - RETURN_IN_ORDER is an option available to programs that were written - to expect options and other ARGV-elements in any order and that care about - the ordering of the two. We describe each non-option ARGV-element - as if it were the argument of an option with character code 1. - Using `-' as the first character of the list of option characters - selects this mode of operation. - - The special argument `--' forces an end of option-scanning regardless - of the value of `ordering'. In the case of RETURN_IN_ORDER, only - `--' can cause `getopt' to return -1 with `optind' != ARGC. */ - -static enum -{ - REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER -} ordering; - -/* Value of POSIXLY_CORRECT environment variable. */ -static char *posixly_correct; - -#ifdef __GNU_LIBRARY__ -/* We want to avoid inclusion of string.h with non-GNU libraries - because there are many ways it can cause trouble. - On some systems, it contains special magic macros that don't work - in GCC. */ -# include -# define my_index strchr -#else - -# if HAVE_STRING_H -# include -# else -# include -# endif - -/* Avoid depending on library functions or files - whose names are inconsistent. */ - -#ifndef getenv -extern char *getenv (); -#endif - -static char * -my_index (str, chr) - const char *str; - int chr; -{ - while (*str) - { - if (*str == chr) - return (char *) str; - str++; - } - return 0; -} - -/* If using GCC, we can safely declare strlen this way. - If not using GCC, it is ok not to declare it. */ -#ifdef __GNUC__ -/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. - That was relevant to code that was here before. */ -# if (!defined __STDC__ || !__STDC__) && !defined strlen -/* gcc with -traditional declares the built-in strlen to return int, - and has done so at least since version 2.4.5. -- rms. */ -extern int strlen (const char *); -# endif /* not __STDC__ */ -#endif /* __GNUC__ */ - -#endif /* not __GNU_LIBRARY__ */ - -/* Handle permutation of arguments. */ - -/* Describe the part of ARGV that contains non-options that have - been skipped. `first_nonopt' is the index in ARGV of the first of them; - `last_nonopt' is the index after the last of them. */ - -static int first_nonopt; -static int last_nonopt; - -#ifdef _LIBC -/* Bash 2.0 gives us an environment variable containing flags - indicating ARGV elements that should not be considered arguments. */ - -/* Defined in getopt_init.c */ -extern char *__getopt_nonoption_flags; - -static int nonoption_flags_max_len; -static int nonoption_flags_len; - -static int original_argc; -static char *const *original_argv; - -/* Make sure the environment variable bash 2.0 puts in the environment - is valid for the getopt call we must make sure that the ARGV passed - to getopt is that one passed to the process. */ -static void -__attribute__ ((unused)) -store_args_and_env (int argc, char *const *argv) -{ - /* XXX This is no good solution. We should rather copy the args so - that we can compare them later. But we must not use malloc(3). */ - original_argc = argc; - original_argv = argv; -} -# ifdef text_set_element -text_set_element (__libc_subinit, store_args_and_env); -# endif /* text_set_element */ - -# define SWAP_FLAGS(ch1, ch2) \ - if (nonoption_flags_len > 0) \ - { \ - char __tmp = __getopt_nonoption_flags[ch1]; \ - __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ - __getopt_nonoption_flags[ch2] = __tmp; \ - } -#else /* !_LIBC */ -# define SWAP_FLAGS(ch1, ch2) -#endif /* _LIBC */ - -/* Exchange two adjacent subsequences of ARGV. - One subsequence is elements [first_nonopt,last_nonopt) - which contains all the non-options that have been skipped so far. - The other is elements [last_nonopt,optind), which contains all - the options processed since those non-options were skipped. - - `first_nonopt' and `last_nonopt' are relocated so that they describe - the new indices of the non-options in ARGV after they are moved. */ - -#if defined __STDC__ && __STDC__ -static void exchange (char **); -#endif - -static void -exchange (argv) - char **argv; -{ - int bottom = first_nonopt; - int middle = last_nonopt; - int top = optind; - char *tem; - - /* Exchange the shorter segment with the far end of the longer segment. - That puts the shorter segment into the right place. - It leaves the longer segment in the right place overall, - but it consists of two parts that need to be swapped next. */ - -#ifdef _LIBC - /* First make sure the handling of the `__getopt_nonoption_flags' - string can work normally. Our top argument must be in the range - of the string. */ - if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len) - { - /* We must extend the array. The user plays games with us and - presents new arguments. */ - char *new_str = malloc (top + 1); - if (new_str == NULL) - nonoption_flags_len = nonoption_flags_max_len = 0; - else - { - memset (__mempcpy (new_str, __getopt_nonoption_flags, - nonoption_flags_max_len), - '\0', top + 1 - nonoption_flags_max_len); - nonoption_flags_max_len = top + 1; - __getopt_nonoption_flags = new_str; - } - } -#endif - - while (top > middle && middle > bottom) - { - if (top - middle > middle - bottom) - { - /* Bottom segment is the short one. */ - int len = middle - bottom; - register int i; - - /* Swap it with the top part of the top segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[top - (middle - bottom) + i]; - argv[top - (middle - bottom) + i] = tem; - SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); - } - /* Exclude the moved bottom segment from further swapping. */ - top -= len; - } - else - { - /* Top segment is the short one. */ - int len = top - middle; - register int i; - - /* Swap it with the bottom part of the bottom segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[middle + i]; - argv[middle + i] = tem; - SWAP_FLAGS (bottom + i, middle + i); - } - /* Exclude the moved top segment from further swapping. */ - bottom += len; - } - } - - /* Update records for the slots the non-options now occupy. */ - - first_nonopt += (optind - last_nonopt); - last_nonopt = optind; -} - -/* Initialize the internal data when the first call is made. */ - -#if defined __STDC__ && __STDC__ -static const char *_getopt_initialize (int, char *const *, const char *); -#endif -static const char * -_getopt_initialize (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - /* Start processing options with ARGV-element 1 (since ARGV-element 0 - is the program name); the sequence of previously skipped - non-option ARGV-elements is empty. */ - - first_nonopt = last_nonopt = optind; - - nextchar = NULL; - - posixly_correct = getenv ("POSIXLY_CORRECT"); - - /* Determine how to handle the ordering of options and nonoptions. */ - - if (optstring[0] == '-') - { - ordering = RETURN_IN_ORDER; - ++optstring; - } - else if (optstring[0] == '+') - { - ordering = REQUIRE_ORDER; - ++optstring; - } - else if (posixly_correct != NULL) - ordering = REQUIRE_ORDER; - else - ordering = PERMUTE; - -#ifdef _LIBC - if (posixly_correct == NULL - && argc == original_argc && argv == original_argv) - { - if (nonoption_flags_max_len == 0) - { - if (__getopt_nonoption_flags == NULL - || __getopt_nonoption_flags[0] == '\0') - nonoption_flags_max_len = -1; - else - { - const char *orig_str = __getopt_nonoption_flags; - int len = nonoption_flags_max_len = strlen (orig_str); - if (nonoption_flags_max_len < argc) - nonoption_flags_max_len = argc; - __getopt_nonoption_flags = - (char *) malloc (nonoption_flags_max_len); - if (__getopt_nonoption_flags == NULL) - nonoption_flags_max_len = -1; - else - memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), - '\0', nonoption_flags_max_len - len); - } - } - nonoption_flags_len = nonoption_flags_max_len; - } - else - nonoption_flags_len = 0; -#endif - - return optstring; -} - -/* Scan elements of ARGV (whose length is ARGC) for option characters - given in OPTSTRING. - - If an element of ARGV starts with '-', and is not exactly "-" or "--", - then it is an option element. The characters of this element - (aside from the initial '-') are option characters. If `getopt' - is called repeatedly, it returns successively each of the option characters - from each of the option elements. - - If `getopt' finds another option character, it returns that character, - updating `optind' and `nextchar' so that the next call to `getopt' can - resume the scan with the following option character or ARGV-element. - - If there are no more option characters, `getopt' returns -1. - Then `optind' is the index in ARGV of the first ARGV-element - that is not an option. (The ARGV-elements have been permuted - so that those that are not options now come last.) - - OPTSTRING is a string containing the legitimate option characters. - If an option character is seen that is not listed in OPTSTRING, - return '?' after printing an error message. If you set `opterr' to - zero, the error message is suppressed but we still return '?'. - - If a char in OPTSTRING is followed by a colon, that means it wants an arg, - so the following text in the same ARGV-element, or the text of the following - ARGV-element, is returned in `optarg'. Two colons mean an option that - wants an optional arg; if there is text in the current ARGV-element, - it is returned in `optarg', otherwise `optarg' is set to zero. - - If OPTSTRING starts with `-' or `+', it requests different methods of - handling the non-option ARGV-elements. - See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. - - Long-named options begin with `--' instead of `-'. - Their names may be abbreviated as long as the abbreviation is unique - or is an exact match for some defined option. If they have an - argument, it follows the option name in the same ARGV-element, separated - from the option name by a `=', or else the in next ARGV-element. - When `getopt' finds a long-named option, it returns 0 if that option's - `flag' field is nonzero, the value of the option's `val' field - if the `flag' field is zero. - - The elements of ARGV aren't really const, because we permute them. - But we pretend they're const in the prototype to be compatible - with other systems. - - LONGOPTS is a vector of `struct option' terminated by an - element containing a name which is zero. - - LONGIND returns the index in LONGOPT of the long-named option found. - It is only valid when a long-named option has been found by the most - recent call. - - If LONG_ONLY is nonzero, '-' as well as '--' can introduce - long-named options. */ - -int -_getopt_internal (argc, argv, optstring, longopts, longind, long_only) - int argc; - char *const *argv; - const char *optstring; - const struct option *longopts; - int *longind; - int long_only; -{ - optarg = NULL; - - if (optind == 0 || !__getopt_initialized) - { - if (optind == 0) - optind = 1; /* Don't scan ARGV[0], the program name. */ - optstring = _getopt_initialize (argc, argv, optstring); - __getopt_initialized = 1; - } - - /* Test whether ARGV[optind] points to a non-option argument. - Either it does not have option syntax, or there is an environment flag - from the shell indicating it is not an option. The later information - is only used when the used in the GNU libc. */ -#ifdef _LIBC -# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ - || (optind < nonoption_flags_len \ - && __getopt_nonoption_flags[optind] == '1')) -#else -# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0') -#endif - - if (nextchar == NULL || *nextchar == '\0') - { - /* Advance to the next ARGV-element. */ - - /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been - moved back by the user (who may also have changed the arguments). */ - if (last_nonopt > optind) - last_nonopt = optind; - if (first_nonopt > optind) - first_nonopt = optind; - - if (ordering == PERMUTE) - { - /* If we have just processed some options following some non-options, - exchange them so that the options come first. */ - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (last_nonopt != optind) - first_nonopt = optind; - - /* Skip any additional non-options - and extend the range of non-options previously skipped. */ - - while (optind < argc && NONOPTION_P) - optind++; - last_nonopt = optind; - } - - /* The special ARGV-element `--' means premature end of options. - Skip it like a null option, - then exchange with previous non-options as if it were an option, - then skip everything else like a non-option. */ - - if (optind != argc && !strcmp (argv[optind], "--")) - { - optind++; - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (first_nonopt == last_nonopt) - first_nonopt = optind; - last_nonopt = argc; - - optind = argc; - } - - /* If we have done all the ARGV-elements, stop the scan - and back over any non-options that we skipped and permuted. */ - - if (optind == argc) - { - /* Set the next-arg-index to point at the non-options - that we previously skipped, so the caller will digest them. */ - if (first_nonopt != last_nonopt) - optind = first_nonopt; - return -1; - } - - /* If we have come to a non-option and did not permute it, - either stop the scan or describe it to the caller and pass it by. */ - - if (NONOPTION_P) - { - if (ordering == REQUIRE_ORDER) - return -1; - optarg = argv[optind++]; - return 1; - } - - /* We have found another option-ARGV-element. - Skip the initial punctuation. */ - - nextchar = (argv[optind] + 1 - + (longopts != NULL && argv[optind][1] == '-')); - } - - /* Decode the current option-ARGV-element. */ - - /* Check whether the ARGV-element is a long option. - - If long_only and the ARGV-element has the form "-f", where f is - a valid short option, don't consider it an abbreviated form of - a long option that starts with f. Otherwise there would be no - way to give the -f short option. - - On the other hand, if there's a long option "fubar" and - the ARGV-element is "-fu", do consider that an abbreviation of - the long option, just like "--fu", and not "-f" with arg "u". - - This distinction seems to be the most useful approach. */ - - if (longopts != NULL - && (argv[optind][1] == '-' - || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1]))))) - { - char *nameend; - const struct option *p; - const struct option *pfound = NULL; - int exact = 0; - int ambig = 0; - int indfound = -1; - int option_index; - - for (nameend = nextchar; *nameend && *nameend != '='; nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, nextchar, nameend - nextchar)) - { - if ((unsigned int) (nameend - nextchar) - == (unsigned int) strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else - /* Second or later nonexact match found. */ - ambig = 1; - } - - if (ambig && !exact) - { - if (opterr) - fprintf (stderr, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[optind]); - nextchar += strlen (nextchar); - optind++; - optopt = 0; - return '?'; - } - - if (pfound != NULL) - { - option_index = indfound; - optind++; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg = nameend + 1; - else - { - if (opterr) - { - if (argv[optind - 1][1] == '-') - /* --option */ - fprintf (stderr, - _("%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); - else - /* +option or -option */ - fprintf (stderr, - _("%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[optind - 1][0], pfound->name); - } - - nextchar += strlen (nextchar); - - optopt = pfound->val; - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (optind < argc) - optarg = argv[optind++]; - else - { - if (opterr) - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); - nextchar += strlen (nextchar); - optopt = pfound->val; - return optstring[0] == ':' ? ':' : '?'; - } - } - nextchar += strlen (nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - - /* Can't find it as a long option. If this is not getopt_long_only, - or the option starts with '--' or is not a valid short - option, then it's an error. - Otherwise interpret it as a short option. */ - if (!long_only || argv[optind][1] == '-' - || my_index (optstring, *nextchar) == NULL) - { - if (opterr) - { - if (argv[optind][1] == '-') - /* --option */ - fprintf (stderr, _("%s: unrecognized option `--%s'\n"), - argv[0], nextchar); - else - /* +option or -option */ - fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[optind][0], nextchar); - } - nextchar = (char *) ""; - optind++; - optopt = 0; - return '?'; - } - } - - /* Look at and handle the next short option-character. */ - - { - char c = *nextchar++; - char *temp = my_index (optstring, c); - - /* Increment `optind' when we start to process its last character. */ - if (*nextchar == '\0') - ++optind; - - if (temp == NULL || c == ':') - { - if (opterr) - { - if (posixly_correct) - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, _("%s: illegal option -- %c\n"), - argv[0], c); - else - fprintf (stderr, _("%s: invalid option -- %c\n"), - argv[0], c); - } - optopt = c; - return '?'; - } - /* Convenience. Treat POSIX -W foo same as long option --foo */ - if (temp[0] == 'W' && temp[1] == ';') - { - char *nameend; - const struct option *p; - const struct option *pfound = NULL; - int exact = 0; - int ambig = 0; - int indfound = 0; - int option_index; - - /* This is an option that requires an argument. */ - if (*nextchar != '\0') - { - optarg = nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind == argc) - { - if (opterr) - { - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, _("%s: option requires an argument -- %c\n"), - argv[0], c); - } - optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - return c; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg = argv[optind++]; - - /* optarg is now the argument, see if it's in the - table of longopts. */ - - for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, nextchar, nameend - nextchar)) - { - if ((unsigned int) (nameend - nextchar) == strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else - /* Second or later nonexact match found. */ - ambig = 1; - } - if (ambig && !exact) - { - if (opterr) - fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[optind]); - nextchar += strlen (nextchar); - optind++; - return '?'; - } - if (pfound != NULL) - { - option_index = indfound; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg = nameend + 1; - else - { - if (opterr) - fprintf (stderr, _("\ -%s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name); - - nextchar += strlen (nextchar); - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (optind < argc) - optarg = argv[optind++]; - else - { - if (opterr) - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[optind - 1]); - nextchar += strlen (nextchar); - return optstring[0] == ':' ? ':' : '?'; - } - } - nextchar += strlen (nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - nextchar = NULL; - return 'W'; /* Let the application handle it. */ - } - if (temp[1] == ':') - { - if (temp[2] == ':') - { - /* This is an option that accepts an argument optionally. */ - if (*nextchar != '\0') - { - optarg = nextchar; - optind++; - } - else - optarg = NULL; - nextchar = NULL; - } - else - { - /* This is an option that requires an argument. */ - if (*nextchar != '\0') - { - optarg = nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind == argc) - { - if (opterr) - { - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, - _("%s: option requires an argument -- %c\n"), - argv[0], c); - } - optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg = argv[optind++]; - nextchar = NULL; - } - } - return c; - } -} - -int -getopt (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - return _getopt_internal (argc, argv, optstring, - (const struct option *) 0, - (int *) 0, - 0); -} - -#endif /* Not ELIDE_CODE. */ - -#ifdef TEST - -/* Compile with -DTEST to make an executable for use in testing - the above definition of `getopt'. */ - -int -main (argc, argv) - int argc; - char **argv; -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - - c = getopt (argc, argv, "abc:d:0123456789"); - if (c == -1) - break; - - switch (c) - { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ diff --git a/src/misc/getopt/getopt.h b/src/misc/getopt/getopt.h deleted file mode 100644 index b0147e9..0000000 --- a/src/misc/getopt/getopt.h +++ /dev/null @@ -1,169 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _GETOPT_H - -#ifndef __need_getopt -# define _GETOPT_H 1 -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -#ifndef __need_getopt -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ -# if defined __STDC__ && __STDC__ - const char *name; -# else - char *name; -# endif - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -# define no_argument 0 -# define required_argument 1 -# define optional_argument 2 -#endif /* need getopt */ - - -/* Get definitions and prototypes for functions to process the - arguments in ARGV (ARGC of them, minus the program name) for - options given in OPTS. - - Return the option character from OPTS just read. Return -1 when - there are no more options. For unrecognized options, or options - missing arguments, `optopt' is set to the option letter, and '?' is - returned. - - The OPTS string is a list of characters which are recognized option - letters, optionally followed by colons, specifying that that letter - takes an argument, to be placed in `optarg'. - - If a letter in OPTS is followed by two colons, its argument is - optional. This behavior is specific to the GNU `getopt'. - - The argument `--' causes premature termination of argument - scanning, explicitly telling `getopt' that there are no more - options. - - If OPTS begins with `--', then non-option arguments are treated as - arguments to the option '\0'. This behavior is specific to the GNU - `getopt'. */ - -#if defined __STDC__ && __STDC__ -# ifdef __GNU_LIBRARY__ -/* Many other libraries have conflicting prototypes for getopt, with - differences in the consts, in stdlib.h. To avoid compilation - errors, only prototype getopt for the GNU C library. */ -extern int getopt (int __argc, char *const *__argv, const char *__shortopts); -# else /* not __GNU_LIBRARY__ */ -extern int getopt (); -# endif /* __GNU_LIBRARY__ */ - -# ifndef __need_getopt -extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts, - const struct option *__longopts, int *__longind); -extern int getopt_long_only (int __argc, char *const *__argv, - const char *__shortopts, - const struct option *__longopts, int *__longind); - -/* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int __argc, char *const *__argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - int __long_only); -# endif -#else /* not __STDC__ */ -extern int getopt (); -# ifndef __need_getopt -extern int getopt_long (); -extern int getopt_long_only (); - -extern int _getopt_internal (); -# endif -#endif /* __STDC__ */ - -#ifdef __cplusplus -} -#endif - -/* Make sure we later can get all the definitions and declarations. */ -#undef __need_getopt - -#endif /* getopt.h */ diff --git a/src/misc/getopt/getopt1.c b/src/misc/getopt/getopt1.c deleted file mode 100644 index 3d264f2..0000000 --- a/src/misc/getopt/getopt1.c +++ /dev/null @@ -1,188 +0,0 @@ -/* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "getopt.h" - -#if !defined __STDC__ || !__STDC__ -/* This is a separate conditional since some stdc systems - reject `defined (const)'. */ -#ifndef const -#define const -#endif -#endif - -#include - -/* Comment out all this code if we are using the GNU C Library, and are not - actually compiling the library itself. This code is part of the GNU C - Library, but also included in many other GNU distributions. Compiling - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, - it is simpler to just do this in the source for each such file. */ - -#define GETOPT_INTERFACE_VERSION 2 -#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 -#include -#if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION -#define ELIDE_CODE -#endif -#endif - -#ifndef ELIDE_CODE - - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -#include -#endif - -#ifndef NULL -#define NULL 0 -#endif - -int -getopt_long (argc, argv, options, long_options, opt_index) - int argc; - char *const *argv; - const char *options; - const struct option *long_options; - int *opt_index; -{ - return _getopt_internal (argc, argv, options, long_options, opt_index, 0); -} - -/* Like getopt_long, but '-' as well as '--' can indicate a long option. - If an option that starts with '-' (not '--') doesn't match a long option, - but does match a short option, it is parsed as a short option - instead. */ - -int -getopt_long_only (argc, argv, options, long_options, opt_index) - int argc; - char *const *argv; - const char *options; - const struct option *long_options; - int *opt_index; -{ - return _getopt_internal (argc, argv, options, long_options, opt_index, 1); -} - - -#endif /* Not ELIDE_CODE. */ - -#ifdef TEST - -#include - -int -main (argc, argv) - int argc; - char **argv; -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - int option_index = 0; - static struct option long_options[] = - { - {"add", 1, 0, 0}, - {"append", 0, 0, 0}, - {"delete", 1, 0, 0}, - {"verbose", 0, 0, 0}, - {"create", 0, 0, 0}, - {"file", 1, 0, 0}, - {0, 0, 0, 0} - }; - - c = getopt_long (argc, argv, "abc:d:0123456789", - long_options, &option_index); - if (c == -1) - break; - - switch (c) - { - case 0: - printf ("option %s", long_options[option_index].name); - if (optarg) - printf (" with arg %s", optarg); - printf ("\n"); - break; - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case 'd': - printf ("option d with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ diff --git a/src/misc/macros/need-declaration.m4 b/src/misc/macros/need-declaration.m4 deleted file mode 100644 index d5b7bc6..0000000 --- a/src/misc/macros/need-declaration.m4 +++ /dev/null @@ -1,42 +0,0 @@ -dnl See whether we need a declaration for a function. -dnl GCC_NEED_DECLARATION(FUNCTION [, EXTRA-HEADER-FILES]) -AC_DEFUN(GCC_NEED_DECLARATION, -[AC_MSG_CHECKING([whether $1 must be declared]) -AC_CACHE_VAL(gcc_cv_decl_needed_$1, -[AC_TRY_COMPILE([ -#include -#ifdef HAVE_STRING_H -#include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif -#ifdef HAVE_STDLIB_H -#include -#endif -#ifdef HAVE_UNISTD_H -#include -#endif -$2], -[char *(*pfn) = (char *(*)) $1], -eval "gcc_cv_decl_needed_$1=no", eval "gcc_cv_decl_needed_$1=yes")]) -if eval "test \"`echo '$gcc_cv_decl_needed_'$1`\" = yes"; then - AC_MSG_RESULT(yes) - gcc_need_declarations="$gcc_need_declarations $1" - gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - AC_DEFINE_UNQUOTED($gcc_tr_decl) -else - AC_MSG_RESULT(no) -fi -])dnl - -dnl Check multiple functions to see whether each needs a declaration. -dnl GCC_NEED_DECLARATIONS(FUNCTION... [, EXTRA-HEADER-FILES]) -AC_DEFUN(GCC_NEED_DECLARATIONS, -[for ac_func in $1 -do -GCC_NEED_DECLARATION($ac_func, $2) -done -] -) diff --git a/src/misc/memmove.c b/src/misc/memmove.c deleted file mode 100644 index 2c0d1d1..0000000 --- a/src/misc/memmove.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "config.h" -#ifndef lint -static char rcsid[] ATTR_UNUSED = "$Id$"; -#endif - -/* This part of code is a public domain */ - -/* CONFORMING TO SVID 3, BSD 4.3, ISO 9899 */ - -void *memmove(void *dest, const void *src, size_t n) -{ -char *cdest,*csrc; - - if (dest==src || !n) return; - cdest=dest; csrc=src; - if (dest -#endif -#ifdef HAVE_STRING_H -#include -#endif - -/* CONFORMING TO SVID 3, BSD 4.3 */ - -char *strdup(const char *s) -{ -size_t l; -char *d; - - if (!(d=malloc(l=strlen(s)+1))) return(NULL); - return memcpy(d,s,l); -} diff --git a/src/misc/usleep.c b/src/misc/usleep.c deleted file mode 100644 index ecbd104..0000000 --- a/src/misc/usleep.c +++ /dev/null @@ -1,27 +0,0 @@ -#include "config.h" -#ifndef lint -static char rcsid[] ATTR_UNUSED = "$Id$"; -#endif - -/* This part of code is a public domain */ - -#ifdef HAVE_SYS_TIME_H -#include -#endif -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_UNISTD_H -#include -#endif - -/* CONFORMING TO BSD 4.3 */ - -void usleep(unsigned long usec) -{ -struct timeval tv; - - tv.tv_sec =usec/1000000; - tv.tv_usec=usec%1000000; - select(0,NULL,NULL,NULL,&tv); -} diff --git a/src/ndc-reload-short.c b/src/ndc-reload-short.c deleted file mode 100644 index 7c36597..0000000 --- a/src/ndc-reload-short.c +++ /dev/null @@ -1,83 +0,0 @@ -#include -#include -#include -#include -#include - -extern const char **environ; - - -#define ZONES "jankratochvil.net","dyn.jankratochvil.net" - -#define SETUID 0 /* user UID */ -#define SETGID 0 /* group GID */ -#define PERMITTED_ENV_LIST "PWD" -#define EXEC_PATHNAME "/usr/sbin/rndc" -#define EXEC_ARGV(zone) "/usr/sbin/rndc","reload",(zone),NULL - - -#ifndef G_GNUC_NORETURN -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) -#define G_GNUC_NORETURN __attribute__((noreturn)) -#else /* !__GNUC__ */ -#define G_GNUC_NORETURN -#endif /* !__GNUC__ */ -#endif /* !G_GNUC_NORETURN */ - -#define EXITLOG(msg...) do {\ - openlog("ndc-reload-short",LOG_PID,LOG_DAEMON); \ - syslog(LOG_CRIT,msg); \ - closelog(); \ - exit(EXIT_FAILURE); \ - } while (0) - -#define LENGTH(x) (sizeof((x))/sizeof(*(x))) - -#define FUNCCHK(funcname,args...) do { \ - if (errno=0,funcname(args)) \ - funcfail( #funcname "()" ); \ - } while (0) - -static void funcfail(const char *funcname) G_GNUC_NORETURN; -static void funcfail(const char *funcname) -{ - EXITLOG("Unable to %s: %s",funcname,strerror(errno)); -} - -int main(int argc,char **argv) -{ -int total=0; -const char *allowed[]={ PERMITTED_ENV_LIST }; -const char **allp,**envp; -char *dup=NULL,*s; -const char *zones_allowed[]={ ZONES }; - - errno=0; - if (argc!=2) - funcfail("argc!=2"); - for (allp=zones_allowed;allp=zones_allowed+LENGTH(zones_allowed)) - funcfail("zone rejected"); - -retry: - for (envp=environ;*envp;envp++) { - if (dup) free(dup); - dup=strdup(*envp); - if ((s=strchr(dup,'='))) *s='\0'; - for (allp=allowed;allp1000) - EXITLOG("Unable to clean environment for 'ndc': %s",*envp); - unsetenv(dup); - goto retry; -ok:; - } - FUNCCHK(setenv,"PATH","/usr/bin",1); - FUNCCHK(chdir,"/"); - FUNCCHK(setgid,SETGID); - FUNCCHK(setuid,SETUID); - errno=0,execl(EXEC_PATHNAME,EXEC_ARGV(argv[1])); - funcfail("execl()"); -} diff --git a/src/pbmtopicturemsg.pl b/src/pbmtopicturemsg.pl deleted file mode 100755 index e800ec8..0000000 --- a/src/pbmtopicturemsg.pl +++ /dev/null @@ -1,78 +0,0 @@ -#! /usr/bin/perl -# -# $Id$ - -use strict; -use warnings; - -undef $/; -my $data=<>; -$data=~s/^\s*#.*\n//m; -my($format,$width,$height)=($data=~/^(P[14])\n(\d+) (\d+)\n/); -$data=$'; -die "Invalid format" if !$format || !$width || !$height; -die "Picture too big; width=$width < 0xFF && height=$height < 0xFF" if $width>0xFF || $height>0xFF; -if ($format eq "P1") { - $data=~tr/01//cd; - } -else { - $data=unpack("b*",$data); - my $width8=int(($width+7)/8)*8; - for my $y (0..$height-1) { - # cut end-of-line gap - substr($data,$width*$y+$width,$width8-$width)=""; - } - } -die "Bad data length ".length($data) if length($data)!=$width*$height; - -my @pictureudh=( - 0x05, # IEI - 0x04, # IEDL - 0x15,0x8A, # dest port (ring tones) - 0x15,0x8A); # src port (unused) - -my $multihdr_uniq=int(rand(0x100)); -sub multihdr -{ -my($num,$total)=@_; - - return ( - 0x00, # IEI - 0x03, # IEDL - $multihdr_uniq, # unique serial ID - $total, # total messages - $num+1); # message number (# from 1) -} - -sub udh -{ -my(@bytes)=@_; - - return pack "C*",scalar(@bytes),@bytes; -} - - -my $picturebyteslen=int(($width*$height+7)/8)+4; # +4 is for some part of the header -my $picturedata=unpack("b*",pack("C*", - 0x30, # version string '0' - 0x02, # item=OTA bitmap - ($picturebyteslen>>8)&0xFF, # picture size in bytes incl. header; HIGH - ($picturebyteslen>>0)&0xFF, # picture size in bytes incl. header; LOW - 0x00, # animation pictures - 0=static picture - $width,$height, # picture size in pixels - 0x01, # picture depth - B/W - )) - .$data; - -my @out=udh(@pictureudh).pack("b*",$picturedata); -if (length($out[0])>140) { - my $datalen=int((length($picturedata)+7)/8); - my $hdrlen=length(udh(@pictureudh,multihdr(8,8))); - my $dataspace=(140-$hdrlen); - my $total=int(($datalen+$dataspace-1)/$dataspace); - die "Too big: total=$total <=0xFF !" if $total>0xFF; - @out=map({ - udh(@pictureudh,multihdr($_,$total)).pack("b*",substr($picturedata,$dataspace*8*$_,$dataspace*8)); - } (0..$total-1)); - } -print map({ uc(unpack("H*",$_))."\n"; } @out); diff --git a/src/pipebuf.c b/src/pipebuf.c deleted file mode 100644 index 7aa8bdb..0000000 --- a/src/pipebuf.c +++ /dev/null @@ -1,320 +0,0 @@ -#/* -# PipeBuf version 1.2 -# To compile run: sh pipebuf.c -# Help is then available: ./pipebuf -h - -# Copyright (C) 1998 Jan Kratochvil -# -# 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; you must use exactly version 2. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You may download a copy of the GNU General Public License from URL -# http://www.opensource.org/gpl-license.html -# If not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -echo "Compiling PipeBuf..." -a="cc" -b="-s -Wall -O6 -fexpensive-optimizations -fomit-frame-pointer -D_GNU_SOURCE=1" -c="-o `basename "$0" .c` $0" -echo "$a $b $c" -if $a $b $c;then echo -n -else echo "$a $c" - if $a $c;then echo -n - else echo "Failed - please check the output.";exit - fi -fi -echo "done." -exit -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BUFSZ (12<<10) /* in KB */ -#define BUFWARN (80) /* in percents */ -#define WARNTIM (5) /* in seconds */ -#define MAX_XFER (PIPE_BUF) -#undef DEBUG - -#ifndef SHMMAX -#define SHMMAX 0x2000000 -#endif - -#ifndef __NORETURN -#if __GNUC__ >= 2 -#define __NORETURN __attribute__((__noreturn__)) -#else -#define __NORETURN -#endif -#endif - -#define RDID (0) -#define WRID (1) - -#ifndef DEBUG -#define dbg(cmd) -#else -#define dbg(cmd) cmd -#endif -#define PNAME_LEN (16) -#define bufw(n) ((n)==bufsz?0:(n)) -#define failf(name) do { fprintf(stderr,"%s: ",pname); perror(name"()"); exit(EXIT_FAILURE); } while (0) -#ifndef max -#define max(a,b) ((a)>=(b)?(a):(b)) -#endif -#ifndef min -#define min(a,b) ((a)<=(b)?(a):(b)) -#endif - -const char version[]="This is PipeBuf, version 1.2\n"; - -long bufsz=BUFSZ<<10,bufwarn=BUFWARN; -int prefill,quiet,verbose; - -char *pname; -int shmid=-1,dis_cleanup=0,myself; -pid_t other=-1; -volatile struct { - long rp,wp; - int eof; - time_t up; - struct { - char sent; - int msqid; - } p[2]; - } *comm; -struct msgbuf smsgbuf={1,{0}}; -struct msgbuf rmsgbuf; - -static void cleanup(void) -{ - dbg(fprintf(stderr,"%s: cleanup()\n",pname)); - if (dis_cleanup) return; - if (other!=-1) kill(other,SIGTERM); - shmctl(shmid,IPC_RMID,NULL); - if (comm) { - dbg(fprintf(stderr,"%s: msgctl(%d,IPC_RMID), myself=%d\n",pname,comm->p[ myself].msqid, myself)); - msgctl(comm->p[ myself].msqid,IPC_RMID,NULL); - dbg(fprintf(stderr,"%s: msgctl(%d,IPC_RMID),!myself=%d\n",pname,comm->p[!myself].msqid,!myself)); - msgctl(comm->p[!myself].msqid,IPC_RMID,NULL); - } - dis_cleanup=1; - exit(EXIT_FAILURE); -} - -static void wake(void) -{ - dbg(fprintf(stderr,"%s: waking (sent=%d)...\n",pname,comm->p[myself].sent)); - if (comm->p[myself].sent) return; - dbg(fprintf(stderr,"%s: msgsnd(msqid=%d), myself=%d\n",pname,comm->p[!myself].msqid,myself)); -/* dbg(fprintf(stderr,"%s: sleeping 5 sec...\n",pname)); - sleep(5); - dbg(fprintf(stderr,"%s: sleeping 5 sec done\n",pname));*/ - if (msgsnd(comm->p[!myself].msqid,(struct msgbuf *)&smsgbuf,0,IPC_NOWAIT)) if (errno!=EAGAIN) failf("msgsnd"); - comm->p[myself].sent++; - dbg(fprintf(stderr,"%s: waked (sent=%d)\n",pname,comm->p[myself].sent)); -} - -static void shake(void) -{ - wake(); - dbg(fprintf(stderr,"%s: waiting (sent=%d)...\n",pname,comm->p[myself].sent)); - if (comm->eof) dbg(fprintf(stderr,"%s: EOF => breaking out of shake()!\n",pname)); - else { - dbg(fprintf(stderr,"%s: msgrcv(msqid=%d),myself=%d\n",pname,comm->p[myself].msqid,myself)); -/* dbg(fprintf(stderr,"%s: sleeping 5 sec...\n",pname)); - sleep(5); - dbg(fprintf(stderr,"%s: sleeping 5 sec done\n",pname));*/ - if (msgrcv(comm->p[myself].msqid,&rmsgbuf,0,0,0)) failf("msgrcv"); - } - comm->p[!myself].sent--; - dbg(if (comm->p[!myself].sent<0) { - fprintf(stderr,"%s: FATAL - .sent=%d (<0)!\n",pname,comm->p[!myself].sent); - exit(EXIT_FAILURE); - }); - dbg(fprintf(stderr,"%s: wait returned (sent=%d)\n",pname,comm->p[myself].sent)); -} - -static void warnbuf(void) -{ -long crp,cwp,bufused,cup; -float percused; -char *tim; - if (!comm->up||quiet||comm->eof||time(NULL)-comm->upup=cup=time(NULL); - crp=comm->rp; cwp=comm->wp; - bufused=crp-cwp+bufsz*!(crp>cwp); - if ((percused=(float)bufused*100/bufsz)>=bufwarn) return; - tim=ctime(&cup); - *strchr(tim,'\n')='\0'; - fprintf(stderr,"%s: %s: WARNING - Low buffer fill-up: %8ld of %8ld (%2.1f%%)\n", - pname,tim,bufused,bufsz,percused); -} - -static __NORETURN void usage(void) -{ - fprintf(stderr,"\ -%s\ -This command offers the pipe buffering:\n\ -\n\ -Usage: pipebuf [-b|--buffer ] [-p|--prefill] [-w|--warning ]\n\ - [-q|--quiet] [-v|--verbose] [-h|--help] [-V|--version]\n\ -\n\ - -b, --buffer \tSpecify buffer size (1-%dKB, def=%dKB)\n\ - -p, --prefill\t\t\tFill the buffer before first write\n\ - -w, --warning \tNo-buffer-data warnings threshold (0-100%%, def=%d%%)\n\ - -q, --quiet\t\t\tDon't print warnings\n\ - -v, --verbose\t\t\tInform about phases of transfer\n\ - -h, --help\t\t\tPrint a summary of the options\n\ - -V, --version\t\t\tPrint the version number\n\ -",version,(SHMMAX>>10)-1,BUFSZ,BUFWARN); - exit(EXIT_FAILURE); -} - -const struct option longopts[]={ -{"buffer" ,1,0,'b'}, -{"prefill",0,0,'p'}, -{"warning",1,0,'w'}, -{"quiet" ,0,0,'q'}, -{"verbose",0,0,'v'}, -{"help" ,0,0,'h'}, -{"version",0,0,'V'}}; - -int main(int argc,char **argv) -{ -long cfp; -int r,optc; -caddr_t buf; -char *s; - - pname=*argv; - atexit(cleanup); - signal(SIGTERM,(void (*)(int))cleanup); - signal(SIGQUIT,(void (*)(int))cleanup); - signal(SIGINT ,(void (*)(int))cleanup); - signal(SIGHUP ,(void (*)(int))cleanup); - while ((optc=getopt_long(argc,argv,"b:pw:qvhV",longopts,NULL))!=EOF) switch (optc) { - case 'b': - errno=EINVAL; - bufsz=strtol(optarg,&s,0); - if (*s!='\0'||bufsz<1||bufsz<<10>=SHMMAX) { perror(optarg); usage(); } - bufsz<<=10; - break; - case 'p': - prefill=1; - break; - case 'w': - errno=EINVAL; - bufwarn=strtol(optarg,&s,0); - if (*s!='\0'||bufwarn<0||bufwarn>100) { perror(optarg); usage(); } - break; - case 'q': - quiet=1; - verbose=0; - break; - case 'v': - verbose=1; - quiet=0; - break; - case 'V': - fprintf(stderr,version); - exit(EXIT_FAILURE); - default: /* also 'h' */ - usage(); - break; - } - if ((shmid=shmget(IPC_PRIVATE,bufsz+sizeof(*comm),0600|IPC_CREAT|IPC_EXCL))==-1) failf("shmget"); - if ((int)(buf=shmat(shmid,0,0))==-1) failf("shmat"); - comm=(void *)buf+bufsz; - bzero((void *)comm,sizeof(*comm)); - if ((comm->p[RDID].msqid=msgget(IPC_PRIVATE,0777|IPC_CREAT|IPC_EXCL))==-1) failf("msgget"); - if ((comm->p[WRID].msqid=msgget(IPC_PRIVATE,0777|IPC_CREAT|IPC_EXCL))==-1) failf("msgget"); - if (!prefill) comm->up=time(NULL); - other=fork(); - if (other) { - /* Read process */ - dbg(fprintf(stderr,"%s: started rd\n",pname)); - myself=RDID; - strncat(pname,"-rd",max(PNAME_LEN-strlen(pname)-1,0)); - if (close(STDOUT_FILENO)) failf("close"); - if (verbose) fprintf(stderr,"%s: Using buffer %ldKB%s...\n",pname,bufsz>>10,(prefill?", filling":"")); - dbg(fprintf(stderr,"%s: pname check rd\n",pname)); - for (;;) { - if (bufw(comm->rp+1)==comm->wp) { - if (!comm->up) { - comm->up=time(NULL); - if (verbose) fprintf(stderr,"%s: Buffer filled-up, starting transfer...\n",pname); - } - shake(); - continue; - } - warnbuf(); - cfp=comm->wp; - dbg(fprintf(stderr,"%s: rp=%ld, wp=%ld",pname,comm->rp,cfp)); - cfp=(cfp<=comm->rp?bufsz-comm->rp-!cfp:cfp-1-comm->rp); - dbg(fprintf(stderr,", read(%d,%08lx,%ld)\n",STDIN_FILENO,(long)&buf[comm->rp],min(cfp,MAX_XFER))); - if ((r=read(STDIN_FILENO,&buf[comm->rp],min(cfp,MAX_XFER)))==-1) failf("read"); - dbg(fprintf(stderr,"%s: rp=%ld, wp=%ld, read=%d\n",pname,bufw(comm->rp+r),comm->wp,r)); - if (r) comm->rp=bufw(comm->rp+r); - else { - comm->eof=1; - if (!comm->up) { - comm->up=time(NULL); - if (verbose) fprintf(stderr,"%s: Reached EOF before buffer fill-up, starting transfer...\n",pname); - } - wake(); - break; - } - if (comm->up) wake(); - } - if (verbose) fprintf(stderr,"%s: All input data read, waiting for write completion...\n",pname); - if (waitpid(other,NULL,0)!=other) failf("waitpid"); - } - else { - /* Write process */ - dbg(fprintf(stderr,"%s: started wr\n",pname)); - myself=WRID; - strncat(pname,"-wr",max(PNAME_LEN-strlen(pname)-1,0)); - other=getppid(); - if (close(STDIN_FILENO)) failf("close"); - dbg(fprintf(stderr,"%s: pname check wr\n",pname)); - for (;;) { - if (comm->eof&&comm->rp==comm->wp) break; - while (!comm->eof&&(!comm->up||comm->rp==comm->wp)) shake(); - if (comm->eof&&comm->rp==comm->wp) break; - cfp=comm->rp; - dbg(fprintf(stderr,"%s: rp=%ld, wp=%ld",pname,cfp,comm->wp)); - cfp=(cfp<=comm->wp?bufsz-comm->wp:cfp-comm->wp); - dbg(fprintf(stderr,", write(%d,%08lx,%ld)\n",STDOUT_FILENO,(long)&buf[comm->wp],min(cfp,MAX_XFER))); - if ((r=write(STDOUT_FILENO,&buf[comm->wp],min(cfp,MAX_XFER)))==-1) failf("write"); - dbg(fprintf(stderr,"%s: rp=%ld, wp=%ld, write=%d\n",pname,comm->rp,bufw(comm->wp+r),r)); - if (!(comm->wp=bufw(comm->wp+r))&&comm->rp) continue; - wake(); - warnbuf(); - } - } - if (verbose) fprintf(stderr,"%s: Ending operation (sent=%d).\n",pname,comm->p[myself].sent); - return(EXIT_SUCCESS); -} diff --git a/src/pserverchroot.c b/src/pserverchroot.c deleted file mode 100644 index 3258147..0000000 --- a/src/pserverchroot.c +++ /dev/null @@ -1,74 +0,0 @@ -#include -#include -#include -#include -#include - -extern const char **environ; - - -#define SETUID 554 /* "pserver" user UID */ -#define SETGID 554 /* "pserver" group GID */ -#define PERMITTED_ENV_LIST "PWD" -#define EXEC_PATHNAME "/usr/bin/cvs" - - -#ifndef G_GNUC_NORETURN -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) -#define G_GNUC_NORETURN __attribute__((noreturn)) -#else /* !__GNUC__ */ -#define G_GNUC_NORETURN -#endif /* !__GNUC__ */ -#endif /* !G_GNUC_NORETURN */ - -#define EXITLOG(msg...) do {\ - openlog("pserverchroot",LOG_PID,LOG_DAEMON); \ - syslog(LOG_CRIT,msg); \ - closelog(); \ - exit(EXIT_FAILURE); \ - } while (0) - -#define LENGTH(x) (sizeof((x))/sizeof(*(x))) - -#define FUNCCHK(funcname,args...) do { \ - if (errno=0,funcname(args)) \ - funcfail( #funcname ); \ - } while (0) - -static void funcfail(const char *funcname) G_GNUC_NORETURN; -static void funcfail(const char *funcname) -{ - EXITLOG("Unable to %s(2): %s",funcname,strerror(errno)); -} - -int main(int argc,char **argv) -{ -int total=0; -const char *allowed[]={ PERMITTED_ENV_LIST }; -const char **allp,**envp; -char *dup=NULL,*s; - -retry: - for (envp=environ;*envp;envp++) { - if (dup) free(dup); - dup=strdup(*envp); - if ((s=strchr(dup,'='))) *s='\0'; - for (allp=allowed;allp1000) - EXITLOG("Unable to clean environment for CVS pserver: %s",*envp); - unsetenv(dup); - goto retry; -ok:; - } - FUNCCHK(setenv,"PATH","/usr/bin",1); - FUNCCHK(chroot,"/home/short/pserver"); - FUNCCHK(chdir,"/"); - FUNCCHK(setgid,SETGID); - FUNCCHK(setuid,SETUID); - if (!getuid() || !geteuid() || !getgid() || !getegid()) - EXITLOG("Privileges NOT dropped!: uid=%d,euid=%d,gid=%d,egid=%d", - getuid(),geteuid(),getgid(),getegid()); - errno=0,execv(EXEC_PATHNAME,argv); - funcfail("execv"); -} diff --git a/src/rpm/.cvsignore b/src/rpm/.cvsignore deleted file mode 100644 index 958613d..0000000 --- a/src/rpm/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -BUILD -RPMS diff --git a/src/rpm/SOURCES/.cvsignore b/src/rpm/SOURCES/.cvsignore deleted file mode 100644 index a95da62..0000000 --- a/src/rpm/SOURCES/.cvsignore +++ /dev/null @@ -1,15 +0,0 @@ -cvs-1.11-3: -cvs-1.10-tmprace.patch -cvs-1.10.7-fixinfo.patch -cvs-1.10.7-krb5-1.1.1.patch -cvs-1.10.8-errno.patch -cvs-1.10.8-krb4.patch -cvs-1.10.8-zlib.patch -cvs-1.11-existence.patch -cvs-1.11-security.patch -cvs-1.11.tar.gz - -glibc-2.2.2-10: -glibc-2.2.2.tar.bz2 -glibc-kernel-2.4.patch - diff --git a/src/rpm/SOURCES/cvs-1.11-badroot.patch b/src/rpm/SOURCES/cvs-1.11-badroot.patch deleted file mode 100644 index f8761c4..0000000 --- a/src/rpm/SOURCES/cvs-1.11-badroot.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru cvs-1.11-orig/src/options.h.in cvs-1.11/src/options.h.in ---- cvs-1.11-orig/src/options.h.in Wed Jan 27 23:58:14 1999 -+++ cvs-1.11/src/options.h.in Fri Aug 31 10:31:37 2001 -@@ -136,7 +136,7 @@ - * the lines below. - */ - #ifndef CVS_BADROOT --#define CVS_BADROOT -+/*#define CVS_BADROOT*/ - #endif - - /* Define this to enable the SETXID support. The way to use this is diff --git a/src/rpm/SOURCES/cvs-1.11-umask022.patch b/src/rpm/SOURCES/cvs-1.11-umask022.patch deleted file mode 100644 index 4fc96ec..0000000 --- a/src/rpm/SOURCES/cvs-1.11-umask022.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru cvs-1.11-prep/src/options.h.in cvs-1.11/src/options.h.in ---- cvs-1.11-prep/src/options.h.in Wed Jan 27 23:58:14 1999 -+++ cvs-1.11/src/options.h.in Wed Sep 26 16:34:25 2001 -@@ -63,7 +63,7 @@ - * octal number. - */ - #ifndef UMASK_DFLT --#define UMASK_DFLT 002 -+#define UMASK_DFLT 022 - #endif - - /* diff --git a/src/rpm/SPECS/cvs.spec b/src/rpm/SPECS/cvs.spec deleted file mode 100644 index d177d10..0000000 --- a/src/rpm/SPECS/cvs.spec +++ /dev/null @@ -1,221 +0,0 @@ -%define cvsbase 1.11.1 -%define cvspatch p1 -Summary: A version control system. -Name: cvs -Version: %{cvsbase}%{cvspatch} -Release: 3 -License: GPL -Group: Development/Tools -Source: ftp://ftp.cvshome.org/pub/cvs-%{cvsbase}/cvs-%{version}.tar.gz -URL: http://www.cvshome.org/ -Patch0: cvs-1.11.1p1-mktemp.patch -Patch1: cvs-1.11.1p1-krb4.patch -Patch2: cvs-1.11.1p1-automake.patch -Patch3: cvs-1.11.1p1-sockaddr.patch -Patch4: cvs-1.11.1p1-authserver.patch -Patch5: cvs-1.11.1p1-cvspass.patch -Patch6: cvs-1.11.1p1-bs.patch -Prereq: /sbin/install-info -Prefix: %{_prefix} -Buildroot: %{_tmppath}/%{name}-root -BuildPreReq: autoconf, automake, libtool, zlib-devel -%{!?nokerberos:Requires: krb5-libs} -%{!?nokerberos:BuildPrereq: krb5-devel} - -%description -CVS (Concurrent Version System) is a version control system that can -record the history of your files (usually, but not always, source -code). CVS only stores the differences between versions, instead of -every version of every file you have ever created. CVS also keeps a log -of who, when, and why changes occurred. - -CVS is very helpful for managing releases and controlling the -concurrent editing of source files among multiple authors. Instead of -providing version control for a collection of files in a single -directory, CVS provides version control for a hierarchical collection -of directories consisting of revision controlled files. These -directories and files can then be combined together to form a software -release. - -%prep -%setup -q -%patch0 -p1 -b .mktemp -%patch1 -p1 -b .krb4 -%patch2 -p1 -b .automake -%patch3 -p1 -b .sockaddr -%patch4 -p1 -b .authserver -%patch5 -p1 -b .cvspass -%patch6 -p1 -b .bs -aclocal -automake -autoconf - -%build -%{!?nokerberos: CPPFLAGS="-I/usr/kerberos/include"; export CPPFLAGS} -%{!?nokerberos: CFLAGS="-I/usr/kerberos/include $RPM_OPT_FLAGS"; export CFLAGS} -%{!?nokerberos: LIBS="-L/usr/kerberos/lib -lkrb4 -ldes425 -lk5crypto -lcom_err"; export LIBS} -%configure \ -%{!?nokerberos: --with-gssapi=/usr/kerberos --with-krb4=/usr/kerberos --enable-encryption} - -make -if [ `id -u` -ne 0 ] ; then - make check -fi - -%install -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT -%{makeinstall} -# forcefully compress the info pages so that install-info will work properly -# in the %%post -gzip $RPM_BUILD_ROOT/%{_infodir}/cvs* || true - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT - -%post -/sbin/install-info /%{_infodir}/cvs.info.gz /%{_infodir}/dir -/sbin/install-info /%{_infodir}/cvsclient.info.gz /%{_infodir}/dir - -%preun -if [ $1 = 0 ]; then - /sbin/install-info --delete /%{_infodir}/cvs.info.gz /%{_infodir}/dir - /sbin/install-info --delete /%{_infodir}/cvsclient.info.gz /%{_infodir}/dir -fi - -%files -%defattr(-,root,root) -%doc AUTHORS BUGS FAQ MINOR-BUGS NEWS PROJECTS TODO README -%doc doc/*.ps -%{_bindir}/* -%{_mandir}/*/* -%{_infodir}/*.info* -%{_datadir}/%{name} - -%changelog -* Tue Jul 31 2001 Bernhard Rosenkraenzer 1.11.1p1-3 -- Fix up initial cvs login (#47457) -- Bring back the leading newline at the beginning of commit messages - "a" is one key less than "O". ;) -- Fix build in the current build system - -* Mon Jun 25 2001 Bill Nottingham -- don't own /usr/share/info/dir - -* Fri Jun 22 2001 Nalin Dahyabhai -- fix the files list - -* Mon Jun 18 2001 Nalin Dahyabhai -- update to 1.11.1p1 -- drop no-longer-necessary patches -- use bundled zlib, because it's apparently not the same as the system zlib -- run the test suite in the build phase -- drop explicit Requires: on perl (RPM will catch the interpreter req) - -* Mon Jan 29 2001 Nalin Dahyabhai -- fix cvs-1.11-security.patch, which had CR-LF line terminators (#25090) -- check for and ignore ENOENT errors when attempting to remove symlinks (#25173) - -* Mon Jan 08 2001 Preston Brown -- patch from Olaf Kirch to do tmp files safely. - -* Tue Oct 10 2000 Bernhard Rosenkraenzer -- 1.11 - -* Wed Jul 12 2000 Prospector -- automatic rebuild - -* Mon Jul 10 2000 Nalin Dahyabhai -- always zero errno before calling readdir (#10374) - -* Tue Jun 27 2000 Nalin Dahyabhai -- rebuild in new build environment (release 6) - -* Mon Jun 5 2000 Nalin Dahyabhai -- rebuild in new build environment (release 5) -- FHS tweaks -- actually gzip the info pages - -* Wed May 10 2000 Nalin Dahyabhai -- reverse sense of conditional kerberos dependency -- add kerberos IV patch from Ken Raeburn -- switch to using the system's zlib instead of built-in -- default to unstripped binaries - -* Tue Apr 4 2000 Bill Nottingham -- eliminate explicit krb5-configs dependency - -* Mon Mar 20 2000 Bernhard Rosenkraenzer -- 1.10.8 - -* Wed Mar 1 2000 Nalin Dahyabhai -- make kerberos support conditional at build-time - -* Wed Mar 1 2000 Bill Nottingham -- integrate kerberos support into main tree - -* Mon Feb 14 2000 Nalin Dahyabhai -- build with gssapi auth (--with-gssapi, --with-encryption) -- apply patch to update libs to krb5 1.1.1 - -* Fri Feb 04 2000 Cristian Gafton -- fix the damn info pages too while we're at it. -- fix description -- man pages are compressed -- make sure %post and %preun work okay - -* Sun Jan 9 2000 Jim Kingdon -- update to 1.10.7. - -* Wed Jul 14 1999 Jim Kingdon -- add the patch to make 1.10.6 usable - (http://www.cyclic.com/cvs/dev-known.html). - -* Tue Jun 1 1999 Jeff Johnson -- update to 1.10.6. - -* Sun Mar 21 1999 Cristian Gafton -- auto rebuild in the new build environment (release 2) - -* Mon Feb 22 1999 Jeff Johnson -- updated text in spec file. - -* Mon Feb 22 1999 Jeff Johnson -- update to 1.10.5. - -* Tue Feb 2 1999 Jeff Johnson -- update to 1.10.4. - -* Tue Oct 20 1998 Jeff Johnson -- update to 1.10.3. - -* Mon Sep 28 1998 Jeff Johnson -- update to 1.10.2. - -* Wed Sep 23 1998 Jeff Johnson -- remove trailing characters from rcs2log mktemp args - -* Thu Sep 10 1998 Jeff Johnson -- update to 1.10.1 - -* Mon Aug 31 1998 Jeff Johnson -- fix race conditions in cvsbug/rcs2log - -* Sun Aug 16 1998 Jeff Johnson -- update to 1.10. - -* Wed Aug 12 1998 Jeff Johnson -- update to 1.9.30. - -* Mon Jun 08 1998 Prospector System -- translations modified for de, fr - -* Mon Jun 8 1998 Jeff Johnson -- build root -- update to 1.9.28 - -* Mon Apr 27 1998 Prospector System -- translations modified for de, fr, tr - -* Wed Oct 29 1997 Otto Hammersmith -- added install-info stuff -- added changelog section diff --git a/src/rpm/SPECS/glibc.spec b/src/rpm/SPECS/glibc.spec deleted file mode 100644 index c105476..0000000 --- a/src/rpm/SPECS/glibc.spec +++ /dev/null @@ -1,605 +0,0 @@ -%define glibcrelease 10 -%define auxarches sparcv9 alphaev6 -Summary: The GNU libc libraries. -Name: glibc -Version: 2.2.2 -Release: %{glibcrelease}_staticnss -Copyright: LGPL -Group: System Environment/Libraries -Source: %{name}-%{version}.tar.bz2 -# In the source tarball the file diff-CYGNUS-to-REDHAT.patch contains all -# diffs applied by Red Hat to the current CVS version of glibc -Buildroot: %{_tmppath}/glibc-%{PACKAGE_VERSION}-root -Obsoletes: zoneinfo, libc-static, libc-devel, libc-profile, libc-headers, -Obsoletes: linuxthreads, gencat, locale, ldconfig, locale-ja -Provides: ldconfig -Autoreq: false -Requires: glibc-common = %{version}-%{release} -%ifarch alpha -Provides: ld.so.2 -%else -%endif -%ifarch sparc -Obsoletes: libc -%endif -Prereq: basesystem -Conflicts: rpm <= 4.0-0.65 -Patch: glibc-kernel-2.4.patch -%ifarch ia64 sparc64 s390x -Conflicts: kernel < 2.4.0 -%define enablekernel 2.4.0 -%else -%define enablekernel 2.2.5 -%endif -%define enablekernel2 2.4.1 -%define __find_provides %{_builddir}/%{name}-%{version}/find_provides.sh - -%description -The glibc package contains standard libraries which are used by -multiple programs on the system. In order to save disk space and -memory, as well as to make upgrading easier, common system code is -kept in one place and shared between programs. This particular package -contains the most important sets of shared libraries: the standard C -library and the standard math library. Without these two libraries, a -Linux system will not function. - -%package devel -Summary: Header and object files for development using standard C libraries. -Group: Development/Libraries -Conflicts: texinfo < 3.11 -Prereq: /sbin/install-info -Obsoletes: libc-debug, libc-headers, libc-devel, linuxthreads-devel -Obsoletes: glibc-debug -Prereq: kernel-headers -Requires: kernel-headers >= 2.2.1, %{name} = %{version} -Autoreq: true - -%description devel -The glibc-devel package contains the header and object files necessary -for developing programs which use the standard C libraries (which are -used by nearly all programs). If you are developing programs which -will use the standard C libraries, your system needs to have these -standard header and object files available in order to create the -executables. - -Install glibc-devel if you are going to develop programs which will -use the standard C libraries. - -%package profile -Summary: The GNU libc libraries, including support for gprof profiling. -Group: Development/Libraries -Obsoletes: libc-profile -Autoreq: true - -%description profile -The glibc-profile package includes the GNU libc libraries and support -for profiling using the gprof program. Profiling is analyzing a -program's functions to see how much CPU time they use and determining -which functions are calling other functions during execution. To use -gprof to profile a program, your program needs to use the GNU libc -libraries included in glibc-profile (instead of the standard GNU libc -libraries included in the glibc package). - -If you are going to use the gprof program to profile a program, you'll -need to install the glibc-profile program. - -%package common -Summary: Common binaries and locale data for glibc -Conflicts: %{name} < %{version} -Conflicts: %{name} > %{version} -Autoreq: false -Group: System Environment/Base - -%description common -The glibc-common package includes common binaries for the GNU libc -libraries, as well as national language (locale) support and timezone -databases. - -%package -n nscd -Summary: A Name Service Caching Daemon (nscd). -Group: System Environment/Daemons -Conflicts: kernel < 2.2.0 -Prereq: /sbin/chkconfig, /usr/sbin/useradd, /usr/sbin/userdel -Autoreq: true - -%description -n nscd -Nscd caches name service lookups and can dramatically improve -performance with NIS+, and may help with DNS as well. Note that you -can't use nscd with 2.0 kernels because of bugs in the kernel-side -thread support. Unfortunately, nscd happens to hit these bugs -particularly hard. - -Install nscd if you need a name service lookup caching daemon, and -you're not using a version 2.0 kernel. - -%prep -%setup -q -%ifarch ia64 sparc64 s390x %{auxarches} -# If we are building enablekernel 2.4.1 glibc on older kernel, -# we have to make sure no binaries compiled against that glibc -# are ever run -case `uname -r` in -[01].*|2.[0-3]*|2.4.0*) -%patch -p1 -;; esac -%endif - -%ifarch armv4l sparc64 ia64 s390 s390x -rm -rf glibc-compat -%endif - -find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \; - -cat > find_provides.sh < ../BuildFlags -CC="$GCC -Lnss -Lbuild-%{_target_cpu}-linux/nss" CFLAGS="$BuildFlags -g -O3" ../configure --prefix=%{_prefix} \ - --enable-add-ons=yes --without-cvs $EnableKernel \ - --enable-static-nss \ - %{_target_cpu}-redhat-linux -if [ -x /usr/bin/getconf ] ; then - numprocs=$(/usr/bin/getconf _NPROCESSORS_ONLN) - if [ $numprocs -eq 0 ]; then - numprocs=1 - fi -else - numprocs=1 -fi -make -j$numprocs -r CFLAGS="$BuildFlags -g -O3" PARALLELMFLAGS=-s -gcc -static -Os ../redhat/glibc_post_upgrade.c -o glibc_post_upgrade - -%install -rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT -make install_root=$RPM_BUILD_ROOT install -C build-%{_target_cpu}-linux -cd build-%{_target_cpu}-linux && \ - make install_root=$RPM_BUILD_ROOT install-locales -C ../localedata objdir=`pwd` && \ - cd .. - -%ifarch i686 -rm -rf build-%{_target_cpu}-linux2.4 -mkdir build-%{_target_cpu}-linux2.4 ; cd build-%{_target_cpu}-linux2.4 -GCC=gcc -BuildFlags=`cat ../BuildFlags` -EnableKernel="--enable-kernel=%{enablekernel2} --disable-profile" -CC="$GCC" CFLAGS="$BuildFlags -g -O3" ../configure --prefix=%{_prefix} \ - --enable-add-ons=yes --without-cvs $EnableKernel \ - --enable-static-nss \ - %{_target_cpu}-redhat-linux -if [ -x /usr/bin/getconf ] ; then - numprocs=$(/usr/bin/getconf _NPROCESSORS_ONLN) - if [ $numprocs -eq 0 ]; then - numprocs=1 - fi -else - numprocs=1 -fi -make -j$numprocs -r CFLAGS="$BuildFlags -g -O3" PARALLELMFLAGS=-s -mkdir -p $RPM_BUILD_ROOT/lib/%{_target_cpu}/ -cp -a libc.so $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libc-*.so` -ln -sf `basename $RPM_BUILD_ROOT/lib/libc-*.so` $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libc.so.*` -cp -a math/libm.so $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libm-*.so` -ln -sf `basename $RPM_BUILD_ROOT/lib/libm-*.so` $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libm.so.*` -cp -a linuxthreads/libpthread.so $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libpthread-*.so` -ln -sf `basename $RPM_BUILD_ROOT/lib/libpthread-*.so` $RPM_BUILD_ROOT/lib/%{_target_cpu}/`basename $RPM_BUILD_ROOT/lib/libpthread.so.*` -strip -R .comment $RPM_BUILD_ROOT/lib/{libc,libm,libpthread}-*.so -cd .. -%endif - -# compatibility hack: this locale has vanished from glibc, but some other -# programs are still using it. Normally we would handle it in the %pre -# section but with glibc that is simply not an option -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/locale/ru_RU/LC_MESSAGES - -# Remove the files we don't want to distribute -rm -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libNoVersion* -%ifarch sparc64 ia64 s390 s390x -rm -f $RPM_BUILD_ROOT/%{_lib}/libNoVersion* -%endif - -# the man pages for the linuxthreads require special attention -make -C linuxthreads/man -mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3 -install -m 0644 linuxthreads/man/*.3thr $RPM_BUILD_ROOT%{_mandir}/man3 -gzip -9nvf $RPM_BUILD_ROOT%{_mandir}/man3/* - -if [ -d $RPM_BUILD_ROOT%{_prefix}/info -a "%{_infodir}" != "%{_prefix}/info" ]; then - mkdir -p $RPM_BUILD_ROOT%{_infodir} - mv -f $RPM_BUILD_ROOT%{_prefix}/info/* $RPM_BUILD_ROOT%{_infodir} - rm -rf $RPM_BUILD_ROOT%{_prefix}/info -fi - -gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc* - -ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libbsd.a - -install -m 644 redhat/nsswitch.conf $RPM_BUILD_ROOT/etc/nsswitch.conf - -# Take care of setuids -# -- new security review sez that this shouldn't be needed anymore -#chmod 755 $RPM_BUILD_ROOT%{_prefix}/libexec/pt_chown - -# This is for ncsd - in glibc 2.2 -install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT/etc -mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d -install -m 755 nscd/nscd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/nscd - -# Don't include ld.so.cache -rm -f $RPM_BUILD_ROOT/etc/ld.so.cache - -# Include ld.so.conf -> $RPM_BUILD_ROOT/etc/ld.so.conf -chmod 644 $RPM_BUILD_ROOT/etc/ld.so.conf - -# Install the upgrade program -install -m 700 build-%{_target_cpu}-linux/glibc_post_upgrade $RPM_BUILD_ROOT/usr/sbin/glibc_post_upgrade - -# Strip binaries -strip -R .comment $RPM_BUILD_ROOT/sbin/* || : -strip -R .comment $RPM_BUILD_ROOT%{_prefix}/bin/* || : -strip -R .comment $RPM_BUILD_ROOT%{_prefix}/sbin/* || : -strip -R .comment $RPM_BUILD_ROOT%{_prefix}/libexec/pt_chown || : -strip -R .comment $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gconv/* || : - -# Hardlink identical locale files together -ALL_LC="LC_ADDRESS LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT \ - LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME \ - LC_MESSAGES/SYS_LC_MESSAGES" -for i in $RPM_BUILD_ROOT%{_prefix}/lib/locale/*; do - if [ ! -d $i ]; then continue; fi - for j in $ALL_LC; do - for k in $RPM_BUILD_ROOT%{_prefix}/lib/locale/*; do - if [ ! -d $k ]; then continue; fi - if [ $i = $k ]; then break; fi - if cmp -s $i/$j $k/$j; then ln -f $k/$j $i/$j; break; fi - done - done -done - -# BUILD THE FILE LIST -find $RPM_BUILD_ROOT -type f -or -type l | - sed -e 's|.*/etc|%config &|' \ - -e 's|.*/gconv/gconv-modules|%verify(not md5 size mtime) %config(noreplace) &|' > rpm.filelist.in -for n in %{_prefix}/share %{_prefix}/include %{_prefix}/lib/locale; do - find ${RPM_BUILD_ROOT}${n} -type d | \ - grep -v '%{_prefix}/share$' | \ - sed "s/^/%dir /" >> rpm.filelist.in -done - -# primary filelist -SHARE_LANG='s|.*/share/locale/\([^/_]\+\).*/LC_MESSAGES/.*\.mo|%lang(\1) &|' -LIB_LANG='s|.*/lib/locale/\([^/_]\+\)|%lang(\1) &|' -# rpm does not handle %lang() tagged files hardlinked together accross -# languages very well, temporarily disable -LIB_LANG='' -sed -e "s|$RPM_BUILD_ROOT||" -e "$LIB_LANG" -e "$SHARE_LANG" < rpm.filelist.in | - grep -v '/etc/localtime' | \ - grep -v '/etc/nsswitch.conf' | \ - grep -v '/etc/ld.so.conf' | \ - sort > rpm.filelist - -grep '%{_prefix}/%{_lib}/lib.*_p\.a' < rpm.filelist > profile.filelist || : -egrep "(%{_prefix}/include)|(%{_infodir})" < rpm.filelist | - grep -v %{_infodir}/dir > devel.filelist - -mv rpm.filelist rpm.filelist.full -grep -v '%{_prefix}/%{_lib}/lib.*_p.a' rpm.filelist.full | - egrep -v "(%{_prefix}/include)|(%{_infodir})" > rpm.filelist - -grep '%{_prefix}/%{_lib}/lib.*\.a' < rpm.filelist >> devel.filelist -grep '%{_prefix}/%{_lib}/.*\.o' < rpm.filelist >> devel.filelist -grep '%{_prefix}/%{_lib}/lib.*\.so' < rpm.filelist >> devel.filelist -grep '%{_mandir}' < rpm.filelist >> devel.filelist - -mv rpm.filelist rpm.filelist.full -grep -v '%{_prefix}/%{_lib}/lib.*\.a' < rpm.filelist.full | - grep -v '%{_prefix}/%{_lib}/.*\.o' | - grep -v '%{_prefix}/%{_lib}/lib.*\.so'| - grep -v '%{_mandir}' | - grep -v 'nscd' > rpm.filelist - -grep '%{_prefix}/bin' < rpm.filelist >> common.filelist -grep '%{_prefix}/lib/locale' < rpm.filelist >> common.filelist -grep '%{_prefix}/libexec' < rpm.filelist >> common.filelist -grep '%{_prefix}/sbin/[^g]' < rpm.filelist >> common.filelist -grep '%{_prefix}/share' < rpm.filelist >> common.filelist - -mv rpm.filelist rpm.filelist.full -grep -v '%{_prefix}/bin' < rpm.filelist.full | - grep -v '%{_prefix}/lib/locale' | - grep -v '%{_prefix}/libexec' | - grep -v '%{_prefix}/sbin/[^g]' | - grep -v '%{_prefix}/share' > rpm.filelist - -# /etc/localtime - we're proud of our timezone -rm -f $RPM_BUILD_ROOT/etc/localtime -cp -f $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/US/Eastern $RPM_BUILD_ROOT/etc/localtime -#ln -sf ..%{_prefix}/share/zoneinfo/US/Eastern $RPM_BUILD_ROOT/etc/localtime - -# the last bit: more documentation -rm -rf documentation -mkdir documentation -cp linuxthreads/ChangeLog documentation/ChangeLog.threads -cp linuxthreads/Changes documentation/Changes.threads -cp linuxthreads/README documentation/README.threads -cp linuxthreads/FAQ.html documentation/FAQ-threads.html -cp -r linuxthreads/Examples documentation/examples.threads -cp crypt/README.ufc-crypt documentation/README.ufc-crypt -cp timezone/README documentation/README.timezone -cp ChangeLog* documentation -gzip -9 documentation/ChangeLog* - -%post -p /usr/sbin/glibc_post_upgrade - -%postun -p /sbin/ldconfig - -%post devel -/sbin/install-info %{_infodir}/libc.info.gz %{_infodir}/dir - -%pre devel -# this used to be a link and it is causing nightmares now -if [ -L %{_prefix}/include/scsi ] ; then - rm -f %{_prefix}/include/scsi -fi - -%preun devel -if [ "$1" = 0 ]; then - /sbin/install-info --delete %{_infodir}/libc.info.gz %{_infodir}/dir -fi - -%pre -n nscd -/usr/sbin/useradd -M -o -r -d / -s /bin/false \ - -c "NSCD Daemon" -u 28 nscd > /dev/null 2>&1 || : - -%post -n nscd -/sbin/chkconfig --add nscd - -%preun -n nscd -if [ $1 = 0 ] ; then - service nscd stop > /dev/null 2>&1 - /sbin/chkconfig --del nscd -fi - -%postun -n nscd -if [ $1 = 0 ] ; then - /usr/sbin/userdel nscd > /dev/null 2>&1 || : -fi -if [ "$1" -ge "1" ]; then - service nscd condrestart > /dev/null 2>&1 || : -fi - -%clean -rm -rf "$RPM_BUILD_ROOT" -rm -f *.filelist* - -%files -f rpm.filelist -%defattr(-,root,root) -%verify(not md5 size mtime) %config(noreplace) /etc/localtime -%verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf -%verify(not md5 size mtime) %config(noreplace) /etc/ld.so.conf -%doc README NEWS INSTALL FAQ BUGS NOTES PROJECTS CONFORMANCE -%doc COPYING COPYING.LIB README.template README.libm -%doc hesiod/README.hesiod - -%ifnarch %{auxarches} -%files -f common.filelist common -%defattr(-,root,root) -%doc documentation/* - -%files -f devel.filelist devel -%defattr(-,root,root) - -%files -f profile.filelist profile -%defattr(-,root,root) - -%files -n nscd -%defattr(-,root,root) -%config(noreplace) /etc/nscd.conf -%config /etc/rc.d/init.d/nscd -%{_prefix}/sbin/nscd -%endif - -%changelog -* Fri Apr 6 2001 Jakub Jelinek -- support even 2.4.0 kernels on ia64, sparc64 and s390x -- include UTF-8 locales -- make gconv-modules %%config(noreplace) - -* Fri Mar 23 2001 Jakub Jelinek -- back out sunrpc changes - -* Wed Mar 21 2001 Jakub Jelinek -- update from CVS - - fix ia64 build - - fix pthread_getattr_np - -* Fri Mar 16 2001 Jakub Jelinek -- update from CVS - - run atexit() registered functions at dlclose time if they are in shared - libraries (#28625) - - add pthread_getattr_np API to make JVM folks happy - -* Wed Mar 14 2001 Jakub Jelinek -- require 2.4.1 instead of 2.4.0 on platforms where it required 2.4 kernel -- fix ldd behaviour on unresolved symbols -- remove nonsensical ldconfig warning, update osversion for the most - recent library with the same soname in the same directory instead (#31703) -- apply selected patches from CVS -- s390x spec file changes from Florian La Roche - -* Wed Mar 7 2001 Jakub Jelinek -- fix gencat (#30894) -- fix ldconfig changes from yesterday, fix LD_ASSUME_KERNEL handling - -* Tue Mar 6 2001 Jakub Jelinek -- update from CVS -- make pthread_attr_setstacksize consistent before and after pthread manager - is started (#28194) -- pass back struct sigcontext from pthread signal wrapper (on ia32 only so - far, #28493) -- on i686 ship both --enable-kernel 2.2.5 and 2.4.0 libc/libm/libpthread, - make ld.so pick the right one - -* Sat Feb 17 2001 Preston Brown -- glib-common doesn't require glibc, until we can figure out how to get out of dependency hell. - -* Sat Feb 17 2001 Jakub Jelinek -- make glibc require particular version of glibc-common - and glibc-common prerequire glibc. - -* Fri Feb 16 2001 Jakub Jelinek -- glibc 2.2.2 release - - fix regex REG_ICASE bug seen in ksymoops - -* Sat Feb 10 2001 Jakub Jelinek -- fix regexec leaking memory (#26864) - -* Fri Feb 9 2001 Jakub Jelinek -- update from CVS - - fix ia64 build with gnupro - - make regex 64bit clean - - fix tgmath make check failures on alpha - -* Tue Feb 6 2001 Jakub Jelinek -- update again for ia64 DF_1_INITFIRST - -* Fri Feb 2 2001 Jakub Jelinek -- update from CVS - - fix getaddrinfo (#25437) - - support DF_1_INITFIRST (#25029) - -* Wed Jan 24 2001 Jakub Jelinek -- build all auxiliary arches with --enablekernel 2.4.0, those wanting - to run 2.2 kernels can downgrade to the base architecture glibc. - -* Sat Jan 20 2001 Jakub Jelinek -- remove %%lang() flags from %%{_prefix}/lib/locale files temporarily - -* Sun Jan 14 2001 Jakub Jelinek -- update to 2.2.1 final - - fix a pthread_kill_other_threads_np breakage (#23966) - - make static binaries using dlopen work on ia64 again -- fix a typo in glibc-common group - -* Wed Jan 10 2001 Bernhard Rosenkraenzer -- devel requires glibc = %%{version} -- noreplace /etc/nscd.conf - -* Wed Jan 10 2001 Jakub Jelinek -- some more security fixes: - - don't look up LD_PRELOAD libs in cache for SUID apps - (because that bypasses SUID bit checking on the library) - - place output files for profiling SUID apps into /var/profile, - use O_NOFOLLOW for them - - add checks for $MEMUSAGE_OUTPUT and $SEGFAULT_OUTPUT_NAME -- hardlink identical locale files together -- add %%lang() tags to locale stuff -- remove ko_KR.utf8 for now, it is provided by locale-utf8 package - -* Mon Jan 8 2001 Jakub Jelinek -- add glibc-common subpackage -- fix alphaev6 memcpy (#22494) -- fix sys/cdefs.h (#22908) -- don't define stdin/stdout/stderr as macros for -traditional (#22913) -- work around a bug in IBM JDK (#22932, #23012) -- fix pmap_unset when network is down (#23176) -- move nscd in rc.d before netfs on shutdown -- fix $RESOLV_HOST_CONF in SUID apps (#23562) - -* Fri Dec 15 2000 Jakub Jelinek -- fix ftw and nftw - -* Wed Dec 13 2000 Jakub Jelinek -- fix fcvt (#22184) -- ldd /lib/ld-linux.so.2 is not crashing any longer again (#22197) -- fix gencat - -* Mon Dec 11 2000 Jakub Jelinek -- fix alpha htonl and alphaev6 stpcpy - -* Sat Dec 9 2000 Jakub Jelinek -- update to CVS to: - - fix getnameinfo (#21934) - - don't stomp on memory in rpath handling (#21544) - - fix setlocale (#21507) -- fix libNoVersion.so.1 loading code (#21579) -- use auxarches define in spec file for auxiliary - architectures (#21219) -- remove /usr/share directory from filelist (#21218) - -* Sun Nov 19 2000 Jakub Jelinek -- update to CVS to fix getaddrinfo - -* Fri Nov 17 2000 Jakub Jelinek -- update to CVS to fix freopen -- remove all alpha workarounds, not needed anymore - -* Wed Nov 15 2000 Jakub Jelinek -- fix dladdr bug on alpha/sparc32/sparc64 -- fix Makefiles so that they run static tests properly - -* Tue Nov 14 2000 Jakub Jelinek -- update to CVS to fix ldconfig - -* Thu Nov 9 2000 Jakub Jelinek -- update to glibc 2.2 release - -* Mon Nov 6 2000 Jakub Jelinek -- update to CVS to: - - export __sysconf@@GLIBC_2.2 (#20417) - -* Fri Nov 3 2000 Jakub Jelinek -- merge to 2.1.97 - -* Mon Oct 30 2000 Jakub Jelinek -- update to CVS, including: - - fix WORD_BIT/LONG_BIT definition in limits.h (#19088) - - fix hesiod (#19375) - - set LC_MESSAGES in zic/zdump for proper error message output (#19495) - - fix LFS fcntl when used with non-LFS aware kernels (#19730) - -* Thu Oct 19 2000 Jakub Jelinek -- fix alpha semctl (#19199) -- update to CVS, including: - - fix glibc headers for Compaq non-gcc compilers - - fix locale alias handling code (#18832) - - fix rexec on little endian machines (#18886) -- started writing changelog again - -* Thu Aug 10 2000 Adrian Havill -- added ja ujis alias for backwards compatibility diff --git a/src/unmime.c b/src/unmime.c deleted file mode 100644 index 1150f11..0000000 --- a/src/unmime.c +++ /dev/null @@ -1,26 +0,0 @@ -#include - -int fromhex(int a) -{ - return(a<='9'?a-'0':a-'A'+10); -} - -int main(int argc,char **argv) -{ -char c,seek; -int i; - if (argc>1&&*(argv[1])) seek=*(argv[1]); - for (;;) { - i=getchar(); - if (i==-1) break; - if (i!=seek) { putchar(i); continue; } - i=getchar(); - if (i=='\n') continue; - if (i==-1) break; - c=i; - i=getchar(); - if (i==-1) break; - putchar(fromhex(c)*0x10+fromhex(i)); - } - return(0); -} diff --git a/src/urlencode.c b/src/urlencode.c deleted file mode 100644 index 7a0497a..0000000 --- a/src/urlencode.c +++ /dev/null @@ -1,24 +0,0 @@ -#include -#include -#include - -int main(void) -{ -int c; - while ((c=getchar())!=EOF) switch (c) { - case ' ': - putchar('+'); - break; - case '0' ... '9': - case 'A' ... 'Z': - case 'a' ... 'z': - case '!': case '*': case '\'': case '(': case ')': case ',': /* extra */ - case '$': case '-': case '_' : case '.': /* safe */ - putchar(c); - break; - default: - printf("%%%02X",c); - } - fflush(stdout); - return(0); -} diff --git a/src/wcr.c b/src/wcr.c deleted file mode 100644 index a39fffc..0000000 --- a/src/wcr.c +++ /dev/null @@ -1,104 +0,0 @@ -#define _LARGEFILE64_SOURCE 1 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define DEF_BLOCK 1024 - -#ifndef LLONG_MAX -# define LLONG_MAX 9223372036854775807LL -#endif - -char *pname; - -static void msg(const char *fmt,...) -{ -va_list ap; -time_t tm=time(NULL); -char *ts=ctime(&tm),*s; - - if ((s=strchr(ts,'\n'))) *s='\0'; - fprintf(stderr,"%s: %s - ",pname,ts); - va_start(ap,fmt); - vfprintf(stderr,fmt,ap); - va_end(ap); - fputc('\n',stderr); -} - -int main(int argc,char **argv) -{ -int block=DEF_BLOCK,r,fd; -char *buf; -long long offs=0,offs2=0,totsize=-1,forcedsize=0; - - pname=argv[0]; - if (argc>1) { - if ((fd=open(argv[1],O_RDONLY -#ifdef O_BINARY - |O_BINARY -#endif - ))==-1) { - msg("open(\"%s\") error: %m",argv[1]); - return(EXIT_FAILURE); - } - if (argc>2) { - block=atoi(argv[2]); - if (block<1||block>=INT_MAX) { - block=DEF_BLOCK; - msg("Forced block size %d",block); - } - } - if (argc>3) { - forcedsize=atoll(argv[3]); - if (forcedsize<1||forcedsize>=LLONG_MAX) { - forcedsize=0; - msg("Total size NOT forced"); - } - } - } - else fd=STDIN_FILENO; - if (!(buf=malloc(block))) { - msg("Error allocating buffer, size=%d",block); - return(EXIT_FAILURE); - } - if (!(totsize=forcedsize)) { - if ((totsize=lseek64(fd,0,SEEK_END))>0) { - if ((offs2=lseek64(fd,0,SEEK_SET))) - msg("Error back-lseek64(0,SEEK_SET)=%Ld: %m",offs2); - } - } - if (totsize) - msg("Starting, size=%Ld...",totsize); - else - msg("Starting, size unknown...",totsize); - - while (errno=0,(r=read(fd,buf,block))) { - if (r<0) { - msg("read %Ld:%Ld(%u): %m",offs,offs+block,block); - if (fd==STDIN_FILENO) { - msg("Error skipping from stdin not supported!"); - return(EXIT_FAILURE); - } - offs+=block; - if ((offs2=lseek64(STDIN_FILENO,offs,SEEK_SET))!=offs) { /* FIXME */ - msg("Error recovery lseek64(%Ld,SEEK_SET)=%Ld: %m",offs,offs2); - return(EXIT_FAILURE); - } - continue; - } - offs+=r; - printf("%Ld",offs); - if (totsize>0) printf("/%Ld",totsize); - putchar('\r'); - fflush(stdout); - } - msg("Finished, total read %Ld.",offs); - return(EXIT_SUCCESS); -} -- 1.8.3.1