Re: Distribution making

From: The Hermit Hacker <scrappy(at)hub(dot)org>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Distribution making
Date: 2000-07-10 23:00:13
Message-ID: Pine.BSF.4.21.0007101957260.3314-100000@thelab.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Sounds great to me ... what we have now is a major kludge ...

Basically, what I'd have to do for a release is CVSUP the latest code on
that branch, do a 'make dist' and that's it?

Is this something that can be 'extended' to do the RPM also? :)

On Mon, 10 Jul 2000, Peter Eisentraut wrote:

> I've been collecting a few ideas for integrating the distribution making
> process into the build system. (I did take a look at the mk-release and
> mk-snapshot scripts on hub.org as well.) I have a trial implementation
> which works well, except that it doesn't build the documentation.
>
> 1. Instead of the release_prep script we have a new target `distprep'.
> Those makefiles that want to build something for the distribution can
> simply implement this target. This is nice because you have the distprep
> and the correspondng distclean target in the same file. To make a
> distribution-ready tree, you do
>
> ./configure
> make distprep
> make distclean
>
> 2. In order to get rid of the CVS directories (and anything else you don't
> want to ship, like _deadcode) and get the directory name straight,
> *without* clobbering your checked out tree, I create a directory
> "postgresql-$(VERSION)" and copy the files I want to distribute in there.
> The conceptual procedure is
>
> # use your already configured tree
> make distprep
> mkdir postgresql-$(VERSION)
> copy all files from . into postgresql-$(VERSION), expect those you don't want
> make -C postgresql-$(VERSION) distclean
>
> This is done by `make distdir'.
>
> 3. `make dist' depends on distdir, tars up the prepared tree, and leaves a
> file postgresql-$(VERSION).tar.gz, which you can give to your friends.
>
> 4. If you got an extra half hour you can run `make distcheck', which:
>
> * makes a distribution, using make dist
> * unpacks the distribution
> * runs configure
> * runs make -q distprep, to check whether the files you just prepared for
> distribution are really still up to date
> * builds and installs everything
> * runs make uninstall and checks whether it really uninstalled everything
> * makes another distribution from this test tree
> * checks whether this distribution is sufficiently similar to the previous
> one (i.e., same files, same size)
>
> This approach should guard against the common tarball making problems:
> misnamed top-level directory, missing files, funky timestamps, etc.
>
>
> If there's any interest in this I can commit it so you can take a look. It
> doesn't affect anything else (including release_prep).
>
> --
> Peter Eisentraut Sernanders vg 10:115
> peter_e(at)gmx(dot)net 75262 Uppsala
> http://yi.org/peter-e/ Sweden
>

Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy(at)hub(dot)org secondary: scrappy(at){freebsd|postgresql}.org

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Philip Warner 2000-07-10 23:12:02 pg_dump with BLOBS & V7.0.2 fix
Previous Message Tom Lane 2000-07-10 22:58:13 Re: pg_backup symlink?