You are not logged in.

#126 2007-07-27 22:26:43

veek
Member
Registered: 2006-03-10
Posts: 167

Re: replace TeTex package by TeX Live

I just finished an electromagnetics paper using LyX and it made my life so much easier! I had a ton of complex derivations to enter.

I learned about it after seeing this thread and looking up different methods of using LaTeX to write papers. LyX really does a nice job of structuring a document, and managing citations, references, and figures. Plus the equation editor is fantastic because it lets you directly enter LaTeX commands which get converted to their actual representation in real time (\sqrt gets converted to the root symbol as you type). Makes entering equations sooo much easier, and you can instantly see if you made errors.

The LyX paradigm (did I really just use that term?), which is really inherited from LaTeX and TeX, is that you worry about content and LyX will handle the typesetting (via LaTeX). Boy is that nice, really speeds up writing the paper when you don't have to worry about spacing, font sizes, etc. You basically choose a layout type and just go. Plus it automatically generates a table of contentes, and dynamically adjusts references and section numbering as the paper grows and shrinks. Dealing with figures is a tad involved, but looking at the documentation makes it simple.

Eventually I think I'll set up vim with latex suite, but I didn't have enough time. I was able to get oriented in LyX in about an hour or less, and subsequently converted my entire paper, and the end result looks very professional.

Really pleased with the result.   

I didn't really see a problem with the output from tetex, which is what's installed with LyX. Eventually I think I'll replace it with texlive. I actually started, and I compiled texlive-core no problem, but I have to figure out how to get LyX to look in the correct place for the binaries since they get installed to a different location than the ones from tetex.

Appreciate the effort put into developing these PKGBUILDs because it seems like an unbelievable chore.

Offline

#127 2007-07-28 08:20:00

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: replace TeTex package by TeX Live

@Firmicus
Thanks for your kindness, but I am part of the x86_64 unlucky fork. I guess the binary packages are available only for i686 now, am I wrong?
Now I try again and post (some of) the log.
Question, I noticed configure is started with --without-texinfo, but there is a note that sounds like --without-texinfo does not seem to work... Who is right?
Question(2), you do not use --with-cxx-runtime-hack, why?

Edit, here we are:

[...] LAST NO ERROR MESSAGE
srcdir=../../../texk/web2c /bin/sh ../../../texk/web2c/web2c/convert xetex
gcc -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -I../../../texk/web2c/../../libs/teckit/source/Public-headers -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -DXETEX_OTHER -c xetexini.c -o xetexini.o
xetexini.c: In function 'loadfmtfile':
xetexini.c:3788: warning: comparison is always false due to limited range of data type
gcc -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -I../../../texk/web2c/../../libs/teckit/source/Public-headers -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -DXETEX_OTHER -c xetex0.c -o xetex0.o
xetex0.c: In function 'scanexpr':
xetex0.c:11485: warning: comparison is always false due to limited range of data type
gcc -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -I../../../texk/web2c/../../libs/teckit/source/Public-headers -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -DXETEX_OTHER -c xetex1.c -o xetex1.o
gcc -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -I../../../texk/web2c/../../libs/teckit/source/Public-headers -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -DXETEX_OTHER -c xetex2.c -o xetex2.o
test -d xetexdir || mkdir xetexdir
grep '^@d XeTeX_version_string==' ../../../texk/web2c/xetexdir/xetex-new.ch \
      | sed "s/^.*'-//;s/'.*$//" >xetexdir/xetex.version
test -d xetexdir || mkdir xetexdir
sed s/XETEX-VERSION/`cat xetexdir/xetex.version`/ \
      ../../../texk/web2c/xetexdir/xetexextra.in >xetexdir/xetexextra.h
