Unfortunately, you are very right about the current situation of
things. In my opinion, the creation of the package system has really
been a big disaster. The only things that packages seem to gain are a
certain amount of disk space (which is essentially free nowadays and
not worth saving), and some possible savings in download time (which
is completely outweighed by the incredible headache that you have to
go through in order to get things working).
Before the implementation of the package system, there was one tarball
for everything, and installation was easy, following the standard
"configure; make; make install" paradigm. Nowadays, it is a big mess,
which is compounded by the fact that the package system has not been
completed and is often left in a semi-broken state, and by the fact
that the current maintainers do not seem interested in putting in the
time to fix some of the basic problems with documentation, broken
READMEs, a very out-of-date web site, etc. It is often claimed that
"there is no time" to work on these things. This is obviously a bogus
claim, however, because plenty of other things do get worked on, and
most of these things are much less important (but often more
interesting) than these basic maintenance issues. Unfortunately, this
is often exactly how things go with free software projects. Unless
the primary maintainer really cares about the basic upkeep of the
external and/or "newbie" elements of the project (which the current
maintainer obviously does not care about), the external state of the
project tends to decay, and lead to deplorable situations like what we
currently have.
Ben Wing
>>>> "Hans" == Hans Reiser
<reiser(a)idiom.com> writes:
Hans> If you guys could put the contents of Jan's simple instructions in the
README, boy,
Hans> it would be nice....
Hans> I know people (serious programmers short on time) who simply gave up on
installing
Hans> xemacs....
Hans> The lack of instructions on where things get untarred were much worse than the
number
Hans> of tarballs, but I still think you should also offer an xemacs-everything.tgz
Hans> Hans
Hans> Jan Vroonhof wrote:
> The following message is a courtesy copy of an article
> that has been posted to comp.emacs.xemacs as well.
>
> [To the XEmacs team. Why is Didier's announcement not on the FTP site?]
>
> Hans Reiser <reiser(a)idiom.com> writes:
>
> > What in the world possessed them to make it necessary to get five
> > separate tarballs, and then assemble them together without any
> > adequate instructions on how to do it?
>
> In fact can you get away with only two files.
Hans> Without documentation of it, a feature does not exist. It does no good for me to
not
Hans> need the files if I am not told this.
Hans> But actually, it was not the number of tarballs but the lack of instruction on
where
Hans> they go that stopped me.
Hans> It is NOT obvious where sumo goes.
>
>
> What you seem to have missed is the release announcement:
>
>
http://www.xemacs.org/list-archives/xemacs/9905/msg00648.html
Hans> Thanks. Why don't you guys put the contents of this on the web page where it
will be
Hans> seen before downloading.
Hans> Note that when I read it I am not sure if I need the info and elc files to get
Hans> everything or if they will merely shorten my compile time. You could make this
Hans> clear, such that someone can quickly determine what to download if they want
Hans> everything, and what to type to make it build.
>
>
> This is supposed to be available as a README too, but it seems to be
> missing. You also seem to be have README.packages which does feature
> in at least 3 places. Among others
>
>
http://www.xemacs.org/packages/guide.html
>
> > The last thing I want to do is pick and choose elisp packages, do these guys
> > have a 386 with a ten meg hard drive on their desks? Do they think I have
> > nothing but time on my hands?
>
> No but other people want to. There's more people in the world than
> you. If you don't want that, use the Sumo.
Hans> I did use Sumo. That left me having to download 5 tar balls, and having no
Hans> instructions on what goes where (It has no README saying where it goes), and
having
Hans> to type something more complicated than "tar xfvz xemacs-everything.tgz; cd
xemacs;
Hans> ./configure; make; make install". Why? Why not just have one tarball for
people
Hans> like me, and then those of you with more time than RAM and disk can spend days
Hans> picking and choosing to your heart's content?
>
>
> > info, etc., subdirectories in /usr/src/xemacs-21.1.4? I still don't
> > know, so I tried both, but if somebody knows, I am curious.
>
> They are prebuild parts of the source. They go wherever you unpackaged
> the source. "make install" will copy them to /usr/local/lib
>
> > So now what I have is an xemacs in which nothing autoloads, none of the
> > packages. Why? What do I do to get it to load every package?
>
> Read README.packages. If it is in the right place XEmacs will pick
> them up automatically.
>
> > Why can't these guys just create one tarball with everything, and let me
type
> > some finite well documented series of commands, you know, like "cd
/usr/src; tar
> > xfvz xemacs-everything-21.1.4.tgz; ./configure; make; make install;
xemacs"?
> > Why does it have to be more complicated than that?
>
> If you can live with two tarballs here is the complete installation
> instructions (for a no-mule XEmacs).
>
> cd /usr/src
> tar xzf xemacs-21.1.4.tar.gz
> cd xemacs-21.1.4
> ./configure
> make
> make install
> cd /usr/local/lib/xemacs
> tar xzf xemacs-sumo.tar.gz
>
> But please try and read the two links above.
>
> > If there is a README I missed, please let me know, but I fear there is not.
>
> As i said you missed two (with one being not your fault).
>
> Jan
>
Hans> Nit: The web page says the current version is 21.1, but it looks like it is
21.1.4 to
Hans> me.... Wouldn't it be better to either not say, or say in full, the name of
the
Hans> current version?
>
> P.S. The package index signing issues is because we fell into a trap
> set for us set for us by RSA inc, The US government and the designers
> of PGP all working together. This will (hopefully) soon be resolved.
Hans> What happened to that signatures index package? Did you guys take it off the
site,
Hans> or did I just forget where I saw it?
Hans> Ok, so now I tried this set of commands
Hans> [root@localhost src]# \rm -r xemacs-21.1.4/
Hans> [root@localhost src]# tar xfz old/xemacs-21.1.4.tar.gz
Hans> [root@localhost src]# tar xfz old/xemacs-21.1.4-info.tar.gz
Hans> [root@localhost src]# tar xfz old/xemacs-21.1.4-elc.tar.gz
Hans> [root@localhost src]# cd xemacs-21.1.4
Hans> [root@localhost xemacs-21.1.4]# \rm -r /usr/local/lib
Hans> here I ran ./configure, it asked for XPM, I installed XPM from your website, then
I
Hans> continued
Hans> [root@localhost xemacs-21.1.4]# ./configure
Hans> [root@localhost xemacs-21.1.4]# make
Hans> Producing `src/Emacs.ad.h' from `etc/Emacs.ad'.
Hans> Resetting `src/puresize-adjust.h'.
Hans> Resetting `src/sheap-adjust.h'.
Hans> cd ./lib-src && make CC='gcc' CFLAGS='-g -O3 -Wall
-Wno-switch' LDFLAGS=''
Hans> CPPFLAGS='' all
Hans> make[1]: Entering directory `/usr/src/xemacs-21.1.4/lib-src'
Hans> gcc -g -O3 -Wall -Wno-switch -Demacs -I../src -DHAVE_CONFIG_H
Hans> /usr/src/xemacs-21.1.4/lib-src/make-path.c -o make-path
Hans> In file included from /usr/include/bits/errno.h:25,
Hans> from /usr/include/errno.h:36,
Hans> from /usr/src/xemacs-21.1.4/lib-src/make-path.c:36:
Hans> /usr/include/linux/errno.h:4: asm/errno.h: No such file or directory
Hans> make[1]: *** [make-path] Error 1
Hans> make[1]: Leaving directory `/usr/src/xemacs-21.1.4/lib-src'
Hans> make: *** [lib-src] Error 2
Hans> If you guys aspire to configuration perfection, may I suggest you teach configure
to
Hans> look for asm in /usr/src/linux and warn about it? So I created a link from
Hans> /usr/src/linux to a working kernel, and continued (asm is in the kernel
source)....
Hans> [root@localhost xemacs-21.1.4]# make clean
Hans> [root@localhost xemacs-21.1.4]# make
Hans> boy, you guys sure ought to clean up a lot of warnings, you know, just so
you'll
Hans> notice if there is a warning that is significant....
Hans> but it worked. Then I did:
Hans> [root@localhost xemacs-21.1.4]# make install
Hans> [root@localhost xemacs-21.1.4]# cd /usr/local/lib/xemacs
Hans> [root@localhost xemacs]# tar xfvz /usr/src/old/xemacs-sumo.tar.gz
Hans> and everything seems to work. Yeah! I love vm, and compiling my code using
xemacs,
Hans> and....
Hans> Thanks much,
Hans> Hans
Hans> PS
Hans> I didn't get a chance to try out this script Eric sent me, but thanks for
sending the
Hans> script. Maybe the developers of xemacs might take a look at it.
Hans> #!/bin/csh -fx
Hans> #
Hans> # xemacs.csh
Hans> #
Hans> # Auto Configure, Make & Install for XEmacs
Hans> # Written by Eric Veum <sysv(a)yahoo.com>
Hans> #
Hans> # Comments/Usage:
Hans> # An automatic recompilation system for XEmacs. Insert all
Hans> # the listed packages and this shell script as
Hans> #
Hans> # Partitioned XEmacs System
Hans> #
Hans> # $prefix/src/{xemacs.csh,*.tar.gz} Archive Source Location
Hans> # /{bin,man,lib} Installation Location
Hans> #
Hans> # Additional File Requirements:
Hans> # texinfo-3.12.tar.gz # TeXInfo (makeinfo reqired by XEmacs
Hans> compiliation)
Hans> # jpeg-6b.tar.gz # JPEG (Optional Static Library Used in
Hans> Compile Only)
Hans> # zlib-1.1.3.tar.gz # ZLib (Optional Static Library Used in
Hans> Compile Only)
Hans> # libpng-1.0.3.tar.gz # LibPNG (Optional Static Library Used in
Hans> Compile Only)
Hans> # xpm-3.4k.tar.gz # XPM (Optional Static Library Used in
Hans> Compile Only)
Hans> # tiff-3.4.tar.gz # TIFF Library (Optional Library Used in
Hans> Compile Only)
Hans> # xemacs-21.1.4.tar.gz # XEmacs (Installable Package)
Hans> # xemacs-sumo.tar.gz # XEmacs Sumo (Installable ELisp Component)
Hans> # ispell-3.1.20.tar.gz # ISpell (Optional Installable Package)
Hans> #
Hans> # Running this script will automatically compile any optional
Hans> # library packages statically required for linking, as well as
Hans> # perform a temporary install of any compilation dependent
Hans> # packages required for compilation.
Hans> #
Hans> # Archive Source Prefix Independent of Calling Prefix
Hans> set prog = $0
Hans> if( $prog:h == $prog ) then
Hans> set arcsrcprefix = $cwd # In Archive Source Already
Hans> else
Hans> set arcsrcprefix = $prog:h # Not in Archive Source
Hans> endif
Hans> # Goto Archive Source Prefix
Hans> pushd $arcsrcprefix > /dev/null
Hans> # Installation Prefix (Parent of Archive Source Prefix)
Hans> set prefix = $arcsrcprefix:h
Hans> # Dependent Packages Location
Hans> # (Temporary Installation Only during Compile)
Hans> set tmpprefix = $prefix/tmp
Hans> # XEmacs build Dependent Packages
Hans> set srctexi = texinfo-3.12 # TeXInfo (makeinfo reqired by XEmacs
Hans> compiliation)
Hans> # XEmacs Optional Packages
Hans> set srcjpg = jpeg-6b # JPEG (Optional Static Library Used in
Hans> Compile Only)
Hans> set srczlib = zlib-1.1.3 # ZLib (Optional Static Library Used in
Hans> Compile Only)
Hans> set srcpng = libpng-1.0.3 # LibPNG (Optional Static Library Used
Hans> in Compile Only)
Hans> set srcxpm = xpm-3.4k # XPM (Optional Static Library Used in
Hans> Compile Only)
Hans> set srctiff = tiff-3.4 # TIFF Library (Optional Library Used
Hans> in Compile Only)
Hans> set srcxemacs = xemacs-21.1.4 # XEmacs (Installable Package)
Hans> set srcsumo = xemacs-sumo # XEmacs Sumo (Installable Component)
Hans> set srcispell = ispell-3.1.20 # ISpell (Optional Installable Package)
Hans> # Optional Configure Flags For XEmacs
Hans> set xeflags = '--cflags=-O --with-tooltalk=no --with-sparcworks=no
Hans> --with-workshop=no --with-sound=no --with-site-lisp'
Hans> set siteprefixes =
Hans>
${prefix}/src/${srcjpg}:${prefix}/src/${srczlib}:${prefix}/src/${srcpng}:${prefix}/src/${srcxpm}:${prefix}/src/${srctiff}
Hans> # Extract, Compile TeXInfo
Hans> set src = $srctexi # Source Code w/o Tar.gz/Z
Hans> Extension
Hans> gunzip -f -c $src.tar.gz | tar -xvpf - # Extract
Hans> pushd $src > /dev/null # Goto Src Directory
Hans> configure --prefix=$tmpprefix # Configure
Hans> make # Make
Hans> make install # Install
Hans> popd > /dev/null
Hans> # Add Build Dependents to Path
Hans> set path = ( $prefix/tmp/bin $path ); rehash
Hans> # Extract, Compile JPEG
Hans> set src = $srcjpg # Source Code w/o Tar.gz/Z
Hans> Extension
Hans> gunzip -f -c $src.tar.gz | tar -xvpf - # Extract
Hans> pushd $src > /dev/null # Goto Src Directory
Hans> configure # Configure
Hans> make # Compile
Hans> if ( ! -e include ) then
Hans> ln -s . include # Dummy Install on Itself
Hans> endif
Hans> mkdir -p lib ; mv libjpeg.a lib/libjpeg.a
Hans> popd > /dev/null # Return to Storage Dir
Hans> # Extract, Compile ZLIB
Hans> set src = $srczlib # Source Code w/o Tar.gz/Z
Hans> Extension
Hans> gunzip -f -c $src.tar.gz | tar -xvpf - # Extract
Hans> pushd $src > /dev/null # Goto Src Directory
Hans> configure # Configure
Hans> make # Compile
Hans> if ( ! -e include ) then
Hans> ln -s . include # Dummy Install on Itself
Hans> endif
Hans> mkdir -p lib ; mv libz.a lib/libz.a
Hans> popd > /dev/null # Return to Storage Dir
Hans> # Extract, Compile PNGLIB, Needs ZLIB Headers
Hans> set src = $srcpng # Source Code w/o Tar.gz/Z
Hans> Extension
Hans> gunzip -f -c $src.tar.gz | tar -xvpf - # Extract
Hans> pushd $src > /dev/null # Goto Src Directory
Hans> cp scripts/makefile.std ./Makefile # Create Makefile
Hans> make "CFLAGS = -O -I../$srczlib/include" libpng.a # Compile
Hans> if ( ! -e include ) then
Hans> ln -s . include # Dummy Install on Itself
Hans> endif
Hans> mkdir -p lib ; mv libpng.a lib/libpng.a
Hans> popd > /dev/null # Return to Storage Dir
Hans> # Extract, Compile Xpm
Hans> set src = $srcxpm # Source Code w/o Tar.gz/Z
Hans> Extension
Hans> gunzip -f -c $src.tar.gz | tar -xvpf - # Extract
Hans> pushd $src > /dev/null # Goto Src Directory
Hans> xmkmf ; make Makefiles # Create Makefiles
Hans> make includes ; make depend ; make # Compile
Hans> # Eliminate Shared Object Library, and Create Static Library
Hans> rm lib/libXpm.so* ; cd lib ; ar -rv libXpm.a *.o ; cd ..
Hans> # Create Standard Setup for Headers
Hans> mkdir -p include/X11 ; cp lib/xpm.h include/X11/xpm.h
Hans> popd > /dev/null
Hans> # Extract, Compile LIBTIFF
Hans> set src = $srctiff # Source Code w/o Tar.gz/Z
Hans> Extension
Hans> gunzip -f -c $src.tar.gz | tar -xvpf - # Extract
Hans> pushd $src > /dev/null # Goto Src Directory
Hans> configure --noninteractive # Configure
Hans> make # Compile
Hans> if ( ! -e include ) then
Hans> ln -s libtiff include # Dummy Install on Itself
Hans> endif
Hans> mkdir -p lib ; mv libtiff/libtiff.a lib/libtiff.a
Hans> popd > /dev/null # Return to Storage Dir
Hans> # Extract, Compile XEmacs
Hans> set src = $srcxemacs # Source Code w/o Tar.gz/Z
Hans> Extension
Hans> gunzip -f -c $src.tar.gz | tar -xvpf - # Extract
Hans> pushd $src > /dev/null # Goto Src Directory
Hans> # Configure
Hans> configure --prefix=$prefix $xeflags --site-prefixes=$siteprefixes
Hans> make # Compile
Hans> make install # Install
Hans> popd > /dev/null # Return to Storage Dir
Hans> # Extract, Install LISP Packages
Hans> set src = $srcsumo # PACKAGE w/o Tar.gz/Z
Hans> Extension
Hans> gunzip -f -c $src.tar.gz | tar -xvpf - # Extract
Hans> mkdir -p $prefix/lib/xemacs
Hans> rm -rf $prefix/lib/xemacs/xemacs-packages # Remove Older Version so
Hans> no overwrite as /xemacs-packages/xemacs-packages
Hans> mv xemacs-packages $prefix/lib/xemacs/xemacs-packages
Hans> # Extract, Compile Ispell
Hans> set src = $srcispell # Source Code w/o Tar.gz/Z
Hans> Extension
Hans> gunzip -f -c $src.tar.gz | tar -xvpf - # Extract
Hans> pushd $src > /dev/null # Goto Src Directory
Hans> # Create SVS-V local.h with Installation $prefix
Hans> sed "s@PREFIX@$prefix@g" ../local.template.h > local.h
Hans> make # Compile
Hans> mkdir -p $prefix/man/man1 ; mkdir -p $prefix/man/man4
Hans> make install
Hans> popd > /dev/null # Return to Storage Dir
Hans> ## Clean Out All Sources & Temporary Dependent Packages
Hans> rm -rf $tmpprefix ; rm -rf $srctexi
Hans> rm -rf $srcjpg
Hans> rm -rf $srczlib
Hans> rm -rf $srcpng
Hans> rm -rf $srcxpm
Hans> rm -rf $srctiff
Hans> rm -rf $srcxemacs
Hans> rm -rf $srcsumo
Hans> rm -rf $srcispell
Hans> # End: Return to Original Calling Directory
Hans> popd > /dev/null
Hans> ===
Hans> US-Mail: Eric Veum, P.O. Box 131221, Ann Arbor, MI 48113
Hans> Home: 2313 Leslie Circle, Ann Arbor, MI 48105
Hans> Home Tel: 734-662-8180, Anytime, Voice-Mail
Hans> Mobile: 619-884-6040, Anytime, Voice-Mail
Hans> Work Tel: 734-994-1200x2398, 0900-1800 EST/EDT, Voice-Mail
Hans> _____________________________________________________________
Hans> Do You Yahoo!?
Hans> Bid and sell for free at
http://auctions.yahoo.com
Hans> --
Hans> Get Linux (
http://www.kernel.org) plus ReiserFS
Hans> (
http://devlinux.org/namesys). If you sell an OS or
Hans> internet appliance, buy a port of ReiserFS! If you
Hans> need customizations and industrial grade support, we sell them.