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
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? |