sed s/TEX-OR-MF-OR-MP/xetex/ ../../../texk/web2c/lib/texmfmp.c >xetexextra.c
gcc -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -I../../../texk/web2c/../../libs/teckit/source/Public-headers -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -DXETEX_OTHER -c xetexextra.c -o xetexextra.o
gcc -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -DXETEX_OTHER -c ../../../texk/web2c/xetexdir/trans.c -o trans.o
gcc -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -I../../libs/icu-xetex/common -I../../../texk/web2c/../../libs/icu-xetex/common -I../../../texk/web2c/../../libs/icu-xetex/layout -DLE_USE_CMEMORY -I/usr/include/freetype2 -I/usr/include/freetype2/freetype2 -I../../../texk/web2c/../../libs/teckit/source/Public-headers  -I../../libs/xpdf -I../../libs/xpdf/xpdf -I../../libs/xpdf/goo -I../../libs/xpdf/fofi -I../../../texk/web2c/../../libs/xpdf -I../../../texk/web2c/../../libs/xpdf/xpdf -I../../../texk/web2c/../../libs/xpdf/goo -I../../../texk/web2c/../../libs/xpdf/fofi  -DHAVE_CONFIG_H  -I. -I../../../texk/web2c -I.. -I../../../texk/web2c/..  -I/usr/lib/include -I../../libs/obsdcompat -I../../libs/obsdcompat/.. -I../../../texk/web2c/../../libs/obsdcompat -I../../../texk/web2c/../../libs/obsdcompat/.. -march=x86-64 -mtune=generic -O2 -pipe  -DXETEX_OTHER -c ../../../texk/web2c/xetexdir/XeTeX_ext.c -o XeTeX_ext.o
../../../texk/web2c/xetexdir/XeTeX_ext.c:980: error: conflicting types for 'otfontget'
../../../texk/web2c/xetexdir/XeTeX_ext.h:241: error: previous declaration of 'otfontget' was here
../../../texk/web2c/xetexdir/XeTeX_ext.c:998: error: conflicting types for 'otfontget1'
../../../texk/web2c/xetexdir/XeTeX_ext.h:242: error: previous declaration of 'otfontget1' was here
../../../texk/web2c/xetexdir/XeTeX_ext.c:1016: error: conflicting types for 'otfontget2'
../../../texk/web2c/xetexdir/XeTeX_ext.h:243: error: previous declaration of 'otfontget2' was here
../../../texk/web2c/xetexdir/XeTeX_ext.c:1035: error: conflicting types for 'otfontget3'
../../../texk/web2c/xetexdir/XeTeX_ext.h:244: error: previous declaration of 'otfontget3' was here
make[2]: *** [XeTeX_ext.o] Error 1
make[2]: Leaving directory `/home/ezzetabi/download/newpackages/texlive/texlive-core/src/Work/texk/web2c'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/ezzetabi/download/newpackages/texlive/texlive-core/src/Work/texk'
make: *** [all] Error 1

It really seems a programming error, as someone changed the function implementations and not the prototypes.


Edit 2: if I do not patch xetex everything compiles correctly, here my PKGBUILD
(it is the usual one with the xetex patch commented and --with-cxx-runtime-hack that I still think you should put before moving everything to community).

pkgname=texlive-core
pkgver=2007.4643
pkgrel=1
pkgdesc="TeX Live core distribution"
license=('GPL')
arch=('i686' 'x86_64')
depends=('xorg-server' 't1lib' 'gd')
makedepends=('rsync' 'flex' 'bison')
groups=('texlive-most')
conflicts=('tetex')
provides=('tetex')
url='http://tug.org/texlive/'
source=('texlive-core.paths' 'texlive-core.maps' 'xetex.patch')
backup=(etc/profile.d/texlive.sh opt/texlive/texmf/web2c/texmf.cnf \
    opt/texlive/texmf/web2c/updmap.cfg opt/texlive/texmf/ttf2pk/ttf2pk.cfg \
    opt/texlive/texmf/tex/generic/config/language.dat \
    opt/texlive/texmf/dvips/config/config.ps opt/texlive/texmf/dvipdfm/dvipdfmx.cfg \
    opt/texlive/texmf/xdvi/xdvi.cfg)
install=texlive.install
md5sums=('960894eae8f368f84fd614868f299c63' \
     'a68e8eba5833c64c3157f13055a5abb9' \
     '1960b2469fa162251ff782b71adaf486')

build() {
   cd $startdir
   echo "--> rsyncing the required paths from tug.org server"
   # rsync command to get the right file permissions 
   myrsync="rsync -a --chmod=Dugo-s,Dug=rwx,Do=rx,Fug=rw,Fo=r --progress --exclude=.svn"
   $myrsync tug.org::tldevsrc/Master/source/source.tar.bz2 . || return 1
   $myrsync --exclude=doc/ --delete tug.org::tldevsrc/Master/texmf/ texmf/ || return 1
   # create the missing dir
   install -d -m755 $startdir/texmf/doc/man
   $myrsync --delete tug.org::tldevsrc/Master/texmf/doc/man/ texmf/doc/man/ || return 1
   $myrsync --delete --files-from $pkgname.paths tug.org::tldevsrc/Master/ . || return 1

   echo "--> Copying rsync'ed trees to pkg dir..."
   install -m755 -d $startdir/pkg/opt/texlive || return 1
   find texmf* -type d -exec install -d -m755 $startdir/pkg/opt/texlive/'{}' \; || exit 1
   find texmf* -type f -exec install -m644 '{}' $startdir/pkg/opt/texlive/'{}' \; || exit 1

   # fix updmap.cfg
   sed -i '/^\(Map\|MixedMap\)/d' $startdir/pkg/opt/texlive/texmf/web2c/updmap.cfg
   cat $startdir/texlive-core.maps >> $startdir/pkg/opt/texlive/texmf/web2c/updmap.cfg

   echo "--> Extracting sources..."
   cd $startdir/src
   tar -xjf ../source.tar.bz2 || return 1
   ############################################################################
   # fetch and apply patch for xetex (also pdftex? not yet!)
   # --- the Build tree has not been updated since February it seems...
   # rsync -a --progress --exclude=.svn --delete tug.org::tldevsrc/Build/texk/ texk/
   #svn diff svn://tug.org/texlive/tags/texlive-2007.4633/Build/source \
   #         svn://tug.org/texlive/branches/branch2007/Build/source > xetex.patch
   #patch -p0 <xetex.patch
   ############################################################################
   mkdir Work
   chmod a+x configure || exit 1
   cd Work
   echo "--> Here we go with configure madness..."
   GNUMAKE="make" && export $GNUMAKE
   export MALLOC_CHECK_=0
   ../configure --prefix=/opt/texlive \
       --datadir=$startdir/pkg/opt/texlive \
       --disable-multiplatform \
       --without-dialog --without-texinfo \
       --with-system-zlib --with-system-pnglib \
       --with-system-ncurses --with-system-t1lib \
       --with-system-gd --with-fontconfig=/usr/lib \
       --with-system-freetype2 --with-freetype2-libdir=/usr/lib \
       --with-freetype2-include=/usr/include/freetype2 \
       --with-xdvi-x-toolkit=xaw \
#       --without-xetex \
       --with-cxx-runtime-hack
       # NB --without-texinfo does not seem to work...
       # NB lcdf-typetools could perhaps be packaged separately, 
       #    but then it'd be better to build it with libkpathsea,
       #    which would make texlive or tetex a prerequisite ...
   #fix lcdf-typetools and texi2html Makefiles
   find $startdir/src/Work/utils/lcdf-typetools -name 'Makefile' \
       -exec sed -i~ 's|(datadir)/lcdf|(datadir)/share/lcdf|' {} \;
   sed -i~ 's|(datadir)/texi2html|(datadir)/share/texi2html|' \
       $startdir/src/Work/utils/texi2html/Makefile
   sed -i '/datarootdir =/d' $startdir/src/Work/utils/ps2eps/Makefile
   sed -i 's|datarootdir|prefix|' $startdir/src/Work/utils/ps2eps/Makefile
   #############################################################################
   echo "--> ... and now we build the whole beast"
   make || return 1
   make prefix=$startdir/pkg/opt/texlive texmf=$startdir/pkg/opt/texlive/texmf install
   #############################################################################
   # clean up...
   #   next line: those files are also in base, but "make install" duplicated them here
   rm -f $startdir/pkg/opt/texlive/texmf/bibtex/csf/*.csf  
   rm -rf $startdir/pkg/opt/texlive/texmf/doc/{bg5conv,bibtex8}/
   rm -rf $startdir/pkg/opt/texlive/texmf/{lists,pkg,tpm}
   rm -rf $startdir/pkg/opt/texlive/{info,texinfo}
   rm -f $startdir/pkg/opt/texlive/texmf/dvipdfm/config/config-win32
   rm -f $startdir/pkg/opt/texlive/texmf/texdoctk/texdocrc-win32.defaults
   rm -f $startdir/pkg/opt/texlive/texmf-var/web2c/updmap.log
   rm -f $startdir/pkg/opt/texlive/texmf/web2c/texmf.cnf-4WIN
   rm -rf $startdir/pkg/opt/texlive/texmf-dist/doc/latex/marvosym/mac
   # libtoolslay (necessary?)
   find $startdir/pkg -name '*.la' -exec rm {} \;


   # copy config files to texmf-var
   mkdir -p $startdir/pkg/opt/texlive/texmf-var/web2c
   mkdir -p $startdir/pkg/opt/texlive/texmf-var/tex/plain/config
   mkdir -p $startdir/pkg/opt/texlive/texmf-var/dvips/config
   mkdir -p $startdir/pkg/opt/texlive/texmf-var/dvipdfm/config
   mkdir -p $startdir/pkg/opt/texlive/texmf-var/tex/generic/config
   mkdir -p $startdir/pkg/opt/texlive/texmf-var/tex/context/config
   mkdir -p $startdir/pkg/opt/texlive/texmf-var/xdvi
   cp -a $startdir/pkg/opt/texlive/texmf/web2c/mktex.cnf \
       $startdir/pkg/opt/texlive/texmf-var/web2c/mktex.cnf
   cp -a $startdir/pkg/opt/texlive/texmf-dist/tex/plain/config/language.def \
       $startdir/pkg/opt/texlive/texmf-var/tex/plain/config/language.def
   cp -a $startdir/pkg/opt/texlive/texmf/dvips/config/config.ps \
       $startdir/pkg/opt/texlive/texmf-var/dvips/config/config.ps
   cp -a $startdir/pkg/opt/texlive/texmf/dvipdfm/config/config \
       $startdir/pkg/opt/texlive/texmf-var/dvipdfm/config/config
   cp -a $startdir/pkg/opt/texlive/texmf/tex/generic/config/pdftexconfig.tex \
       $startdir/pkg/opt/texlive/texmf-var/tex/generic/config/pdftexconfig.tex
   cp -a $startdir/pkg/opt/texlive/texmf-dist/tex/context/config/cont-usr.tex \
       $startdir/pkg/opt/texlive/texmf-var/tex/context/config/cont-usr.tex
   cp -a $startdir/pkg/opt/texlive/texmf/xdvi/XDvi \
       $startdir/pkg/opt/texlive/texmf-var/xdvi/XDvi
   # startup profile to export PATH and MANPATH
   mkdir -p $startdir/pkg/etc/profile.d
   echo 'export PATH=$PATH:/opt/texlive/bin' > $startdir/src/texlive.sh
   echo 'export MANPATH=$MANPATH:/opt/texlive/man' >> $startdir/src/texlive.sh
   install -m755 $startdir/src/texlive.sh $startdir/pkg/etc/profile.d/
}

Edit 3:
An other question, why your making your texlive-core's PKGBUILD places files that aren't in the source array outside the src or pkg? It is a way to emulate source download since it is needed to rsync?

Last edited by ezzetabi (2007-07-29 08:42:11)

Offline

#128 2007-07-29 08:49:39

Firmicus
Forum Fellow
From: Germany
Registered: 2006-02-28
Posts: 168

Re: replace TeTex package by TeX Live

ezzetabi wrote:

@Firmicus
Thanks for your kindness, but I am part of the x86_64 unlucky fork. I guess the binary packages are available only for i686 now, am I wrong?

Correct. I do have a 64bit machine, but I never bothered to install Arch64 on it, as at least for me the inconveniences would far overweight the advantages. However I would be VERY GRATEFUL if you could contribute the x86_64 package of texlive-core for inclusion in community! smile

ezzetabi wrote:

Now I try again and post (some of) the log.
Question, I noticed configure is started with --without-texinfo, but there is a note that sounds like --without-texinfo does not seem to work... Who is right?

It does not work. I've reported that to the TL devs. I've left it in the PKGBUILD because it is likely to be fixed with the TL2008 release.

ezzetabi wrote:

Question(2), you do not use --with-cxx-runtime-hack, why?

I didn't really know about it. At least I don't remember... But isn't it the default to build everything statically anyway? In any case I can add it to the PKGBUILD, it can't do any harm!

ezzetabi wrote:

Edit 2: if I do not patch xetex everything compiles correctly, here my PKGBUILD
(it is the usual one with the xetex patch commented and --with-cxx-runtime-hack that I still think you should put before moving everything to community).

I am almost certain the xetex developer has fixed this. I have tried to get a more recent patch through svn diff but it failed. I'll ask on the xetex mailing list about it. This patch is important as it fixes a few unpleasant bugs from the TL2007 version. Would you mind trying to recompile the x86_64 port once I manage to get hold of a new patch?

Thanks ezzetabi for your help!

EDIT: I have indeed managed to find a patch that should work: try with this instead (rename it to xetex.patch and change the md5sum to af56199e2152640d75ff950cf5e322af).

Last edited by Firmicus (2007-07-29 11:41:32)

Offline

#129 2007-07-29 08:51:24

Firmicus
Forum Fellow
From: Germany
Registered: 2006-02-28
Posts: 168

Re: replace TeTex package by TeX Live

ezzetabi wrote:

Edit 3:
An other question, why your making your texlive-core's PKGBUILD places files that aren't in the source array outside the src or pkg? It is a way to emulate source download since it is needed to rsync?

Can you be more specific? I'm not sure I understand... wink

Offline

#130 2007-07-29 15:38:16

bt
Member
Registered: 2007-04-11
Posts: 198

Re: replace TeTex package by TeX Live

Firmicus --

I'm new to this forum, but very interested in the whole package when it gets into community. Any idea when that will happen?

(I just wrote a six page document with all kinds of formatting, which the LaTex documentation indicates would have taken 15 minutes).
I think Tex-live is a better solution.

Offline

#131 2007-07-29 16:06:25

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: replace TeTex package by TeX Live

The md5 resulted being
15455564ba5008e1e1bf5886c59de4fe
to me... Probably a server messed up with CR or LF.
But I tried anyhow and it everything went fine.
I am glad to help, but I am not sure how can I send the files to community.
An idea can be sending me a pair <user, password> for a ftp of yours where I can upload.
ezzetabi .at. gawab .dot. com

About the third edit question...
This is the file list of texlive-core before executing makepkg:

PKGBUILD
texlive-core.maps
texlive-core.paths
texlive.install
xetex.patch

And this is the source array;

source=('texlive-core.paths' 'texlive-core.maps' 'xetex.patch')

After successful building you have this file list:

PKGBUILD
 pkg
source.tar.bz2
 src
texlive-core-2007.4643-1-x86_64.pkg.tar.gz
texlive-core.maps
texlive-core.paths
texlive.install
 texmf
 texmf-dist
xetex.patch

I was wondering why PKGBUILD places some files in the $startdir.
All the packages I saw places in $startdir only the sources, the pkg directory, the src directory and the package itself.
I thought you decided to place files there since they are sources even if you can't download them normally.
(and yes, what I wrote before was pretty meaningless, sorry)

Edit:
In the university where I study they use Fedora Core 7, now we (well... Firmicus) managed to compile TeXLive so well, I'd like to install it also in the uni computers.
Do someone know how to make rpm files? Is it much different than making Arch linux packages?

Last edited by ezzetabi (2007-07-29 17:00:36)

Offline

#132 2007-07-29 19:26:48

olegfink
Member
Registered: 2007-02-25
Posts: 11

Re: replace TeTex package by TeX Live

ezzetabi wrote:

Do someone know how to make rpm files? Is it much different than making Arch linux packages?

More or less the same tactics: you write a spec file (an ugly equivalent to PKGBUILD) and then run rpmbuild on it.
To speed up and simplify the process, you may use your existing arch packages as the rpm contents: AFAIK  you have to point rpmbuild to a directory where all your files reside, so just untarring the package and making an rpm of it should be enough to get texlive rpms.

Edit: maybe look here? http://people.redhat.com/jnovy/files/texlive/

Last edited by olegfink (2007-07-29 19:45:36)

Offline

#133 2007-07-30 07:37:24

attila
Member
Registered: 2006-11-14
Posts: 293

Re: replace TeTex package by TeX Live

Nice link, thanks. The list of patches in texlive.spec be terrific.:)

Offline

#134 2007-07-30 07:49:58

Firmicus
Forum Fellow
From: Germany
Registered: 2006-02-28
Posts: 168

Re: replace TeTex package by TeX Live

ezzetabi wrote:

I am glad to help, but I am not sure how can I send the files to community.

I'll contact you when we're that far. It might also be that a TU will take care of that. We'll see.

ezzetabi wrote:

I was wondering why PKGBUILD places some files in the $startdir.
All the packages I saw places in $startdir only the sources, the pkg directory, the src directory and the package itself.
I thought you decided to place files there since they are sources even if you can't download them normally.
(and yes, what I wrote before was pretty meaningless, sorry)

The reason is simple: if put them in src/ then a makepkg -c would delete everything and I would have to dowload hundreds of MB everytime I rebuild the packages. That way I only download the updated files (the obsolete ones are also automatically deleted by rsync). Before building the packages for the last time before uploading to community, I will delete the texmf* trees to be sure that everything is clean though.

Offline

#135 2007-07-30 07:56:40

Firmicus
Forum Fellow
From: Germany
Registered: 2006-02-28
Posts: 168

Re: replace TeTex package by TeX Live

@ezzatabi: concerning installing TL on your university computers: if the rpm files mentioned above do not satisfy you, the easiest way may be to just download the DVD iso image and install from it on each machine ;-)

The advantages with our packages, though, is that they are incrementally updated to the latest versions on CTAN, and the binaries include one important patch for xetex.

BTW thanks for trying the new patch. I will update it for the final version.

Last edited by Firmicus (2007-07-30 07:59:48)

Offline

#136 2007-07-30 15:02:59

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: replace TeTex package by TeX Live

@Firmicus
Well, surely that is an option... But having packages is better, no? This is why you are doing all this work, aren't you?
(btw it is ezzetabi, not ezzatabi...)

About the patch, you are welcome. smile

Offline

#137 2007-07-30 18:18:39

Firmicus
Forum Fellow
From: Germany
Registered: 2006-02-28
Posts: 168

Re: replace TeTex package by TeX Live

ezzetabi wrote:

(btw it is ezzetabi, not ezzatabi...)

Is it Ezzetabi as in Ezzaddin عز الدين ? What is "tabi" then ?
هذا اسمك الحقيق؟
سلامات
F

Offline

#138 2007-07-30 18:43:16

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: replace TeTex package by TeX Live

No, no, no... it is much simpler. I am Italian and time ago existed a database manager called ETB and its advertisement was: database problems? Ezzetabi!
Where Ezzetabi is a deformation of the sound ETB read in Italian.

I found it amusing and so I decided to call me that way on the internet since I like solving problems.

Offline

#139 2007-07-30 20:45:24

Firmicus
Forum Fellow
From: Germany
Registered: 2006-02-28
Posts: 168

Re: replace TeTex package by TeX Live

ezzetabi wrote:

No, no, no... it is much simpler. I am Italian and ...

Scusi! I thought you were Arab... tongue

It's so confusing nowadays...

Offline

#140 2007-07-31 08:38:07

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: replace TeTex package by TeX Live

Back to topic...
I tried compiling texlive core with the new xetex patch in my i686 machine and it still went well.
So I think you should change the texlive.zip file including it.
I would like add a section to the article you started about 'I can not/do not want wait the stick-in-the-mud higher-ups of the community repo! How can I install texlive NOW?'
If you update texlive.zip with the patch I won't need to cover the manual change of it...

And yet an other question...
How did you made all the texlive-*.paths files?

Possible bug alert!
bibtex misses its 'plain.bst' style.

Piece of advice:
what about adding perl-tk as dep, instead of a small note in the post install?

Last edited by ezzetabi (2007-08-01 09:12:33)

Offline

#141 2007-07-31 20:45:23

PDExperiment626
Member
From: Australia
Registered: 2007-04-02
Posts: 66

Re: replace TeTex package by TeX Live

Hello again. I have been playing around with another idea to work the texlive installations. While I think Firmicus has done an excellent job with the PKGBUILDS, I feel there may be some issues with installing texlive in this manner. The fact is, the current package builds are pulling down svn builds of the whole texlive source; and I have noticed causing some issues. First, maintaining the *.path files for each texlive PKGBUILD I think will be very cumbersome and is prone to having certain files left out if the texlive people move files around their svn. Also, rsync isn't SVN and so there will be PKGBUILD errors whenever a directory on the TexLive SVN servers moves around. As I posted earlier, trying to selectively download directories from TexLive via SVN simply takes too long (I tried it with a modified set of PKGBUILDS) and isn't recommended by the TexLive people. Firmicus really has the right idea with using rsync; but it is still prone to getting unstable builds of TexLive. If this is the case, you better hope you have the old texlive pkgs in your cache because rsync doesn't allow for rollbacks.

One idea I've just been playing around with for the last day is using the TexLive CD/DVD iso image. I know it's a big download, but any uni. dept. should really have a copy of the 12/2/2007 build. Basically, I've written a rudimentary pkgbuild that mounts the iso image on a loopback device (within the src directory) and patches some of the install scripts to limit superfulous options in the install and to direct the install to happen in the pkg build directory. It's not pretty, but it's a way to use the standard DVD install image (and thus selecting which packages you want to install from the dvd install scripts) and have the whole thing build correctly into the arch system.

It's just a suggestion at this stage; I'll see about posting a pkgbuild if I get it to actually work wink.


... and for a time, it was good...

Offline

#142 2007-08-01 09:11:55

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: replace TeTex package by TeX Live

I also had this idea in the beginning, using as `source' the .iso file itself.
Overall since I still no idea how Firmicus made all that .paths files...

