Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2:PowerPC
texlive-bin
do.mklists
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File do.mklists of Package texlive-bin
#!/bin/bash -e # # Generate lists from full texlive tree # # Author: Werner Fink <werner@suse.de> LC_CTYPE=POSIX LC_COLLATE=POSIX export LC_CTYPE LC_COLLATE : ${ROOT:=${RPM_BUILD_ROOT}} : ${ARCH:=${BINARY}} : ${TMPDIR:=/var/tmp} if test ! -d ${TMPDIR} ; then mkdir -m 1755 ${TMPDIR} fi return=0 basedb="" createit="" finalize="" binary="" while getopts ":b:cfa" y ; do case $y in b) basedb=$OPTARG ;; c) createit=yes ;; f) finalize=yes ;; a) binary=yes ;; *) echo ${0##*/}: Unknown parameter 1>&2 exit 1 esac done if test -z "$basedb" ; then echo ${0##*/}: No main data base provided 1>&2 exit 1 fi basedb="${TMPDIR}/${basedb}" rest="${basedb}-rest" if test -n "$createit" -a "$createit" = "yes" ; then set -o noclobber set +o noglob exe="\./usr/\(\(\|\(lib\|share\)/texmf/\)bin/\(\|${ARCH}/\)[^/]*\|\(lib/\|lib64/\).*\.\(so\(\.[\.0-9]\+\)?\|l?a\)\)\$" rm -f $basedb $rest if test -n "$ROOT" -a -d "$ROOT" ; then pushd "$ROOT" find \( \( -not -type d \) -a -regex "$exe" -exec bash do.exec '{}' \; \) -o \ \( \( \( -not -type d \) -a \( -not -type l \) \) -printf '%p\n' \) -o \ \( -type d -printf '%p/\n' \) -o \( -type l -printf '%p\n' \) \ | sed 's@^\.@@' | sort -k 2 -t / > $basedb return=$? popd else find /etc/texmf /usr/lib/texmf /usr/share/texmf /var/cache/texmf /var/lib/texmf \ \( \( -not -type d \) -a -regex "$exe" -exec bash do.exec '{}' \; \) -o \ \( \( \( -not -type d \) -a \( -not -type l \) \) -printf '%p\n' \) -o \ \( -type d -printf '%p/\n' \) -o \( -type l -printf '%p\n' \) \ | sort -k 2 -t / > $basedb return=$? fi unset exe if test -s $basedb ; then grep -vE "^(/(|sbin/|sbin/conf.d/)|\ /etc/(|cron.daily/|permissions.d/|profile.d/|skel/)|\ /usr/X11R6/(|bin/|include/|lib/(|X11/(|app-defaults/)))|\ /usr/(|bin/|include/|sbin/|share/(|X11/(|app-defaults/)|doc/(|packages/)|info/|man/(|man[0-9]/))|lib/|lib64/)|\ /var/(|adm/(|fillup-templates/)|cache/(|fonts/)|lib/))\$" < $basedb > $rest else false fi exit 0 fi if test ! -s "$basedb" ; then echo ${0##*/}: data base $basedb does not exist 1>&2 exit 1 fi if test -n "$finalize" -a "$finalize" = "yes" ; then set -o noclobber set +o noglob for pkg in ${basedb}-* ; do test "$pkg" -ef "$rest" && continue || true tmp=${pkg}.tmp case "$pkg" in *-bin-base) BINDIR="s@^(/usr/lib/texmf(|/bin(|/$ARCH)))/\$@%isbin %dir \1@g" BINDIR="${BINDIR};s@^(/var/lib/texmf)/\$@%isbin %dir %attr(1755, root, root) \1@g" BINDIR="${BINDIR};s@^(/var/lib/texmf/link(|/$ARCH))/\$@%isbin %dir \1@g" ;; *-base) BINDIR="s@^(/usr/lib/texmf/bin/$ARCH)/\$@%isbin %dir \1@g" BINDIR="${BINDIR};s@^(/var/lib/texmf/link(|/$ARCH))/\$@%isbin %dir \1@g" ;; esac (echo '%defattr(-, root, root)' sed -r -e "s@^(/usr/(lib|share)(|/texmf(/doc)?)(/info|/man(|/man[0-9])))/\$@%docdir \1\n%nobin %dir \1@g" \ -e "s@^(/usr/share/doc/packages\/.*)/\$@%docdir \1\n%nobin %dir \1@g" \ -e "s@^(/usr/(lib|share)(|/texmf(/doc)?)(/info|/man(|/man[0-9]))/[^/]+)\$@%doc \1@g" \ -e "s@^([^%]etc/.*/ls-R)\$@%verify(not md5 mtime size) \1@" \ -e "s@^([^%]var/.*/ls-R)\$@%attr(0666, root, root) %verify(not md5 mtime size) \1@" \ -e "s@^([^%]usr/.*/ls-R)\$@%verify(user group link) \1@" \ -e "s@^([^%]etc/.*[^/]+)\$@%config %verify(not md5 mtime size) \1@g" \ -e "$BINDIR" \ -e "s@^(/var/lib/texmf/fonts/map/.*\.map)\$@%verify(not link md5 mtime size) \1@g" \ -e "s@^(/var/lib/texmf/web2c/.*\.(fmt|mem|base))\$@%verify(not md5 mtime size) \1@g" \ -e "s@^(/var/lib/texmf(|/dist|/main|/fonts))/\$@%dir %attr(1755, root, root) \1@g" \ -e "s@^(/var/lib/texmf/fonts/(dvipdfm|dvips|pdftex))/\$@%dir %attr(1755, root, root) \1@g" \ -e "s@^(/var/cache/texmf)/\$@%dir %attr(1755, root, root) \1@g" \ -e "s@^(/var/cache/texmf/fonts(|/pk|/source|/tfm))/\$@%dir %attr(1777, root, root) \1@g" \ -e "s@^(/usr/bin/[^/]*[^\*])\*\$@%isbin \1@g" \ -e "s@^([^%].*)/\$@%dir \1@g" \ -e "\@^%(no|is)bin@! s@^(.*[^\*])\$@%nobin \1@g" \ -e "\@^%(no|is)bin@! s@^(.*)\*\$@%isbin \1@g" ) < ${pkg} > $tmp for bin in $(sed -rn '\@^%isbin[[:blank:]]+/usr/bin/@{ s@^%isbin[[:blank:]]+@@p; }' $tmp) ; do lnk=$(readlink ${ROOT}${bin}) case "$lnk" in */noarch/*) sed -ri "\@^%isbin[[:blank:]]+${bin}\$@{ s@^%isbin@%nobin@; }" $tmp ;; esac done mv $tmp $pkg done exit $return fi if test -n "$binary" -a "$binary" = "yes" ; then set -o noclobber set +o noglob for pkg in ${basedb}-* ; do test "$pkg" -ef "$rest" && continue || true dir=${pkg%/*} bin=${pkg##*/} bin=${dir}/${bin/texlive/texlive-bin} (echo '%defattr(-, root, root)' sed -rn '/^%isbin/{ s@%isbin[[:blank:]]+@@p; }') < $pkg > $bin done exit $return fi set -o noclobber set -o noglob while read -r pkg pat typ ; do case "$pkg" in \#*|"") continue ;; esac pkg=${basedb}-${pkg} test -n "$typ" && pkg=${pkg}-${typ} tmp=${pkg}.tmp if test -e $pkg ; then sort -k 2 -t / -m $pkg <(exec grep -E "$pat" $rest) > $tmp mv $tmp $pkg else sort -k 2 -t / < <(exec grep -E "$pat" $rest) > $pkg fi if grep -vFf $pkg $rest > $tmp ; then mv $tmp $rest else mv $tmp $rest fi done
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor