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
Re: Distribution making |
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: