You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
5.0 KiB
123 lines
5.0 KiB
#!/bin/sh |
|
# |
|
# This script checks out upstream archives from CTAN, removes unneeded files, |
|
# expands files required for dependency resolution by tl2rpm. |
|
# Written by Jindrich Novy (novyjindrich@gmail.com). |
|
# |
|
echo "Syncing with remote server..." |
|
[ -e texlive/archive/asana-math.tar.xz ] && mv texlive/archive/asana-math.tar.xz texlive/archive/Asana-Math.tar.xz |
|
[ -e texlive/archive/asana-math.doc.tar.xz ] && mv texlive/archive/asana-math.doc.tar.xz texlive/archive/Asana-Math.doc.tar.xz |
|
[ -e texlive/archive/lineara.tar.xz ] && mv texlive/archive/lineara.tar.xz texlive/archive/linearA.tar.xz |
|
[ -e texlive/archive/lineara.doc.tar.xz ] && mv texlive/archive/lineara.doc.tar.xz texlive/archive/linearA.doc.tar.xz |
|
[ -e texlive/archive/lineara.source.tar.xz ] && mv texlive/archive/lineara.source.tar.xz texlive/archive/linearA.source.tar.xz |
|
[ -e texlive/archive/musixtex-fnts.tar.xz ] && mv texlive/archive/musixtex-fnts.tar.xz texlive/archive/musixtex-fonts.tar.xz |
|
[ -e texlive/archive/musixtex-fnts.doc.tar.xz ] && mv texlive/archive/musixtex-fnts.doc.tar.xz texlive/archive/musixtex-fonts.doc.tar.xz |
|
#rsync -av --delete ftp.cstug.cz::pub/tex/local/tlpretest/archive texlive --delete-excluded \ |
|
#rsync -av --delete rsync://ftp.ctex.org/mirrors/texlive/tlpretest/ texlive --delete-excluded \ |
|
#rsync -av --delete ftp.cstug.cz::pub/tex/local/tlpretest/archive texlive --delete-excluded \ |
|
#rsync -av --delete rsync://ftp.fernuni-hagen.de/ctan/systems/texlive/tlnet/archive texlive --delete-excluded \ |
|
rsync -av --delete rsync://rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/archive texlive --delete-excluded \ |
|
--exclude '*mactex*' \ |
|
--exclude '*.win32*' \ |
|
--exclude '*.i386-freebsd*' \ |
|
--exclude '*.i386-cygwin*' \ |
|
--exclude '*.i386-solaris*' \ |
|
--exclude '*.i386-netbsd*' \ |
|
--exclude '*.i386-kfreebsd*' \ |
|
--exclude '*.armel-linux*' \ |
|
--exclude '*.mipsel-linux*' \ |
|
--exclude '*.mips-irix*' \ |
|
--exclude '*.powerpc-*' \ |
|
--exclude '*.sparc-*' \ |
|
--exclude '*.amd64-*' \ |
|
--exclude '*.alpha-*' \ |
|
--exclude '*.x86_64-*' \ |
|
--exclude '*.universal-darwin*' \ |
|
--exclude '*.armhf-linux*' \ |
|
--exclude '*.exe.*' \ |
|
--exclude '*.exe' \ |
|
--exclude 'install-tl*' \ |
|
--exclude 'breakcites*' \ |
|
--exclude 'psutils*' \ |
|
--exclude 'rst.*' \ |
|
--exclude 't1utils*' \ |
|
--exclude 'xindy*' \ |
|
--exclude 'asymptote*' \ |
|
--exclude 'tlpkg/*' \ |
|
--exclude 'update-tlmgr*' | tee /tmp/rsynclogCTAN |
|
EXIT=$? |
|
[ -e texlive/archive/Asana-Math.tar.xz ] && mv texlive/archive/Asana-Math.tar.xz texlive/archive/asana-math.tar.xz |
|
[ -e texlive/archive/Asana-Math.doc.tar.xz ] && mv texlive/archive/Asana-Math.doc.tar.xz texlive/archive/asana-math.doc.tar.xz |
|
[ -e texlive/archive/linearA.tar.xz ] && mv texlive/archive/linearA.tar.xz texlive/archive/lineara.tar.xz |
|
[ -e texlive/archive/linearA.doc.tar.xz ] && mv texlive/archive/linearA.doc.tar.xz texlive/archive/lineara.doc.tar.xz |
|
[ -e texlive/archive/linearA.source.tar.xz ] && mv texlive/archive/linearA.source.tar.xz texlive/archive/lineara.source.tar.xz |
|
[ -e texlive/archive/musixtex-fonts.tar.xz ] && mv texlive/archive/musixtex-fonts.tar.xz texlive/archive/musixtex-fnts.tar.xz |
|
[ -e texlive/archive/musixtex-fonts.doc.tar.xz ] && mv texlive/archive/musixtex-fonts.doc.tar.xz texlive/archive/musixtex-fnts.doc.tar.xz |
|
UPDATES=`grep 'tar.xz$' /tmp/rsynclogCTAN` |
|
if [ "$UPDATES" == "" ]; then |
|
rm -f /tmp/rsynclogCTAN |
|
exit 0 |
|
else |
|
UPDATES=`grep 'tar.xz$' /tmp/rsynclogCTAN | grep -v 'deleting'` |
|
for i in $UPDATES; do |
|
echo "+ $i" |
|
done |
|
fi |
|
rm -f /tmp/rsynclogCTAN |
|
[ $EXIT != 0 ] && exit 1 |
|
|
|
echo "Creating symlinks..." |
|
for i in `ls texlive/archive`; do |
|
rm -f ~/rpmbuild/SOURCES/$i |
|
done |
|
RPMBUILDDIR=`rpm --eval "%_topdir"` |
|
ACTDIR=`pwd` |
|
for i in `ls texlive/archive`; do |
|
ln -s $ACTDIR/texlive/archive/$i $RPMBUILDDIR/SOURCES/$i |
|
done |
|
|
|
echo "Expanding..." |
|
rm -rf texlive.expanded.old |
|
if [ -d texlive.expanded ]; then |
|
mv texlive.expanded texlive.expanded.old |
|
else |
|
mkdir -p texlive.expanded.old |
|
fi |
|
mkdir texlive.expanded |
|
for i in texlive/archive/*.tar.xz; do |
|
tar xf $i -C texlive.expanded '*.sty' '*.tex' '*.cls' '*.ldf' '*.bbx' '*.cbx' '*.def' '*.tlpobj' '*.clo' '*.bug' '*.bg2' '*i386-linux*' '*texmf/scripts*' '*texmf-dist/scripts*' > /dev/null 2>&1 |
|
done |
|
diff -ru texlive.expanded.old texlive.expanded > archive.diff |
|
|
|
echo "Moving..." |
|
pushd texlive.expanded |
|
cp -pr doc source tex texmf-dist |
|
rm -rf doc source tex |
|
popd |
|
|
|
echo "Generating tlpdb..." |
|
pushd ./texlive.expanded/tlpkg/tlpobj |
|
OUT=../../../texlive.tlpdb |
|
mv $OUT $OUT.bck |
|
for i in `ls *.tlpobj | grep -v '\.i386-linux.tlpobj$' | grep -v '\.doc.tlpobj$' | grep -v '\.source.tlpobj$'`; do |
|
NAME=`echo $i | sed 's/.tlpobj$//g'` |
|
grep -v '^catalogue-' $i >> $OUT |
|
if [ -e $NAME.doc.tlpobj ]; then |
|
grep '^docfiles' $NAME.doc.tlpobj >> $OUT |
|
grep '^ ' $NAME.doc.tlpobj >> $OUT |
|
fi |
|
if [ -e $NAME.source.tlpobj ]; then |
|
grep '^srcfiles' $NAME.source.tlpobj >> $OUT |
|
grep '^ ' $NAME.source.tlpobj >> $OUT |
|
fi |
|
grep '^catalogue-' $i >> $OUT |
|
echo >> $OUT |
|
if [ -e $NAME.i386-linux.tlpobj ]; then |
|
cat $NAME.i386-linux.tlpobj >> $OUT |
|
echo >> $OUT |
|
fi |
|
done |
|
popd |
|
patch texlive.tlpdb < tlpdb.patch |
|
[ "$?" = "1" ] && exit 1 |
|
diff -u texlive.tlpdb.orig texlive.tlpdb > tlpdb.patch
|
|
|