Re: Distribution making - Mailing list pgsql-hackers

From The Hermit Hacker
Subject Re: Distribution making
Date
Msg-id Pine.BSF.4.21.0007101957260.3314-100000@thelab.hub.org
Whole thread Raw
In response to Distribution making  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: Distribution making  (Karel Zak <zakkr@zf.jcu.cz>)
Re: Distribution making  (Peter Eisentraut <peter_e@gmx.net>)
List 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 v�g 10:115
> peter_e@gmx.net                   75262 Uppsala
> http://yi.org/peter-e/            Sweden
> 

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



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pg_backup symlink?
Next
From: Philip Warner
Date:
Subject: pg_dump with BLOBS & V7.0.2 fix