So I think it is a good alternative idea... Keep us informed!
Only... Tex and Co wont be compiled for x86_64 or i686, but only the good old plain i386.

Last edited by ezzetabi (2007-08-01 09:13:44)

Offline

#143 2007-08-01 12:03:50

Firmicus
Forum Fellow
From: Germany
Registered: 2006-02-28
Posts: 168

Re: replace TeTex package by TeX Live

ezzetabi wrote:

Back to topic...
I tried compiling texlive core with the new xetex patch in my i686 machine and it still went well.
So I think you should change the texlive.zip file including it.

This is done. The patch is renamed to tl2007-1.patch

ezzetabi wrote:

Possible bug alert!
bibtex misses its 'plain.bst' style.

This does not happen here. plain.bst should be in texlive-core under /opt/texlive/texmf-dist/bibtex/bst/base/plain.bst

ezzetabi wrote:

what about adding perl-tk as dep, instead of a small note in the post install?

Because as I mentioned previously, not all users will want to install the documentation packages. Personally, having a continuous fast internet access, I prefer to access it online (see the link I gave in the wiki). So this perl-tk should really be optional.

ezzetabi wrote:

How did you made all the texlive-*.paths files?

I have mentioned earlier in this thread that they have been generated by some very clever perl and bash scripts! No seriously, the scripts are not that complex and rather ugly. But they do the job pretty well! You can have a look here. Basically the perl script generates for each collection lists of packages and paths, using the database on the texlive server. From these a shell script generates a list of paths for each package. There is no documentation, sorry, but you can ask me if you are curious.

