SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Whats the problem with tex / latex? I wrote my thesis and I din't find any major problems that texlive would solve (one year only in TeX, don't shoot me). I think that xetex is more usefull and not big as texlive. (still trying to work on it)
Sorry its your script that i used and didnt work.
Your script is in slackbuilds? I didnt find it there.
Please post what mistakes you get? Don't forget to set the environmental variables so that they suit your system. I have set them for my system. You will have to mount the .iso file somewhere on your system, as shown in the earlier posts. Here it is mounted on /mnt/cdrw. You could use the following, slightly modified version of the script (please make sure you understand what each command does):
Code:
#!/bin/sh
## Written by marto
set -e
PRGNAM=texlive
VERSION=2008.08.22
PKG_VERSION=$VERSION
ARCH=${ARCH:-i386}
BUILD=${BUILD:-1}
TAG=${TAG:-_mai}
CWD=$(pwd)
PKG="/tmp/texlive"
OUTPUT=${OUTPUT:-/tmp}
rm -rf $PKG
mkdir -p $PKG $OUTPUT
export TEXLIVE_INSTALL_PREFIX=/usr/share
export TEXLIVE_INSTALL_TEXDIR=/usr/share/texmf
export TEXLIVE_INSTALL_TEXMFLOCAL=/usr/share/texmf-local
export TEXLIVE_INSTALL_TEXMFSYSVAR=/usr/share/texmf-var
#the next line suggests that the iso image is already mounted on /mnt/cdrw
/mnt/cdrw/install-tl || exit 1
cd /usr/share || exit 1
echo "Adjusting directory structure:"
mv 2008 texmf || exit 1
mv texmf/bin/i386-linux/* texmf/bin || exit 1
rmdir texmf/bin/i386-linux || exit 1
mv texmf/texmf/* texmf || exit 1
rmdir texmf/texmf || exit 1
mv texmf/texmf-dist . || exit 1
mv texmf/texmf-doc . || exit 1
PATH="$PATH:/usr/share/texmf/bin"
if [ ! -r /usr/share/texmf/bin/latex ]; then
texconfig-sys init
fi
texconfig-sys confall
texconfig-sys dvips paper letter
texconfig-sys xdvi paper us
texconfig-sys mode ljfour
texconfig-sys dvips paper a4
texconfig-sys xdvi paper a4
texconfig-sys dvips printcmd -
texconfig-sys dvips add bjc600
texconfig-sys dvips add stcolor
#texconfig-sys dvips add deskjet
texconfig-sys dvips add ljet4
texconfig-sys dvips -P bjc600 mode canonbjc
texconfig-sys dvips -P stcolor mode epstylus
texconfig-sys dvips -P deskjet mode deskjet
texconfig-sys dvips -P ljet4 mode ljfour
texconfig-sys font ro
texconfig-sys rehash
# Discard local configurations:
if [ -e /root/.texmf-config ]; then
mv /root/.texmf-config /root/.texmf-config-$(mcookie)
echo "/root/.texmf-config moved out of the way... you may wish"
echo "to purge any /root/.texmf-config-* directories if the"
echo "cruft heap gets too large."
fi
cd $PKG
mkdir -p usr/share
echo "Moving files from system directories into package texlive structure:"
mv /usr/share/texmf usr/share
mv /usr/share/texmf-var usr/share
mv /usr/share/texmf-dist usr/share
mv /usr/share/texmf-local usr/share
mv /usr/share/texmf-doc usr/share
mv /usr/share/texmf-config usr/share
echo "Adjusting permissions:"
chown -R root:root .
find . -type f -perm 666 -exec chmod 644 {} \;
chmod 0755 usr/share/texmf-var
find usr/share/texmf-var -type f -exec chmod 0644 {} \;
find usr/share/texmf-var -type d -exec chmod 0755 {} \;
mkdir -p etc/profile.d
cd etc/profile.d
cat > texlive.sh << EOF
PATH="$PATH:/usr/share/texmf/bin"
MANPATH="$MANPATH:/usr/share/texmf/doc/man"
INFOPATH="$INFOPATH:/usr/share/texmf/doc/info"
EOF
cat > texlive.csh << EOF
setenv PATH $PATH:/usr/share/texmf/bin
setenv MANPATH $MANPATH:/usr/share/texmf/doc/man
setenv INFOPATH $INFOPATH:/usr/share/texmf/doc/info
EOF
chmod 0755 texlive.*sh
echo "Stripping everything:"
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
# Compress man pages:
( cd $PKG/usr/share/texmf/doc/man
find . -type f -exec gzip -9 {} \;
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
)
# Compress info pages:
( cd $PKG/usr/share/texmf/doc/info
rm -f dir
gzip -9 *
)
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cd $PKG/usr/doc
ln -sf /usr/share/texmf/doc $PRGNAM-$VERSION
cp $CWD/$PRGNAM.SlackBuild $PRGNAM-$VERSION
chmod 0644 $PRGNAM-$VERSION/$PRGNAM.SlackBuild
# Install script:
mkdir -p $PKG/install
cd $PKG/install
cat > slack-desc << EOF
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
texlive: texlive (the TeX Live distribution)
texlive:
texlive: TeX Live is an easy way to get up and running with TeX. It provides a
texlive: comprehensive TeX system which includes all the major TeX-related
texlive: programs, macro packages, and fonts that are free software, including
texlive: support for many languages around the world. This package uses the
texlive: "TeX Live full scheme".
texlive:
texlive: Learn more about TeX Live at:
texlive: http://www.tug.org/texlive/
texlive:
EOF
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKG_VERSION-$ARCH-$BUILD$TAG.tgz
The package will be placed in /tmp. I have not submitted the script to slackbuilds.org because I still do not think it is of the right quality for there. The purpose of this thread is to improve the script. Any constructive suggestions are welcome.
I changed some the directories path and i could build the package.
This is my build script. The changes are in bold:
texlive.SlackBuild:
Code:
#!/bin/sh
## Written by marto
set -e
PRGNAM=texlive
VERSION=2008.08.22
PKG_VERSION=$VERSION
ARCH=${ARCH:-i386}
BUILD=${BUILD:-1}
TAG=${TAG:-_mai}
CWD=$(pwd)
PKG="/tmp/texlive"
OUTPUT=${OUTPUT:-/tmp}
rm -rf $PKG
mkdir -p $PKG $OUTPUT
export TEXLIVE_INSTALL_PREFIX=/usr/share
export TEXLIVE_INSTALL_TEXDIR=/usr/share/texmf
export TEXLIVE_INSTALL_TEXMFLOCAL=/usr/share/texmf-local
export TEXLIVE_INSTALL_TEXMFSYSVAR=/usr/share/texmf-var
#the next line suggests that the iso image is already mounted on /mnt/cdrw
/mnt/dvd/install-tl || exit 1
cd /usr/share || exit 1
echo "Adjusting directory structure:"
mv 2008/* texmf || exit 1
mv texmf/bin/i386-linux/* texmf/bin || exit 1
rmdir texmf/bin/i386-linux || exit 1
mv texmf/texmf/* texmf || exit 1
rmdir texmf/texmf || exit 1
mv texmf/texmf-dist . || exit 1
mv texmf/texmf-doc . || exit 1
PATH="$PATH:/usr/share/texmf/bin"
if [ ! -r /usr/share/texmf/bin/latex ]; then
texconfig-sys init
fi
texconfig-sys confall
texconfig-sys dvips paper letter
texconfig-sys xdvi paper us
texconfig-sys mode ljfour
texconfig-sys dvips paper a4
texconfig-sys xdvi paper a4
texconfig-sys dvips printcmd -
texconfig-sys dvips add bjc600
texconfig-sys dvips add stcolor
#texconfig-sys dvips add deskjet
texconfig-sys dvips add ljet4
texconfig-sys dvips -P bjc600 mode canonbjc
texconfig-sys dvips -P stcolor mode epstylus
texconfig-sys dvips -P deskjet mode deskjet
texconfig-sys dvips -P ljet4 mode ljfour
texconfig-sys font ro
texconfig-sys rehash
# Discard local configurations:
if [ -e /root/.texmf-config ]; then
mv /root/.texmf-config /root/.texmf-config-$(mcookie)
echo "/root/.texmf-config moved out of the way... you may wish"
echo "to purge any /root/.texmf-config-* directories if the"
echo "cruft heap gets too large."
fi
cd $PKG
mkdir -p usr/share
echo "Moving files from system directories into package texlive structure:"
mv /usr/share/texmf usr/share
mv /usr/share/texmf-var usr/share
mv /usr/share/texmf-dist usr/share
mv /usr/share/texmf-local usr/share
mv /usr/share/texmf-doc usr/share
mv /usr/share/texmf-config usr/share
echo "Adjusting permissions:"
chown -R root:root .
find . -type f -perm 666 -exec chmod 644 {} \;
chmod 0755 usr/share/texmf-var
find usr/share/texmf-var -type f -exec chmod 0644 {} \;
find usr/share/texmf-var -type d -exec chmod 0755 {} \;
mkdir -p etc/profile.d
cd etc/profile.d
cat > texlive.sh << EOF
PATH="$PATH:/usr/share/texmf/bin"
MANPATH="$MANPATH:/usr/share/texmf/doc/man"
INFOPATH="$INFOPATH:/usr/share/texmf/doc/info"
EOF
cat > texlive.csh << EOF
setenv PATH $PATH:/usr/share/texmf/bin
setenv MANPATH $MANPATH:/usr/share/texmf/doc/man
setenv INFOPATH $INFOPATH:/usr/share/texmf/doc/info
EOF
chmod 0755 texlive.*sh
echo "Stripping everything:"
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip
--strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip
--strip-unneeded 2> /dev/null
)
# Compress man pages:
( cd $PKG/usr/share/texmf/doc/man
find . -type f -exec gzip -9 {} \;
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
)
# Compress info pages:
( cd $PKG/usr/share/texmf/doc/info
rm -f dir
gzip -9 *
)
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cd $PKG/usr/doc
ln -sf /usr/share/texmf/doc $PRGNAM-$VERSION
cp $CWD/$PRGNAM.SlackBuild $PRGNAM-$VERSION
chmod 0644 $PRGNAM-$VERSION/$PRGNAM.SlackBuild
# Install script:
mkdir -p $PKG/install
cd $PKG/install
cat > slack-desc << EOF
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
texlive: texlive (the TeX Live distribution)
texlive:
texlive: TeX Live is an easy way to get up and running with TeX. It provides a
texlive: comprehensive TeX system which includes all the major TeX-related
texlive: programs, macro packages, and fonts that are free software, including
texlive: support for many languages around the world. This package uses the
texlive: "TeX Live full scheme".
texlive:
texlive: Learn more about TeX Live at:
texlive: http://www.tug.org/texlive/
texlive:
EOF
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKG_VERSION-$ARCH-$BUILD$TAG.tgz
After building it, i installed it in two different machines and i have texlive in both now.
Thanks!
Laodiceans,
of all the lines that are in bold in your post 23, you have only changed the line:
Code:
mv 2008 texmf || exit 1
to:
Code:
mv 2008/* texmf || exit 1
This will leave an empty 2008 directory in your package. What error did you get with the original version?
Sahko,
the size of the texlive2008 package depends on what you have chosen to install. I have the option to make a choice between a full install and trimmed installs. The full-built package is 1040996 K. I do not know how big the stripped versions end up. Probably someone else who has chosen other than the full install could help.
Thank you for your suggestion. The script is currently awaiting approval at slackbuilds.org
I have a doubt since you have posted your SlackBuild into slackbuilds.org and want it a wider use:
How do you handle TeXLive self-contained package manager( http://www.tug.org/texlive/tlmgr.html )? Since using it to update your TeXLive may add or remove files, so when you removepkg may cause a oop. How do you handle it?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.