On Wed, Jun 27, 2007 at 11:27:23AM -0700, Shanti Subramanyam - PAE wrote:
> Arvind Srinivasan wrote:
> >Hi,
> >
>
> >a) I propose that we remove the version numbers from the directory names
> >and instead just use the component names - APC, ruby, php etc - for the
> >top-level directories.
> >
> >b) Under each top-level directory, I propose that we do not check in the
> >exploded version of the sources for each component. Instead each of
> >these top-level directories will contain the upstream community's
> >distribution of the sources (e.g. imap-2006c1.tar.Z), a Makefile and any
> >source patches (maybe even a 'patches' directory containing all patches)
> >that need to be applied to the upstream sources before we build the
> >sources. Each component's Makefile will contain rules that will unzip
> >the source distribution, apply any applicable patches, run any
> >configuration scripts, build and install the component
> >
>
> The above doesn't allow for simply browsing the sources (which I often
> do). Of course, I can always untar each directory - it just seems a
> little wierd.
That is not much of issue. A simple "untar" target of Makefile can do that e.g
when you want to browse sources then
$ gmake untar
The above will make raw sources available.
And
$ gmake patch
The above can apply the patches to the source.
I agree with Arvind that is much better to add a single tar file to cvs than
checkin the entier tree. I agree with you that it is little inconvenient not
to see the sources once we pull from CVS.
> Also, your proposal does not allow for multiple simultaneous versions. I
> suspect we'll need this functionality.
> It might be better to have a directory structure like :
> <top-level>/imap/2006c1.
I don't know if we should/(want to) support building multiple version in same
tree. Under what situations it can be useful?
>
> It's not clear to me how the patches will be updated for different
> versions. Is a particular patch tied to a version ?
Patch file name can contain the version number e.g for php-5.2.0, patch
names can be :
php-5-2.0-fix1.patch
php-5-2.0-fix2.patch
If you see the rpm sources (from my system freetype src rpm looks like) :
[/usr/src/redhat] $ /bin/ls /usr/src/redhat/SOURCES/freetype-*
/usr/src/redhat/SOURCES/freetype-2.1.10-cvsfixes.patch
/usr/src/redhat/SOURCES/freetype-2.1.10-enable-ft2-bci.patch
/usr/src/redhat/SOURCES/freetype-2.1.10-fixaliasing.patch
/usr/src/redhat/SOURCES/freetype-2.1.10-fixautofit.patch
/usr/src/redhat/SOURCES/freetype-2.1.10-fixkerning.patch
/usr/src/redhat/SOURCES/freetype-2.1.10-memleak.patch
/usr/src/redhat/SOURCES/freetype-2.1.10.tar.bz2
/usr/src/redhat/SOURCES/freetype-2.1.10-xorgfix.patch
Regards,
Basant.