PDExperiment626 wrote:

One idea I've just been playing around with for the last day is using the TexLive CD/DVD iso image. I know it's a big download, but any uni. dept. should really have a copy of the 12/2/2007 build.

I have also been thinking about this. But I decided that this cannot be THE ARCH WAY wink Why should we follow the same path as Debian? Besides, the content of the installable ISO image is accessible online, so you don't need to download and loopmount  it. Why download 1GB of data when you only need a fraction thereof to build the packages? My approach has its downsides I agree, but at least it gives us full control and flexibility. Plus: I have done the nasty job already, so why would you want to restart from scratch? And by packaging the official ISO release, you are missing all CTAN updates of the last 6 months, and an important patch for xetex, and several bugfixes in the texmf tree. 

I have discussed these things with Attila quite extensively by email. We both agree that the objective is to have reliable packages in community. Once the texlive packages are there, they should be updated every 3 months at most and the binaries should be updated once a year after each official TeXLive release. You won't find anything more up-to-date than that with other distros (or even other OS)!

But that does NOT mean that I am not open for discussion! We'll see how we'll proceed when TL2008 is released. By then things might be easier, as the TL devs are currently working on a new management framework.

ezzetabi wrote:

So I think it is a good alternative idea... Keep us informed!
Only... Tex and Co wont be compiled for x86_64 or i686, but only the good old plain i386.

