.
OBS-URL: https://build.opensuse.org/package/show/Publishing:TeXLive/texlive?expand=0&rev=1
This commit is contained in:
commit
d6b30a4b10
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
525
SuSEconfig.texlive
Normal file
525
SuSEconfig.texlive
Normal file
@ -0,0 +1,525 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copyright (c) 1997-2001 SuSE Gmbh Nuernberg, Germany. All rights reserved.
|
||||||
|
# Copyright (c) 2004 SuSE LINUX AG, Germany. All rights reserved.
|
||||||
|
# Copyright (c) 2007-2009 SuSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
|
# Copyright (c) 2011 SuSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
|
#
|
||||||
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
# Author: Werner Fink, 1997-2011
|
||||||
|
#
|
||||||
|
|
||||||
|
typeset -r OLDIFS="$IFS"
|
||||||
|
typeset -i rc=0
|
||||||
|
: ${VERBOSE=true}
|
||||||
|
|
||||||
|
test -r /etc/sysconfig/suseconfig && . /etc/sysconfig/suseconfig
|
||||||
|
|
||||||
|
unset ${!LC_*}
|
||||||
|
LANG=POSIX
|
||||||
|
MKTEXLSR=true
|
||||||
|
export LANG MKTEXLSR
|
||||||
|
|
||||||
|
mkdir -p /var/run/texlive
|
||||||
|
test $? -gt 0 && exit 0
|
||||||
|
trap 'rm -rf /var/run/texlive' EXIT
|
||||||
|
|
||||||
|
rotator ()
|
||||||
|
{
|
||||||
|
local -i i=0
|
||||||
|
local -a elements=('|' '/' '-' '\')
|
||||||
|
while read -s -n 1 ; do
|
||||||
|
printf "\r[${elements[((i++%4))]}]"
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
if test $VERBOSE = true ; then
|
||||||
|
exec 4> >(rotator)
|
||||||
|
else
|
||||||
|
exec 4> /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
type -p texhash &> /dev/null || exit 0
|
||||||
|
type -p kpsewhich &> /dev/null || exit 0
|
||||||
|
type -p updmap-sys &> /dev/null || exit 0
|
||||||
|
type -p find &> /dev/null || { echo "${0##*/}: No find in PATH ... skipping"; exit 0 ; }
|
||||||
|
type -p sort &> /dev/null || { echo "${0##*/}: No sort in PATH ... skipping"; exit 0 ; }
|
||||||
|
type -p env &> /dev/null || { echo "${0##*/}: No env in PATH ... skipping"; exit 0 ; }
|
||||||
|
type -p sed &> /dev/null || { echo "${0##*/}: No sed in PATH ... skipping"; exit 0 ; }
|
||||||
|
type -p tr &> /dev/null || { echo "${0##*/}: No tr in PATH ... skipping"; exit 0 ; }
|
||||||
|
type -p grep &> /dev/null || { echo "${0##*/}: No grep in PATH ... skipping"; exit 0 ; }
|
||||||
|
type -p ed &> /dev/null || { echo "${0##*/}: No ed in PATH ... skipping"; exit 0 ; }
|
||||||
|
|
||||||
|
# Be sure that configuring in /etc/texmf will work even if
|
||||||
|
# there are files relative to /etc/texmf ...
|
||||||
|
unset KPSE_DOT || true
|
||||||
|
: ${TEXMFMAIN:=$(kpsewhich --expand-path='$TEXMFMAIN' 2> /dev/null)}
|
||||||
|
: ${TEXMFDIST:=$(kpsewhich --expand-path='$TEXMFDIST' 2> /dev/null)}
|
||||||
|
: ${TEXMFVAR:=$(kpsewhich --var-value=TEXMFVAR 2> /dev/null)}
|
||||||
|
: ${TEXMFCNF:=$(kpsewhich texmf.cnf 2> /dev/null)}
|
||||||
|
: ${TEXMFSYSCONFIG:=$(kpsewhich --expand-path='$TEXMFSYSCONFIG' 2> /dev/null)}
|
||||||
|
: ${TEXMFLSR:=$(kpsewhich --show-path=ls-R 2> /dev/null)}
|
||||||
|
: ${WEB2C:=$TEXMFVAR/web2c}
|
||||||
|
|
||||||
|
HASHLSR=
|
||||||
|
for lsr in ${TEXMFLSR//:/ }; do
|
||||||
|
find $lsr -prune -type d -and -not -fstype nfs > /dev/null 2>&1 || continue
|
||||||
|
HASHLSR=${HASHLSR:+$HASHLSR:}${lsr}
|
||||||
|
size=$(find /etc/texmf/ls-R -follow -printf '%s')
|
||||||
|
if test $size -lt 80 ; then
|
||||||
|
> /var/run/texlive/run-texhash
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
tcfmgr ()
|
||||||
|
{
|
||||||
|
${TEXMFMAIN}/texconfig/tcfmgr ${1+"$@"} 2> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
enablemaps ()
|
||||||
|
{
|
||||||
|
updmap-sys --quiet --nohash --listmaps < /dev/null 2> /dev/null | \
|
||||||
|
sed -n -r 's@(#![[:space:]])(Mixed)?Map[[:space:]]*@@gp' | \
|
||||||
|
xargs -r kpsewhich --format=map 2> /dev/null | \
|
||||||
|
sed -r 's@.*/([^/]*)@\1@g'
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Straightforward ... here we go
|
||||||
|
#
|
||||||
|
if test -e /var/run/texlive/run-texhash; do
|
||||||
|
typeset -i n=0
|
||||||
|
for lsr in ${HASHLSR//:/ }; do
|
||||||
|
((n++ == 0)) && test $VERBOSE = true && echo -e "\r[ ]Enabling TeX hash data base."
|
||||||
|
find $lsr -prune -type d -and -not -fstype nfs > /dev/null 2>&1 || continue
|
||||||
|
if test $f -nt $lsr/ls-R ; then
|
||||||
|
texhash $lsr 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
cfg=$(tcfmgr --cmd find --file updmap.cfg)
|
||||||
|
if test -e ${cfg} ; then
|
||||||
|
test $VERBOSE = true && echo -e "\r[ ]Enabling TeX font mappings."
|
||||||
|
updmap-sys --nohash --nomkmap --syncwithtrees < /dev/null 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
enablemaps | \
|
||||||
|
while read line ; do
|
||||||
|
line='^#![[:space:]]*((Mixed)?Map)[[:space:]]*('$line')'
|
||||||
|
emap=$(sed -n -r "s/$line/\1=\3/p" ${cfg})
|
||||||
|
updmap-sys --nohash --nomkmap --enable $emap < /dev/null 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
done
|
||||||
|
updmap-sys < /dev/null 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# If texmf.cnf has changed it may contain changed memory sizes
|
||||||
|
# of various programs.
|
||||||
|
#
|
||||||
|
type -p readlink &> /dev/null || exit 0
|
||||||
|
type -p texconfig-sys &> /dev/null || exit 0
|
||||||
|
|
||||||
|
test -L "$TEXMFCNF" && TEXMFCNF="$(readlink -f "$TEXMFCNF" 2> /dev/null)"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Configuration broken
|
||||||
|
#
|
||||||
|
if test ! -e "$TEXMFCNF" ; then
|
||||||
|
echo "${0##*/}: Configuration of texlive installation not found."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
init=false
|
||||||
|
for f in $(find ${WEB2C}/ -name '*.fmt' -name '*.mem' -o -name '*.base') ; do
|
||||||
|
test -e "$f" || continue
|
||||||
|
test -L "$f" && continue
|
||||||
|
test "$TEXMFCNF" -nt "$f" && init=true
|
||||||
|
test -s "$f" && touch "$f"
|
||||||
|
done
|
||||||
|
if test $init = true ; then
|
||||||
|
test $VERBOSE = true && echo -e "\r[ ]Initialize TeX configuration and font mappings."
|
||||||
|
updmap-sys --syncwithtrees < /dev/null 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
texconfig-sys init < /dev/null 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# These are required.
|
||||||
|
#
|
||||||
|
type -p md5sum &> /dev/null || exit 0
|
||||||
|
|
||||||
|
#
|
||||||
|
# We need a check for an already modified texlive configuration:
|
||||||
|
# therefore we use md5 check sums.
|
||||||
|
#
|
||||||
|
if test -z "$MD5DIR" ; then
|
||||||
|
LIBDIR=/var/lib/texmf
|
||||||
|
MD5DIR=$LIBDIR/md5
|
||||||
|
fi
|
||||||
|
mkdir -p $MD5DIR
|
||||||
|
test $? -gt 0 && exit 0
|
||||||
|
|
||||||
|
#
|
||||||
|
# The main configuration files of TeXLive.
|
||||||
|
#
|
||||||
|
type -p fmtutil-sys &> /dev/null || exit 0
|
||||||
|
|
||||||
|
cnf_mfont=$(tcfmgr --cmd find --file mktex.cnf)
|
||||||
|
cnf_xdvi=$(tcfmgr --cmd find --file XDvi)
|
||||||
|
cnf_dvips=$(tcfmgr --cmd find --file config.ps)
|
||||||
|
cnf_lang=$(TEXMF=$TEXMFSYSCONFIG kpsewhich language.dat 2> /dev/null)
|
||||||
|
cnf_base=$(TEXMF=$TEXMF kpsewhich language.us 2> /dev/null)
|
||||||
|
|
||||||
|
test -n "${cnf_mfont}" || exit 0
|
||||||
|
test -n "${cnf_xdvi}" || exit 0
|
||||||
|
test -n "${cnf_dvips}" || exit 0
|
||||||
|
test -n "${cnf_lang}" || exit 0
|
||||||
|
|
||||||
|
md5_mfont=${MD5DIR}${cnf_mfont}
|
||||||
|
md5_xdvi=${MD5DIR}${cnf_xdvi}
|
||||||
|
md5_dvips=${MD5DIR}${cnf_dvips}
|
||||||
|
md5_lang=${MD5DIR}${cnf_lang}
|
||||||
|
md5_cups=${MD5DIR}/cups
|
||||||
|
|
||||||
|
#
|
||||||
|
# Is this a full TeXLive system?
|
||||||
|
#
|
||||||
|
test -e ${cnf_mfont} || exit 0 # Default MetaFont mode
|
||||||
|
test -e ${cnf_xdvi} || exit 0 # Default xdvi resolution
|
||||||
|
test -e ${cnf_dvips} || exit 0 # Default printer mode
|
||||||
|
test -e ${cnf_lang} || exit 0 # Default hyphenation
|
||||||
|
|
||||||
|
#
|
||||||
|
# Current MD5 sums
|
||||||
|
#
|
||||||
|
set -- $(md5sum < ${cnf_mfont}) ; md5modes="$1"
|
||||||
|
set -- $(md5sum < ${cnf_xdvi} ) ; md5xdvi="$1"
|
||||||
|
set -- $(md5sum < ${cnf_dvips}) ; md5dvips="$1"
|
||||||
|
set -- $(md5sum < ${cnf_lang} ) ; md5lang="$1"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Previous md5 sums
|
||||||
|
#
|
||||||
|
omd5lang=0
|
||||||
|
if test -e ${md5_lang} -a -r ${md5_lang} ; then
|
||||||
|
test ${md5_lang} -nt ${cnf_lang} && md5_nt_lang="yes"
|
||||||
|
set -- $(cat ${md5_lang}) ; omd5lang="$1"
|
||||||
|
elif test ! -d ${md5_lang%/*} ; then
|
||||||
|
mkdir -p ${md5_lang%/*}
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Create new formats for new language.dat if needed
|
||||||
|
#
|
||||||
|
if test $omd5lang = 0 -o \
|
||||||
|
\( $md5lang != $omd5lang -o "$md5_nt_lang" != "yes" \)
|
||||||
|
then
|
||||||
|
test $VERBOSE = true && echo -e "\r[ ]Handle language setups."
|
||||||
|
set -- $(md5sum < ${cnf_lang})
|
||||||
|
echo $1 > ${md5_lang}
|
||||||
|
fmtutil-sys --byhyphen ${cnf_lang} < /dev/null 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# The main system printer.
|
||||||
|
#
|
||||||
|
lp=""
|
||||||
|
if type -p lpoptions &>/dev/null && lpstat -r &>/dev/null ; then
|
||||||
|
dev=PS
|
||||||
|
size=a4
|
||||||
|
dpi=300
|
||||||
|
color=mono
|
||||||
|
IFS=$'\n'
|
||||||
|
lpopt=($(lpoptions -l 2> /dev/null))
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
shopt -s extglob
|
||||||
|
for line in "${lpopt[@]}" ; do
|
||||||
|
case "$line" in
|
||||||
|
PageSize*)
|
||||||
|
set -- $line
|
||||||
|
while test -n "$1" ; do
|
||||||
|
case "$1" in
|
||||||
|
\**) size="${1:1}"; break
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
Resolution*)
|
||||||
|
set -- $line
|
||||||
|
reg='?(\*)@(+([0-9])|+([0-9])x+([0-9]))dpi'
|
||||||
|
cur=0
|
||||||
|
while test -n "$1" ; do
|
||||||
|
case "$1" in
|
||||||
|
$reg) cur=${1%%+([[:alpha:]])}
|
||||||
|
esac
|
||||||
|
cur="${cur#\*}"
|
||||||
|
case "$1" in
|
||||||
|
*Color*) color=color
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
test "${cur%x*}" -gt "${dpi%x*}" && dpi=$cur
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
ColorCorrection*)
|
||||||
|
set -- $line
|
||||||
|
while test -n "$1" ; do
|
||||||
|
case "$1" in
|
||||||
|
\*RGB|\*CMYK) color=color; break
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shopt -u extglob
|
||||||
|
lp="lp|${dev}-$(echo ${size}-auto-${color}-${dpi}|tr '[:upper:]' '[:lower:]')"
|
||||||
|
elif test -r /etc/printcap -a -d /var/lib/apsfilter/ ; then
|
||||||
|
lp=$(grep -E '^lp\|' /etc/printcap)
|
||||||
|
elif test -r /etc/printcap -a -x /usr/lib/lpdfilter/bin/readpc ; then
|
||||||
|
lp=$(/usr/lib/lpdfilter/bin/readpc lp || true)
|
||||||
|
fi
|
||||||
|
test -n "$lp" || exit 0 # No (configured) filter system: nothing to do
|
||||||
|
|
||||||
|
if type -p lpoptions &>/dev/null && lpstat -r &>/dev/null ; then
|
||||||
|
omd5cups=0
|
||||||
|
if test -r ${md5_cups} ; then
|
||||||
|
set -- $(cat ${md5_cups}) ; omd5cups=$1
|
||||||
|
elif test ! -d ${md5_cups%/*} ; then
|
||||||
|
mkdir -p ${md5_cups%/*}
|
||||||
|
fi
|
||||||
|
set -- $(lpoptions -l 2> /dev/null | md5sum) ; md5cups=$1
|
||||||
|
if test ${omd5cups} != ${md5cups} ; then
|
||||||
|
prtcap_nt_mfont="yes"
|
||||||
|
prtcap_nt_xdvi="yes"
|
||||||
|
prtcap_nt_dvips="yes"
|
||||||
|
echo ${md5cups} > ${md5_cups}
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
test /etc/printcap -nt ${cnf_mfont} && prtcap_nt_mfont="yes"
|
||||||
|
test /etc/printcap -nt ${cnf_xdvi} && prtcap_nt_xdvi="yes"
|
||||||
|
test /etc/printcap -nt ${cnf_dvips} && prtcap_nt_dvips="yes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Previous md5 sums
|
||||||
|
#
|
||||||
|
omd5modes=0
|
||||||
|
omd5xdvi=0
|
||||||
|
omd5dvips=0
|
||||||
|
if test -e ${md5_mfont} -a -r ${md5_mfont} ; then
|
||||||
|
test ${md5_mfont} -nt ${cnf_mfont} && md5_nt_mfont="yes"
|
||||||
|
set -- $(cat ${md5_mfont}) ; omd5modes="$1"
|
||||||
|
elif test ! -d ${md5_mfont%/*} ; then
|
||||||
|
mkdir -p ${md5_mfont%/*}
|
||||||
|
fi
|
||||||
|
if test -e ${md5_xdvi} -a -r ${md5_xdvi} ; then
|
||||||
|
test ${md5_xdvi} -nt ${cnf_xdvi} && md5_nt_xdvi="yes"
|
||||||
|
set -- $(cat ${md5_xdvi}) ; omd5xdvi="$1"
|
||||||
|
elif test ! -d ${md5_xdvi%/*} ; then
|
||||||
|
mkdir -p ${md5_xdvi%/*}
|
||||||
|
fi
|
||||||
|
if test -e ${md5_dvips} -a -r ${md5_dvips} ; then
|
||||||
|
test ${md5_dvips} -nt ${cnf_dvips} && md5_nt_dvips="yes"
|
||||||
|
set -- $(cat ${md5_dvips}) ; omd5dvips="$1"
|
||||||
|
elif test ! -d ${md5_dvips%/*} ; then
|
||||||
|
mkdir -p ${md5_dvips%/*}
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Convert YaST2 configured printer for apsfilter or lpdfilter
|
||||||
|
#
|
||||||
|
case "$lp" in
|
||||||
|
*\|*.upp--*)
|
||||||
|
lp=""
|
||||||
|
upp=${lp##*|}
|
||||||
|
IFS="-$IFS"
|
||||||
|
for upp in $upp ; do break; done
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
if test -s /etc/gs.upp/$upp ; then
|
||||||
|
while read line ; do
|
||||||
|
case "$line" in
|
||||||
|
-sDEVICE=*) dev="${line#*=}" ;;
|
||||||
|
@*.upp) dev="${line#@}" ;;
|
||||||
|
-r*) dpi="${line#-r}" ;;
|
||||||
|
-sPAPERSIZE=*)
|
||||||
|
psz="${line#*=}" ;;
|
||||||
|
-sCOLOR=*) col="${line#*=}" ;;
|
||||||
|
*) ;;
|
||||||
|
esac
|
||||||
|
done < /etc/gs.upp/$upp
|
||||||
|
lp="lp|${dev}-${psz}-auto-${col}-${dpi}"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*:cm=lpdfilter*:)
|
||||||
|
entry="$lp"
|
||||||
|
lp=""
|
||||||
|
IFS=":"
|
||||||
|
for e in $entry ; do
|
||||||
|
case "$e" in
|
||||||
|
cm=lpdfilter*) eval "${e#cm=lpdfilter}" ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
IFS="$OLDIFS"
|
||||||
|
if test "$drv" = "upp" -a -s /etc/lpdfilter/lp/upp ; then
|
||||||
|
while read line ; do
|
||||||
|
case "$line" in
|
||||||
|
-sDEVICE=*) drv="${line#*=}" ;; # Overwrite driver!
|
||||||
|
-r*) dpi="${line#-r}" ;;
|
||||||
|
-dDEVICEXRESOLUTION=*)
|
||||||
|
xres="${line#*=}" ;;
|
||||||
|
-dDEVICEYRESOLUTION=*)
|
||||||
|
yres="${line#*=}" ;;
|
||||||
|
-sPAPERSIZE=*) size="${line#*=}" ;;
|
||||||
|
-sCOLOR=*) color="${line#*=}" ;;
|
||||||
|
-sPOSTFILTER=\"*\")
|
||||||
|
eval post="${line#*=}" ;;
|
||||||
|
@*) upp="${line#@}" ;;
|
||||||
|
esac
|
||||||
|
done < /etc/lpdfilter/lp/upp
|
||||||
|
fi
|
||||||
|
if test -n "$upp" && type -p gs &> /dev/null ; then
|
||||||
|
drv=${upp##*/}
|
||||||
|
upp=$(echo "($upp) findlibfile { pop print } { pop } ifelse" | \
|
||||||
|
gs -sDEVICE=nullpage -q -dNOPAUSE - -c quit)
|
||||||
|
fi
|
||||||
|
if test -r "$upp" ; then
|
||||||
|
while read line ; do
|
||||||
|
case "$line" in
|
||||||
|
-r*) dpi="${line#-r}" ;;
|
||||||
|
esac
|
||||||
|
done < $upp
|
||||||
|
fi
|
||||||
|
if test -z "$dpi" ; then
|
||||||
|
test -n "$xres" && dpi=$xres
|
||||||
|
test -n "$yres" && dpi=${dpi+"${dpi}x"}$yres
|
||||||
|
fi
|
||||||
|
lp="lp|${drv}-${size}-${method}-${color}-${dpi}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#
|
||||||
|
# Parse the configured system main printer
|
||||||
|
# Ghostscript/PS <-> Metafont mode and paper size
|
||||||
|
# (UNTESTED, Sorry I've *not* enough printers around)
|
||||||
|
#
|
||||||
|
function get_paper () {
|
||||||
|
(
|
||||||
|
. /etc/sysconfig/language &> /dev/null
|
||||||
|
h=($(LANG=$RC_LANG locale -k LC_PAPER))
|
||||||
|
case "${h[0]}" in
|
||||||
|
height=297) echo a4 ;;
|
||||||
|
*) echo letter ;;
|
||||||
|
esac
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$lp" in
|
||||||
|
*-letter-*) XDVISIZE=us ; DVIPSSIZE=letter ;;
|
||||||
|
*-legal-*) XDVISIZE=legal ; DVIPSSIZE=legal ;;
|
||||||
|
*-ledger-*) XDVISIZE=a3r ; DVIPSSIZE=ledger ;;
|
||||||
|
*-tabloid-*) XDVISIZE=a3 ; DVIPSSIZE=tabloid ;;
|
||||||
|
*-a3-*) XDVISIZE=a3 ; DVIPSSIZE=a3 ;;
|
||||||
|
*-a4-*) XDVISIZE=a4 ; DVIPSSIZE=a4 ;;
|
||||||
|
*)
|
||||||
|
case "$(get_paper)" in
|
||||||
|
a4) XDVISIZE=a4 ; DVIPSSIZE=a4 ;;
|
||||||
|
*) XDVISIZE=us ; DVIPSSIZE=letter ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$lp" in
|
||||||
|
*\|PS*) PRINTER=ljfour ;;
|
||||||
|
*\|bj10e*) PRINTER=bjtenex ;;
|
||||||
|
*\|bj200*) PRINTER=bjtzzex ;;
|
||||||
|
*\|bjc600*) PRINTER=canonbjc ;;
|
||||||
|
*\|bjc800*) PRINTER=canonbjc ;;
|
||||||
|
*\|bjc610a*) PRINTER=canonbjc ;;
|
||||||
|
# *\|bjc610b*) PRINTER=canonbjc ;;
|
||||||
|
*\|cdeskjet*600) PRINTER=ljfour ;;
|
||||||
|
*\|deskjet*600) PRINTER=ljfour ;;
|
||||||
|
*\|cdeskjet*) PRINTER=deskjet ;;
|
||||||
|
*\|deskjet*) PRINTER=deskjet ;;
|
||||||
|
*\|cdj6*) PRINTER=ljfour ;;
|
||||||
|
*\|cdj8*) PRINTER=ljfour ;;
|
||||||
|
*\|hpdj*) PRINTER=ljfour ;;
|
||||||
|
*\|cdj*600) PRINTER=ljfour ;;
|
||||||
|
*\|djet*600) PRINTER=ljfour ;;
|
||||||
|
*\|cdj*) PRINTER=deskjet ;;
|
||||||
|
*\|djet*) PRINTER=deskjet ;;
|
||||||
|
*\|laserjet*) PRINTER=cx ;;
|
||||||
|
*\|ljetplus*) PRINTER=cx ;;
|
||||||
|
*\|ljet2*) PRINTER=cx ;;
|
||||||
|
*\|ljet3*) PRINTER=jetiiisi ;;
|
||||||
|
*\|ljet4l*) PRINTER=cx ;;
|
||||||
|
*\|ljet4*) PRINTER=ljfour ;;
|
||||||
|
*\|lj4*) PRINTER=ljfour ;;
|
||||||
|
*\|lj5*) PRINTER=ljfive ;;
|
||||||
|
# *\|lj5*) PRINTER=ljfivemp ;;
|
||||||
|
*\|stcolor*720) PRINTER=esphi ;;
|
||||||
|
*\|stcolor*) PRINTER=epstylus ;;
|
||||||
|
*\|st800*720) PRINTER=esphi ;;
|
||||||
|
*\|st800*) PRINTER=epstylus ;;
|
||||||
|
*\|stc800*720) PRINTER=esphi ;;
|
||||||
|
*\|stc800*) PRINTER=epstylus ;;
|
||||||
|
*\|stc600*) PRINTER=epscszz ;;
|
||||||
|
*\|stc_h*) PRINTER=esphi ;;
|
||||||
|
*\|stc*) PRINTER=epstypro ;;
|
||||||
|
*) PRINTER=ljfour
|
||||||
|
prtcap_nt_dvips="manual" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#
|
||||||
|
# Run texconfig if no one has update the TeXLive system
|
||||||
|
# or parts of it.
|
||||||
|
#
|
||||||
|
if test $omd5modes = 0 -o \
|
||||||
|
\( $md5modes = $omd5modes -a "$prtcap_nt_mfont" = "yes" -a "$md5_nt_mfont" = "yes" \)
|
||||||
|
then
|
||||||
|
test $VERBOSE = true && echo -e "\r[ ]Set MetaFont mode."
|
||||||
|
env -i MKTEXLSR=true PATH=$PATH LANG=$LANG texconfig-sys mode $PRINTER < /dev/null 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
set -- $(md5sum < ${cnf_mfont})
|
||||||
|
echo $1 > ${md5_mfont}
|
||||||
|
fi
|
||||||
|
if test $omd5xdvi = 0 -o \
|
||||||
|
\( $md5xdvi = $omd5xdvi -a "$prtcap_nt_xdvi" = "yes" -a "$md5_nt_xdvi" = "yes" \)
|
||||||
|
then
|
||||||
|
test $VERBOSE = true && echo -e "\r[ ]Set XDvi paper size."
|
||||||
|
env -i MKTEXLSR=true PATH=$PATH LANG=$LANG texconfig-sys xdvi paper $XDVISIZE < /dev/null 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
set -- $(md5sum < ${cnf_xdvi})
|
||||||
|
echo $1 > ${md5_xdvi}
|
||||||
|
fi
|
||||||
|
if test $omd5dvips = 0 -o \
|
||||||
|
\( $md5dvips = $omd5dvips -a "$prtcap_nt_dvips" = "yes" -a "$md5_nt_dvips" = "yes" \)
|
||||||
|
then
|
||||||
|
test $VERBOSE = true && echo -e "\r[ ]Set dvips mode and paper size."
|
||||||
|
env -i MKTEXLSR=true PATH=$PATH LANG=$LANG texconfig-sys dvips mode $PRINTER < /dev/null 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
env -i MKTEXLSR=true PATH=$PATH LANG=$LANG texconfig-sys dvips paper $DVIPSSIZE < /dev/null 1>&4 2>&4
|
||||||
|
let rc+=$?
|
||||||
|
set -- $(md5sum < ${cnf_dvips})
|
||||||
|
echo $1 > ${md5_dvips}
|
||||||
|
fi
|
||||||
|
if test "$prtcap_nt_dvips" = "manual" -a \
|
||||||
|
\( $md5dvips = $omd5dvips -o $omd5dvips = 0 \)
|
||||||
|
then
|
||||||
|
echo -e "\n${0##*/}: Unknown default printer, use texconfig to setup dvips manually."
|
||||||
|
if test -n "$MAIL_REPORTS_TO" ; then
|
||||||
|
echo "${0##*/}: Unknown default printer, use texconfig to setup dvips manually." | \
|
||||||
|
mail -s "${0##*/}" $MAIL_REPORTS_TO
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $VERBOSE = true ; then
|
||||||
|
exec 4>&-
|
||||||
|
fi
|
||||||
|
##
|
||||||
|
exit $rc
|
3
biblatex-biber-0.9.3.tar.xz
Normal file
3
biblatex-biber-0.9.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e71b5853f5fd3067d52751eb6469fe2474230c6a20e5991dd53bd53ab713f75e
|
||||||
|
size 1127689
|
33
cnf-to-paths.awk
Normal file
33
cnf-to-paths.awk
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/^[ \t]*[A-Z0-9_]+[ \t]*=/ {
|
||||||
|
ident = $0
|
||||||
|
sub(/^[[:blank:]]*/, "", ident)
|
||||||
|
sub(/[[:blank:]]*=.*/, "", ident)
|
||||||
|
|
||||||
|
val = $0
|
||||||
|
sub(/^.*=[[:blank:]]*/, "", val)
|
||||||
|
sub(/[[:blank:]]*$/, "", val)
|
||||||
|
gsub(/;/, ":", val)
|
||||||
|
|
||||||
|
VAR[ident] = val
|
||||||
|
}
|
||||||
|
|
||||||
|
END {
|
||||||
|
for (ident in VAR) {
|
||||||
|
val = VAR[ident]
|
||||||
|
split(val, pieces, /[:,]/)
|
||||||
|
for (one in pieces) {
|
||||||
|
match(pieces[one], /\$\{?([[:upper:]]+)\}?/, arr)
|
||||||
|
if (RSTART == 0)
|
||||||
|
continue
|
||||||
|
if (arr[1] ~ /OSFONTDIR/)
|
||||||
|
continue
|
||||||
|
if (VAR[arr[1]] ~ /\$/)
|
||||||
|
continue
|
||||||
|
gsub(/\$\{?arr[1]\}?/, VAR[arr[1]], val)
|
||||||
|
}
|
||||||
|
print "#ifndef DEFAULT_" ident
|
||||||
|
print "#define DEFAULT_" ident " \"" val "\""
|
||||||
|
print "#endif"
|
||||||
|
print ""
|
||||||
|
}
|
||||||
|
}
|
3
collection-basic.tar.xz
Normal file
3
collection-basic.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a926b2665a2ee844545fdc24f8a5f962871e6b39ce453c63f14f010738f128b7
|
||||||
|
size 588
|
3
collection-bibtexextra.tar.xz
Normal file
3
collection-bibtexextra.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c96c9311caba04c720482acd22e9cfcea2d00884d2749569d3d258f92faa19d3
|
||||||
|
size 732
|
3
collection-binextra.tar.xz
Normal file
3
collection-binextra.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7724fbc084966f448cc8f6affebce67d7781a0c3e413b50fd34cf13d1ebb6a88
|
||||||
|
size 696
|
3
collection-context.tar.xz
Normal file
3
collection-context.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1dd7e2f84602fe2603b59cffe0440315f358317a5147a808d39a891e63adb697
|
||||||
|
size 532
|
3
collection-documentation-arabic.tar.xz
Normal file
3
collection-documentation-arabic.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:23057cdccb9337dfcad8b10f01eb3cc2d07c161d33c6a45becc54a3c46c96bcb
|
||||||
|
size 292
|
3
collection-documentation-base.tar.xz
Normal file
3
collection-documentation-base.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a090634ac06af2039e1527d7b9e59cd7c4449fab2f42c6c921c50ff39d7dcae7
|
||||||
|
size 304
|
3
collection-documentation-bulgarian.tar.xz
Normal file
3
collection-documentation-bulgarian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6b4a8d4764d44e9777db1585d720b543b4d9e52d01369652183372c5ae56127f
|
||||||
|
size 308
|
3
collection-documentation-chinese.tar.xz
Normal file
3
collection-documentation-chinese.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:bc4310567225b583a8d0e7061113613282a57e0fb65132d3668ea6180832fc8c
|
||||||
|
size 348
|
3
collection-documentation-czechslovak.tar.xz
Normal file
3
collection-documentation-czechslovak.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e73543c7993eecc871064c5777cc5761dabc40f45b88fc01bf4586799fef44f6
|
||||||
|
size 308
|
3
collection-documentation-dutch.tar.xz
Normal file
3
collection-documentation-dutch.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2bc1842967819975b7997035d344b5013ff2e1cf78b30df7543150999d4b2c92
|
||||||
|
size 288
|
3
collection-documentation-english.tar.xz
Normal file
3
collection-documentation-english.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fa3b588359065a29f935a3f11700ebd945b322707c134f146add524cbd91de3b
|
||||||
|
size 716
|
3
collection-documentation-finnish.tar.xz
Normal file
3
collection-documentation-finnish.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:76682727f95a673b1ba72e730832a1858eb1058329806cbd1824a7b4f47c2fcb
|
||||||
|
size 288
|
3
collection-documentation-french.tar.xz
Normal file
3
collection-documentation-french.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:472ba6f1f56d12b185cf5c668290aa92415a9014bb8b891f904a4aa9bb8b1260
|
||||||
|
size 360
|
3
collection-documentation-german.tar.xz
Normal file
3
collection-documentation-german.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ad1190c1c22ee9a4bd16a0d5e6306d27dafa5cc549232f181f9fa9970417ed7d
|
||||||
|
size 488
|
3
collection-documentation-italian.tar.xz
Normal file
3
collection-documentation-italian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b6419e93e3e4271512bd3ea72f4e51874ff29415f61dd6c021e827e129ffe70b
|
||||||
|
size 344
|
3
collection-documentation-japanese.tar.xz
Normal file
3
collection-documentation-japanese.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e0d935513c855494b8e184e5a4dd8aa4d82349f3d5dcdb7204bccccd6de49a82
|
||||||
|
size 292
|
3
collection-documentation-korean.tar.xz
Normal file
3
collection-documentation-korean.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c7515b5e2f231f74876f03d4a2fb4802a6dc7001af44d3899027e07dfd8ee91d
|
||||||
|
size 288
|
3
collection-documentation-mongolian.tar.xz
Normal file
3
collection-documentation-mongolian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ecd8dab17f9e63f7dddaf589734a6cbd607c3b26816268c071bd4e1abea54ff4
|
||||||
|
size 292
|
3
collection-documentation-polish.tar.xz
Normal file
3
collection-documentation-polish.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b7f41bb7f11ef66619990b5d911a86306d9d8d0e2b07c7343d92e6b5e8398f2c
|
||||||
|
size 316
|
3
collection-documentation-portuguese.tar.xz
Normal file
3
collection-documentation-portuguese.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d0f75b14273f6328cb50b4f120487ceda09d6b88bcd4d6bfceab2ba4f34ce74e
|
||||||
|
size 332
|
3
collection-documentation-russian.tar.xz
Normal file
3
collection-documentation-russian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6ad7987296c26af728fe348f486b6180180aeb43e0fcdb7109f73a3910c94f92
|
||||||
|
size 304
|
3
collection-documentation-serbian.tar.xz
Normal file
3
collection-documentation-serbian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9a9c93af5f6a5d2c4688986320aa9a976df55df51ec54243ba827fcc28f42d56
|
||||||
|
size 292
|
3
collection-documentation-slovenian.tar.xz
Normal file
3
collection-documentation-slovenian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f3d2025ecb300449865d455dae4940aeb585b249ad2fa7da3f2efebba0031d7b
|
||||||
|
size 288
|
3
collection-documentation-spanish.tar.xz
Normal file
3
collection-documentation-spanish.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:bcad1d2e69ed97302de39b83c83ec8c83a954e3c715b353be0733038f830dbb3
|
||||||
|
size 332
|
3
collection-documentation-thai.tar.xz
Normal file
3
collection-documentation-thai.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2a6a3e0e3091c798e01a4433e260519457dcdbe935c3f812251b68e997dbd91d
|
||||||
|
size 288
|
3
collection-documentation-turkish.tar.xz
Normal file
3
collection-documentation-turkish.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:76a6b65b1951bd15993da815b6c7629877489ca32e6d027bfbfa88c5d748dff3
|
||||||
|
size 288
|
3
collection-documentation-ukrainian.tar.xz
Normal file
3
collection-documentation-ukrainian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:300e38046ac0bcdbdc04f1a027ea08ee207bad59170de0cd1fc74f9cae14dab9
|
||||||
|
size 292
|
3
collection-documentation-vietnamese.tar.xz
Normal file
3
collection-documentation-vietnamese.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d0b8af9443410d653e2ba155ba2b4e44e6e06f747bf9548c778f88073f0487de
|
||||||
|
size 308
|
3
collection-fontsextra.tar.xz
Normal file
3
collection-fontsextra.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:16ae7efe00521e0108e43e3c136478b88087654b5fdad14fd0a7eb9ff4235a39
|
||||||
|
size 1116
|
3
collection-fontsrecommended.tar.xz
Normal file
3
collection-fontsrecommended.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fed2522498ce78bd0a828d6961f81dd197a91597cef9d025e6bc989de644a91f
|
||||||
|
size 528
|
3
collection-fontutils.tar.xz
Normal file
3
collection-fontutils.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3fc27d6d09237f844cd17764177b962063c8087ad9a90a61180fe6bb75352d94
|
||||||
|
size 524
|
3
collection-formatsextra.tar.xz
Normal file
3
collection-formatsextra.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d6a0de1483469f211c801983157bbb44c45461e82dbc8cf0b28343d55519ec32
|
||||||
|
size 432
|
3
collection-games.tar.xz
Normal file
3
collection-games.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5140cb44f6540f9a9820ac22f0a0ceffc93f048ffe64d585fc923e45926a4a2f
|
||||||
|
size 444
|
3
collection-genericextra.tar.xz
Normal file
3
collection-genericextra.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:96c81e2c848c5504bd25781e4507a3951e8b628a8dd6288a55a5eedd25894f97
|
||||||
|
size 544
|
3
collection-genericrecommended.tar.xz
Normal file
3
collection-genericrecommended.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cbd895a25dea70e129fbc76ef409b8e3894ff0bc143ee1371824f21388392412
|
||||||
|
size 368
|
3
collection-htmlxml.tar.xz
Normal file
3
collection-htmlxml.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:732269784fa6160b7f8d866da1e6aa8d1bdc5cc7d64a837518f869b943f403cc
|
||||||
|
size 380
|
3
collection-humanities.tar.xz
Normal file
3
collection-humanities.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ef66615adebc9723749a720972ff0eddc1a015e55309bf0fc36376a60e96914a
|
||||||
|
size 512
|
3
collection-langafrican.tar.xz
Normal file
3
collection-langafrican.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:80a850ef837164034550310302fe0718e7b9ff2633fb335e6b839a798c2d0482
|
||||||
|
size 336
|
3
collection-langarabic.tar.xz
Normal file
3
collection-langarabic.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ba9d96ee274fa404401d5cf68e042528313b7c693eda51b64f724f21c662fed7
|
||||||
|
size 344
|
3
collection-langarmenian.tar.xz
Normal file
3
collection-langarmenian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b70a93b37a8573c60e919e9d9814872e6c952b4581098ea4f0ccf9a443ef540b
|
||||||
|
size 300
|
3
collection-langcjk.tar.xz
Normal file
3
collection-langcjk.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fce8cf051702e95f234400c8ecfaa1ae96aacc65ad58ab1e18669d9011ee82a7
|
||||||
|
size 488
|
3
collection-langcroatian.tar.xz
Normal file
3
collection-langcroatian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:544ed34256ea76abe210d352debeba6b278b48adc319e79ee76e0b2428aac12f
|
||||||
|
size 316
|
3
collection-langcyrillic.tar.xz
Normal file
3
collection-langcyrillic.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5abf348488a00185fbeb807f16c7d5e35766b45c742c5b42ed54c308fa9eef74
|
||||||
|
size 392
|
3
collection-langczechslovak.tar.xz
Normal file
3
collection-langczechslovak.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c6624620f28c1dbf5aa6d045c83e7a1f916b966a7dcaa4f2bb2db76350232ea6
|
||||||
|
size 348
|
3
collection-langdanish.tar.xz
Normal file
3
collection-langdanish.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:05e1f850f70ec197ce5d01b4c703a7118e1acee40043121a7800ac4284ffe064
|
||||||
|
size 308
|
3
collection-langdutch.tar.xz
Normal file
3
collection-langdutch.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8eb29326f75697018cc50cccd4ca28a8a9889a300db49b5ff43a3563d800a793
|
||||||
|
size 308
|
3
collection-langenglish.tar.xz
Normal file
3
collection-langenglish.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:de1be31f6e1a3c25eaccc2cf7933f5b36951f3311957990152c441f8000b89a6
|
||||||
|
size 316
|
3
collection-langfinnish.tar.xz
Normal file
3
collection-langfinnish.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cc37138566ab9b3602ccb2162f3879d41e8acbae516842ee1a9c5af19fa7a48a
|
||||||
|
size 316
|
3
collection-langfrench.tar.xz
Normal file
3
collection-langfrench.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5cfaed9186562b220576ffc1571ed49b8f832042f86eab8a817342e9879bd91c
|
||||||
|
size 396
|
3
collection-langgerman.tar.xz
Normal file
3
collection-langgerman.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ca3063dbe85b06a1e3fbcb7e014b793249e9ddae4f1243d37683f6bad0276b63
|
||||||
|
size 408
|
3
collection-langgreek.tar.xz
Normal file
3
collection-langgreek.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:76c1a03874eeb4fc63e05f6bbbee9e6e22d56bd0a1d227fcb1d008afc317c175
|
||||||
|
size 424
|
3
collection-langhebrew.tar.xz
Normal file
3
collection-langhebrew.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7e28956b3c8392336b21c5db2961bd9aa861a66823f22bfbe084c12c4c72b69c
|
||||||
|
size 304
|
3
collection-langhungarian.tar.xz
Normal file
3
collection-langhungarian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5fc7d375d41d779a9f8ce8047b39900e831fe3f58e01063cba2dd8bc1efc7929
|
||||||
|
size 316
|
3
collection-langindic.tar.xz
Normal file
3
collection-langindic.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:dbdf41d933fec0391ec1ad740ac5c66282c16cea4f60ae01fe95ad38689d6078
|
||||||
|
size 400
|
3
collection-langitalian.tar.xz
Normal file
3
collection-langitalian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:46b1f72b0bb12a412ffccd86df175e8da5b5ae66644bf276792fe8c76d19b711
|
||||||
|
size 332
|
3
collection-langlatin.tar.xz
Normal file
3
collection-langlatin.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9b4de8cef443a80cb15e980f5a11f0a06dc5ba46755e14deddc9b69766448bb4
|
||||||
|
size 308
|
3
collection-langlatvian.tar.xz
Normal file
3
collection-langlatvian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e3cc5c83751b7a64c1628621c4ab5c4754803c80c45640f0bcd59dda969115cd
|
||||||
|
size 308
|
3
collection-langlithuanian.tar.xz
Normal file
3
collection-langlithuanian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d5fa23e8834c133ea4c32bc1436a011b3134b6925312bc05242a66faa18085ab
|
||||||
|
size 316
|
3
collection-langmongolian.tar.xz
Normal file
3
collection-langmongolian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7e87e5a69150e33b26d9e1c627b62d78bea03e045267e32ab14090e1523389ee
|
||||||
|
size 324
|
3
collection-langnorwegian.tar.xz
Normal file
3
collection-langnorwegian.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:40d26a99d1000c08730f21a724ef1f79340d0bb91dd5c07b98d31fa1a94aca55
|
||||||
|
size 308
|
3
collection-langother.tar.xz
Normal file
3
collection-langother.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9a9673cf955f113a214c25ef57161e8894b4e3d8cf4bdeb2742a765deab577a1
|
||||||
|
size 440
|
3
collection-langpolish.tar.xz
Normal file
3
collection-langpolish.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ab31927f5d6302d581453e7211ec9c1173dc64345d48069e1c72db432edbdb2e
|
||||||
|
size 376
|
3
collection-langportuguese.tar.xz
Normal file
3
collection-langportuguese.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1e0d3a5529a8d76e5af3ef4c7af41986ef99a8db2807a20f5da28f00ae14616b
|
||||||
|
size 320
|
3
collection-langspanish.tar.xz
Normal file
3
collection-langspanish.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:862d1045b4400fd1ee1734decd9b651449181f9be3efd17b7555fbc672411f18
|
||||||
|
size 328
|
3
collection-langswedish.tar.xz
Normal file
3
collection-langswedish.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f4ad135732b2c2209f94bb896a5c9c21e7bb7b744d12dad5e56b60a5ce4d15fc
|
||||||
|
size 312
|
3
collection-langtibetan.tar.xz
Normal file
3
collection-langtibetan.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f0814625764fb49cb6e33b214cb499299fd6e2f41306f979ff469c2ebb772c26
|
||||||
|
size 308
|
3
collection-langturkmen.tar.xz
Normal file
3
collection-langturkmen.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7b242a4af8dd480de7787d0f07ef669eab9fcacee4a6ca0f797d83cf5d70b017
|
||||||
|
size 312
|
3
collection-langvietnamese.tar.xz
Normal file
3
collection-langvietnamese.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:98b7b64f17b7e336ae58392c897f75dcbe027dc7ed0809f1fa9192b30edd88fe
|
||||||
|
size 308
|
3
collection-latex.tar.xz
Normal file
3
collection-latex.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:68ac49a0e064d4ea24dd809c2423140f5250dceda699013f11985c3e01c5f5a9
|
||||||
|
size 496
|
3
collection-latexextra.tar.xz
Normal file
3
collection-latexextra.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cc849ac4b2514c587c056466d030b231ae3a4a82d4f6a719060e29b75f702ad2
|
||||||
|
size 3840
|
3
collection-latexrecommended.tar.xz
Normal file
3
collection-latexrecommended.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a4bbbc830c9ac7996242a21bff712c6947a385004b608a9a43d6a4a5c18976d1
|
||||||
|
size 608
|
3
collection-luatex.tar.xz
Normal file
3
collection-luatex.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4c46cede8311ce2c9c70e80a3427bc4e02c7c61cadb9844c4d80d6cfcf0b022d
|
||||||
|
size 468
|
3
collection-mathextra.tar.xz
Normal file
3
collection-mathextra.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:725c45c40e27e694e9779b1e44b7c289e8cf5fb5040eb163b30adf7defe0c165
|
||||||
|
size 552
|
3
collection-metapost.tar.xz
Normal file
3
collection-metapost.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4a6a84b4e1ad7f20a645de5762b87a94c3ce059c7595d49989169ceeb989feb7
|
||||||
|
size 500
|
3
collection-music.tar.xz
Normal file
3
collection-music.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:aa7f025278a8df769dcfe9dee5fd41c397342bb1c55c1f088675e75d06f9c731
|
||||||
|
size 356
|
3
collection-omega.tar.xz
Normal file
3
collection-omega.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c825d3bc6faaa18cee468e656ad61ba103a73df04f79d4e5a84ab90ac572c365
|
||||||
|
size 364
|
3
collection-pictures.tar.xz
Normal file
3
collection-pictures.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ab844017864ac48f66bc7c4de30f46ee905b4735d7f50613c78032eaaeb89eac
|
||||||
|
size 756
|
3
collection-plainextra.tar.xz
Normal file
3
collection-plainextra.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:278f49e7618a8f4f7f8a1fc0d74f621ac86e86ebe10291c76e67969c06efc770
|
||||||
|
size 456
|
3
collection-pstricks.tar.xz
Normal file
3
collection-pstricks.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7d24c9e521a3d1ffe5f592b4139aec0bd03779fd0f9ccf742f04820f3f096181
|
||||||
|
size 652
|
3
collection-publishers.tar.xz
Normal file
3
collection-publishers.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9b6af7f282a858bced6ba6fbc8c2fcabb29be257e0b585bb8fddc845df66b6d0
|
||||||
|
size 812
|
3
collection-science.tar.xz
Normal file
3
collection-science.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5ac5029a2575f61eda8f74b8329ea7d7eba955f97e136fcd0fad62d3a5d39d69
|
||||||
|
size 624
|
3
collection-texinfo.tar.xz
Normal file
3
collection-texinfo.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d4f897adffc12d0f26b3683941a01d67c01a027f850f60d86d2a75e471584737
|
||||||
|
size 396
|
3
collection-xetex.tar.xz
Normal file
3
collection-xetex.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fc35430219e0b165d700b6d8187b764bda1128bcb80c1a98892afc8baed9ed27
|
||||||
|
size 496
|
12
dot.dvipsrc
Normal file
12
dot.dvipsrc
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
%% How to print, maybe with lp instead lpr, the priner
|
||||||
|
%% name <foo> has to be replaced by a real printer name
|
||||||
|
%% maybe the printer name found in $PRINTER
|
||||||
|
%%
|
||||||
|
%o | lpr -P<foo>
|
||||||
|
%o | lp -P<foo>
|
||||||
|
|
||||||
|
%% If your default is A4 uncomment the line with A4
|
||||||
|
%% otherwise you may choose Letter as your default.
|
||||||
|
%%
|
||||||
|
%t A4
|
||||||
|
%t Letter
|
14
fc-t1-texlive.conf
Normal file
14
fc-t1-texlive.conf
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||||
|
|
||||||
|
<!-- ************************************************************ -->
|
||||||
|
<!-- list of font directories of Type1 of TeXLive packages -->
|
||||||
|
<!-- all subdirectories of these directories are added as well -->
|
||||||
|
<!-- ** WARNING: THIS IS A HUGE LIST OF FONTS AND THEREFORE IT ** -->
|
||||||
|
<!-- ** WILL SLOW DOWN ALL PROGRAMS USING FONTCONFIG ** -->
|
||||||
|
<!-- ************************************************************ -->
|
||||||
|
|
||||||
|
<fontconfig>
|
||||||
|
<dir>/usr/share/texmf/fonts/type1</dir>
|
||||||
|
<dir>/usr/local/share/texmf/fonts/type1</dir>
|
||||||
|
</fontconfig>
|
12
fc-texlive.conf
Normal file
12
fc-texlive.conf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||||
|
|
||||||
|
<!-- ************************************************************ -->
|
||||||
|
<!-- list of font directories of TeXLive packages -->
|
||||||
|
<!-- all subdirectories of these directories are added as well -->
|
||||||
|
<!-- ************************************************************ -->
|
||||||
|
|
||||||
|
<fontconfig>
|
||||||
|
<dir>/usr/share/texmf/fonts/opentype</dir>
|
||||||
|
<dir>/usr/local/share/texmf/fonts/opentype</dir>
|
||||||
|
</fontconfig>
|
12
fc-truetype-texlive.conf
Normal file
12
fc-truetype-texlive.conf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||||
|
|
||||||
|
<!-- ************************************************************ -->
|
||||||
|
<!-- list of font directories of TeXLive packages -->
|
||||||
|
<!-- all subdirectories of these directories are added as well -->
|
||||||
|
<!-- ************************************************************ -->
|
||||||
|
|
||||||
|
<fontconfig>
|
||||||
|
<dir>/usr/share/texmf/fonts/truetype</dir>
|
||||||
|
<dir>/usr/local/share/texmf/fonts/truetype</dir>
|
||||||
|
</fontconfig>
|
63
nobody.8
Normal file
63
nobody.8
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
'\" -*- coding: UTF-8 -*-
|
||||||
|
.\" Copyright (C) 2010 Werner Fink
|
||||||
|
.\"
|
||||||
|
.\" This program is free software; you can redistribute it and/or modify
|
||||||
|
.\" it under the terms of the GNU General Public License as published by
|
||||||
|
.\" the Free Software Foundation; either version 2 of the License, or
|
||||||
|
.\" (at your option) any later version.
|
||||||
|
.\"
|
||||||
|
.\" 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 should have received a copy of the GNU General Public License
|
||||||
|
.\" along with this program; if not, write to the Free Software
|
||||||
|
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
.\"
|
||||||
|
.TH NOBODY 8 "Jul 30, 2010" "" "Linux System Administrator's Manual"
|
||||||
|
.SH NAME
|
||||||
|
nobdy \- for user root run a specific program as user nobody
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B nobdy
|
||||||
|
.RB [ ls | find | false | true ]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.B Nobody
|
||||||
|
drops its privileges if called by the user
|
||||||
|
.I root
|
||||||
|
by switching over to the user
|
||||||
|
.I nobdy
|
||||||
|
in a clean environment.
|
||||||
|
Currently the following programs are supported:
|
||||||
|
.IP \fBls\fP
|
||||||
|
\- list directory contents
|
||||||
|
.IP \fBtrue\fP
|
||||||
|
\- do nothing, successfully
|
||||||
|
.IP \fBfalse\fP
|
||||||
|
\- do nothing, unsuccessfully
|
||||||
|
.IP \fBfind\fP
|
||||||
|
\- search for files in a directory hierarchy
|
||||||
|
.SH NOTES
|
||||||
|
For the program \fBfind\fP the options
|
||||||
|
.IR -exec ,
|
||||||
|
.IR -execdir ,
|
||||||
|
.IR -ok ,
|
||||||
|
.I -okdir
|
||||||
|
are
|
||||||
|
.B not
|
||||||
|
supported.
|
||||||
|
.SH FILES
|
||||||
|
.IR /bin/ls ,
|
||||||
|
.br
|
||||||
|
.IR /bin/true ,
|
||||||
|
.br
|
||||||
|
.IR /bin/false ,
|
||||||
|
.br
|
||||||
|
.I /usr/bin/find
|
||||||
|
.SH AUTHOR
|
||||||
|
2010 Werner Fink
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR ls (1),
|
||||||
|
.BR find (1),
|
||||||
|
.BR su (1),
|
||||||
|
.BR sudo (8).
|
180
nobody.c
Normal file
180
nobody.c
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
/*
|
||||||
|
* Nobody For user root run a specific program as user nobody
|
||||||
|
*
|
||||||
|
* Usage: nobody [ls|find|false|true]
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 Werner Fink
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* 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 should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include <grp.h>
|
||||||
|
#include <pwd.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
extern char **environ;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This list is used to authenticate the program running.
|
||||||
|
* It is fixed at compile time to avoid a full class of
|
||||||
|
* dangers ...
|
||||||
|
*/
|
||||||
|
static struct {
|
||||||
|
const char *prog;
|
||||||
|
const char *run;
|
||||||
|
} *lp, list[] =
|
||||||
|
{ /* prog run */
|
||||||
|
{ "ls", "/bin/ls" },
|
||||||
|
{ "true", "/bin/true" },
|
||||||
|
{ "false", "/bin/false" },
|
||||||
|
{ "find", "/usr/bin/find" },
|
||||||
|
#ifdef DEBUG
|
||||||
|
{ "id", "/usr/bin/id" },
|
||||||
|
{ "printenv", "/usr/bin/printenv" },
|
||||||
|
#endif
|
||||||
|
{ 0, 0, }};
|
||||||
|
|
||||||
|
static struct {
|
||||||
|
const char *name;
|
||||||
|
const char *value;
|
||||||
|
} *ep, envp[] =
|
||||||
|
{ { "TERM", 0 },
|
||||||
|
{ "PATH", "/bin:/usr/bin" },
|
||||||
|
{ "POSIXLY_CORRECT",0 },
|
||||||
|
{ "NLSPATH", 0 },
|
||||||
|
{ "LANG", 0 },
|
||||||
|
{ "LC_ALL", 0 },
|
||||||
|
{ "LC_CTYPE", 0 },
|
||||||
|
{ "LC_COLLATE", 0 },
|
||||||
|
{ "LC_MESSAGES", 0 },
|
||||||
|
{ "COLUMNS", 0 },
|
||||||
|
{ "TABSIZE", 0 },
|
||||||
|
{ "TIME_STYLE", 0 },
|
||||||
|
{ "LS_COLORS", 0 },
|
||||||
|
{ "LS_BLOCK_SIZE", 0 },
|
||||||
|
{ "BLOCK_SIZE", 0 },
|
||||||
|
{ "BLOCKSIZE", 0 },
|
||||||
|
{ 0, 0 }};
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
char *program_name;
|
||||||
|
struct passwd *pwd;
|
||||||
|
uid_t ruid = getuid();
|
||||||
|
uid_t euid = geteuid();
|
||||||
|
gid_t rgid = getgid();
|
||||||
|
|
||||||
|
if (argc > 1)
|
||||||
|
program_name = argv[1];
|
||||||
|
else
|
||||||
|
program_name = "true";
|
||||||
|
argv++;
|
||||||
|
argc--;
|
||||||
|
|
||||||
|
if (*program_name == '/') {
|
||||||
|
for (lp = list; lp->run && strcmp(program_name, lp->run ); lp++) ;
|
||||||
|
} else {
|
||||||
|
for (lp = list; lp->prog && strcmp(program_name, lp->prog); lp++) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!lp->prog) {
|
||||||
|
errno = EBADRQC;
|
||||||
|
fprintf(stderr, "nobody: Usage:\n");
|
||||||
|
fprintf(stderr, " nobody [");
|
||||||
|
for (lp = list; lp->prog; lp++)
|
||||||
|
fprintf(stderr, "%s%c", lp->prog, (lp+1)->prog ? '|' : '\0');
|
||||||
|
fprintf(stderr, "]\n");
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ruid == 0 || euid == 0) {
|
||||||
|
int initgrp = 0;
|
||||||
|
|
||||||
|
if ((pwd = getpwnam("nobody")) == (struct passwd*)0)
|
||||||
|
goto err;
|
||||||
|
|
||||||
|
if (ruid == 0) {
|
||||||
|
initgrp = 1;
|
||||||
|
ruid = pwd->pw_uid;
|
||||||
|
rgid = pwd->pw_gid;
|
||||||
|
} else {
|
||||||
|
pwd->pw_uid = ruid;
|
||||||
|
pwd->pw_gid = rgid;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (setregid(rgid, pwd->pw_gid))
|
||||||
|
goto err;
|
||||||
|
if (initgrp && initgroups(pwd->pw_name, rgid))
|
||||||
|
goto err;
|
||||||
|
if (setreuid(ruid, pwd->pw_uid))
|
||||||
|
goto err;
|
||||||
|
|
||||||
|
if (initgrp) {
|
||||||
|
|
||||||
|
for (ep = envp; ep->name; ep++) {
|
||||||
|
if (ep->value)
|
||||||
|
continue;
|
||||||
|
ep->value = getenv(ep->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
clearenv();
|
||||||
|
|
||||||
|
if (setenv("HOME", pwd->pw_dir, 1) < 0)
|
||||||
|
goto err;
|
||||||
|
if (setenv("USER", pwd->pw_name, 1) < 0)
|
||||||
|
goto err;
|
||||||
|
if (setenv("LOGNAME", pwd->pw_name, 1) < 0)
|
||||||
|
goto err;
|
||||||
|
if (setenv("GROUP", pwd->pw_name, 1) < 0)
|
||||||
|
goto err;
|
||||||
|
if (setenv("SHELL", pwd->pw_shell, 1) < 0)
|
||||||
|
goto err;
|
||||||
|
|
||||||
|
for (ep = envp; ep->name; ep++) {
|
||||||
|
if (!ep->value)
|
||||||
|
continue;
|
||||||
|
setenv(ep->name, ep->value, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strcmp(lp->prog, "find") == 0) {
|
||||||
|
int n;
|
||||||
|
for (n = 0; n < argc; n++) {
|
||||||
|
if (!argv[n] || *argv[n] == '\0')
|
||||||
|
continue;
|
||||||
|
if (strncmp(argv[n], "-exec", 5) == 0) {
|
||||||
|
errno = ENOTSUP;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
if (strncmp(argv[n], "-ok", 3) == 0) {
|
||||||
|
errno = ENOTSUP;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
execve(lp->run, argv, environ);
|
||||||
|
err:
|
||||||
|
fprintf(stderr, "nobody: ");
|
||||||
|
perror(program_name);
|
||||||
|
return 1;
|
||||||
|
}
|
12
rc.config.texlive
Normal file
12
rc.config.texlive
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
## Path: Applications/TeX
|
||||||
|
## Description:
|
||||||
|
## Type: yesno
|
||||||
|
## Default: no
|
||||||
|
## Command:
|
||||||
|
#
|
||||||
|
# The automatical font generation of the TeX/LaTeX systems do
|
||||||
|
# locate the bitmap font into the directory /var/cache/fonts/.
|
||||||
|
# If CLEAR_TEXMF_FONTS is set to "yes" then this directory
|
||||||
|
# will be cleared from fonts not used in the last 20 days.
|
||||||
|
#
|
||||||
|
CLEAR_TEXMF_FONTS="no"
|
3
scheme-basic.tar.xz
Normal file
3
scheme-basic.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:17a6bc72c3ec6bb503f307217936964391c4c3752bd009b0eb2b38f1c1304aec
|
||||||
|
size 440
|
3
scheme-context.tar.xz
Normal file
3
scheme-context.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4e8f952f5f508e92c71d944b50c4bdedfcc1282476a08711450e9125a578a0f4
|
||||||
|
size 388
|
3
scheme-full.tar.xz
Normal file
3
scheme-full.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ab71fad5f7faf7ab9b511b4deeaa972120d877091e655bbf8ced0d0a04234958
|
||||||
|
size 780
|
3
scheme-gust.tar.xz
Normal file
3
scheme-gust.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ec12ebb635fc6fa558e20633f477c269510ad6e503198c971207feb0c294dadf
|
||||||
|
size 624
|
3
scheme-medium.tar.xz
Normal file
3
scheme-medium.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:63e7459c12cdc2c802bb86f28d0fb07d7838e1da4e62ecbcdb59aafbff82b38a
|
||||||
|
size 552
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user