gnu-system-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Package creation with GNU tools


From: Richard Stallman
Subject: Re: Package creation with GNU tools
Date: Tue, 10 Aug 2004 22:23:36 -0400

    we have only spoken about how to control installed packages, not yet
    about how to create and install them.

With the design I have proposed, installation is trivial.  You untar
the package into a directory somewhere (wherever you like), and then
make a symlink to that directory from under /package.

    Beside the pure extraction, installation contains configuring and
    setting up the package and the environment for each other.

With my design, there is no need for this.  We will not have any
feature to run scripts for installation or deinstallation.
The translator(s) will handle everything.

      Moreover, the way the
    environment is set up for the package -- including the provided files
    in a database

I am not sure what database this refers to.  My design does not
involve any database of files, aside from tables inside the
translator(s).

As for creating packages, that can be done by tricking `make install'
so that instead of installing files in system directories, it installs
them into a directory you made for the purpose.  Then you tar up that
directory.

    mkdir bindist
    cd bindist
    CFLAGS="-g3 -O3 -march=athlon-xp -Wall -W -Wstrict-prototypes
    -Wmissting-prototypes" ../configure --prefix=/
    make
    make install prefix=foo-0.1
    tar czf foo-0.1.tar.gz foo-0.1

    Yes, these few lines build build the binary tarball for any package
    that uses autoconf and automake -- without any packaging work.

Looks like you already had the same idea.  (You forgot the call
to ./configure.)

This does NOT require that the package use autoconf or automake.  It
only requires that the package satisfy the GNU standards for
configure and make targets.

There are programs that don't follow these GNU standards.
For those, something like the BSD ports system is useful.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]