Yes, but the difference in performance between tex compiled for i383 and i686 is insignificant. I did the test: the optimized binary is something like 0.1 second faster in compiling a book-length document! So this is not really an issue.

Offline

#144 2007-08-01 12:40:15

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: replace TeTex package by TeX Live

Firmicus wrote:

This is done. The patch is renamed to tl2007-1.patch

are you sure? I downloaded again texlive.zip and the md5sums are

md5sums=('960894eae8f368f84fd614868f299c63' \
     'a68e8eba5833c64c3157f13055a5abb9' \
     '1960b2469fa162251ff782b71adaf486')

Aren't them the old ones? (Am I confusing?)

Firmicus wrote:
ezzetabi wrote:

Possible bug alert!
bibtex misses its 'plain.bst' style.

This does not happen here. plain.bst should be in texlive-core under /opt/texlive/texmf-dist/bibtex/bst/base/plain.bst

Indeed strange, I miss the whole 'base' directory under bst.  I try recompiling...

Offline

#145 2007-08-01 12:55:11

Firmicus
Forum Fellow
From: Germany
Registered: 2006-02-28
Posts: 168

Re: replace TeTex package by TeX Live

ezzetabi wrote:

Aren't them the old ones? (Am I confusing?)

Oops! I guess I had forgotten to upload it... Sorry. Should work now.

Note that I have now included a more general patch which in addition to xetex fixes the dviljk sources also. I did not have a chance to test it yet. I'd appreciate feedback :-)

Offline

#146 2007-08-01 15:18:34

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: replace TeTex package by TeX Live

it might be a good idea doing:

54c54
<    patch -p0 <tl2007-1.patch
---
>    patch -p0 <xetex.patch

to the PKGBUILD... isn't it?


Edit:
I recompiled and nothing to do, I still miss plain.bst, a path has been changed maybe?

Last edited by ezzetabi (2007-08-01 16:00:11)

Offline

#147 2007-08-01 16:10:27

Blind
Member
From: Desert mountain
Registered: 2005-02-06
Posts: 386

Re: replace TeTex package by TeX Live

I still cannot compile. I changed the MAKEFLAG to no avail. It crashes at a different place, though.

../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::NFRuleSet::findNormalRule(long long) const':
nfrs.cpp:(.text+0x741): undefined reference to `icu_3_4::NFRule::shouldRollBack(double) const'
../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::NFRuleSet::format(double, icu_3_4::UnicodeString&, int) const':
nfrs.cpp:(.text+0x889): undefined reference to `icu_3_4::NFRule::doFormat(double, icu_3_4::UnicodeString&, int) const'
../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::NFRuleSet::format(long long, icu_3_4::UnicodeString&, int) const':
nfrs.cpp:(.text+0x90a): undefined reference to `icu_3_4::NFRule::doFormat(long long, icu_3_4::UnicodeString&, int) const'
../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::util_equalRules(icu_3_4::NFRule const*, icu_3_4::NFRule const*)':
nfrs.cpp:(.text+0x93a): undefined reference to `icu_3_4::NFRule::operator==(icu_3_4::NFRule const&) const'
../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::NFRuleSet::operator==(icu_3_4::NFRuleSet const&) const':
nfrs.cpp:(.text+0xa4e): undefined reference to `icu_3_4::NFRule::operator==(icu_3_4::NFRule const&) const'
../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::NFRuleSet::parse(icu_3_4::UnicodeString const&, icu_3_4::ParsePosition&, double, icu_3_4::Formattable&) const':
nfrs.cpp:(.text+0xb36): undefined reference to `icu_3_4::NFRule::doParse(icu_3_4::UnicodeString const&, icu_3_4::ParsePosition&, signed char, double, icu_3_4::Formattable&) const'
nfrs.cpp:(.text+0xbad): undefined reference to `icu_3_4::NFRule::doParse(icu_3_4::UnicodeString const&, icu_3_4::ParsePosition&, signed char, double, icu_3_4::Formattable&) const'
nfrs.cpp:(.text+0xcaf): undefined reference to `icu_3_4::NFRule::doParse(icu_3_4::UnicodeString const&, icu_3_4::ParsePosition&, signed char, double, icu_3_4::Formattable&) const'
../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::NFRuleSet::parseRules(icu_3_4::UnicodeString&, icu_3_4::RuleBasedNumberFormat const*, UErrorCode&)':
nfrs.cpp:(.text+0xe68): undefined reference to `icu_3_4::NFRule::makeRules(icu_3_4::UnicodeString&, icu_3_4::NFRuleSet const*, icu_3_4::NFRule const*, icu_3_4::RuleBasedNumberFormat const*, icu_3_4::NFRuleList&, UErrorCode&)'
nfrs.cpp:(.text+0xf82): undefined reference to `icu_3_4::NFRule::setBaseValue(long long, UErrorCode&)'
../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::NFRuleSet::appendRules(icu_3_4::UnicodeString&) const':
nfrs.cpp:(.text+0x11d6): undefined reference to `icu_3_4::NFRule::_appendRuleText(icu_3_4::UnicodeString&) const'
nfrs.cpp:(.text+0x127b): undefined reference to `icu_3_4::NFRule::_appendRuleText(icu_3_4::UnicodeString&) const'
nfrs.cpp:(.text+0x1318): undefined reference to `icu_3_4::NFRule::_appendRuleText(icu_3_4::UnicodeString&) const'
../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::NFRuleSet::NFRuleSet(icu_3_4::UnicodeString*, int, UErrorCode&)':
nfrs.cpp:(.text+0x1656): undefined reference to `icu_3_4::NFRule::~NFRule()'
../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::NFRuleSet::NFRuleSet(icu_3_4::UnicodeString*, int, UErrorCode&)':
nfrs.cpp:(.text+0x1966): undefined reference to `icu_3_4::NFRule::~NFRule()'
../../lib/libsicui18n.a(nfrs.ao): In function `icu_3_4::NFRuleSet::~NFRuleSet()':
nfrs.cpp:(.text+0x19c7): undefined reference to `icu_3_4::NFRule::~NFRule()'
nfrs.cpp:(.text+0x19de): undefined reference to `icu_3_4::NFRule::~NFRule()'
nfrs.cpp:(.text+0x19f5): undefined reference to `icu_3_4::NFRule::~NFRule()'
../../lib/libsicui18n.a(nfrs.ao):nfrs.cpp:(.text+0x1a0c): more undefined references to `icu_3_4::NFRule::~NFRule()' follow
collect2: ld returned 1 exit status
make[3]: *** [../../bin/genrb] Error 1
make[3]: Leaving directory `/var/abs/local/texlive/texlive-core/src/Work/libs/icu-xetex/tools/genrb'
make[2]: *** [all-recursive] Error 2
make[2]: Leaving directory `/var/abs/local/texlive/texlive-core/src/Work/libs/icu-xetex/tools'
make[1]: *** [all-recursive] Error 2
make[1]: Leaving directory `/var/abs/local/texlive/texlive-core/src/Work/libs/icu-xetex'
make: *** [libs/icu-xetex/lib/libsicudata.a] Error 2

I don't know - looks like I either am missing a dependency (though I ran makepkg without -d) or a header file is missing.
O well. Anyways, thanks for your work, guys.
Blind

Offline

#148 2007-08-01 16:24:02

ezzetabi
Member
Registered: 2006-08-27
Posts: 947

Re: replace TeTex package by TeX Live

Re download the lastest texlive.zip, fix the PKGBUILD as I wrote in the last post. It really seems a bug the patch fixes...

Offline

#149 2007-08-01 17:36:10

PDExperiment626
Member
From: Australia
Registered: 2007-04-02
Posts: 66

Re: replace TeTex package by TeX Live

Again, I understand why these packages are being built as they are; but I'm still wondering if these packages really belong in community. The reality is these packages are using SVN sources to build a package; and the xetex.patch is being applied to a directory tree that doesn't correlate to the svn diff call that generates it. This alone will have a few Arch developers freaking out. There are also dependencies on *.path files that may fall out of data at any point.

No doubt that implementing a good PKGBUILD plan for Texlive is proving to be quite difficult.

I have mentioned using the DVD iso image to make a Arch pkg; but Firmicus is right. While this approach has advantages (i.e. being able to customize TeXLive then have it built into a monolithic package), those advantages make the pkg itself non-standardized and thus virtually impossible to support. It also leads to problems regarding exactly what packages have been installed onto the system.

At this point, I just want to get something up and going with TeXLive and have lost interest in keeping with the bleeding edge versions of such. I think the best solution, at this point, is to have firmicus' packages sync against the svn tag directory corresponding to the released texlive dvd instead of the actual svn trunk. As it appears now, I don't think these packages should be put into community; I don't know of one svn packages sitting sitting outside of AUR or unstable. Firmicus' generated path files would obviously have no issues with needing to be updated against a fixed target either. If there are certain features that people really want that aren't on the 2007 texlive dvd; then I suggest generating patches against the DVD to implement those.

Last edited by PDExperiment626 (2007-08-01 17:49:54)


... and for a time, it was good...

Offline

#150 2007-08-01 18:30:00

PDExperiment626
Member
From: Australia
Registered: 2007-04-02
Posts: 66

Re: replace TeTex package by TeX Live

ezzetabi wrote:

Re download the lastest texlive.zip, fix the PKGBUILD as I wrote in the last post. It really seems a bug the patch fixes...

As I said in my earlier post, I think the way this patch is done isn't necessarily the best. Anyway, what you may want to try is generating a new xetex patch by executing

svn diff svn://tug.org/texlive/trunk/Build/source svn://tug.org/texlive/branches/branch2007/Build/source > xetex.patch

This will at least ensure that you are applying a patch to a tree for which it was intended. This isn't a guaranteed fix through; you are essentially mixing and matching different tex trees which may be the source of the problem.


... and for a time, it was good...

Offline

Board footer

Powered by FluxBB