* [Cluster-devel] [PATCH] cleanup build system a bit.
@ 2007-04-24 12:56 Fabio Massimo Di Nitto
2007-04-24 13:34 ` Fabio Massimo Di Nitto
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: Fabio Massimo Di Nitto @ 2007-04-24 12:56 UTC (permalink / raw)
To: cluster-devel.redhat.com
Hi all,
the patch in attachment if the first big pass to cleanup the entire build
system on CVS HEAD as of 24-Apr-2007. Sorry if it's a bz2 file but otherwise it
won't pass the mailing list filtering limit of 100KB and it's one of those
patches that either you take in full or not (except a bunch of small details).
193 files changed, 1927 insertions(+), 8223 deletions(-)
This patch does:
- centralize all the configure scripts into the top level one:
- all configurable options are now available as such with details and help.
- no more need to run configure N times for each subdir.
- better autodetection for kernel_src.
- add tons of other options such as alternate CC or LD_FLAGS override and
more.
- allow override of release_major and release_minor.
- centralize all the different subproject/make/* files in the top level:
- expanded and integraded all the defines.mk.input into a clean one.
- centralize copyright.cf file at the toplevel. config/copyright.cf
and make it a default include directory for all projects so that there
is no more need to specify it manually.
- centralize scripts at the top level as appropriate.
- remove all the projects/configure projects/make/* projects/scripts/*
- change top level Makefile includes:
- implement several targets and add appropriate dependencies.
- split between kernel and userland targets.
- changes to all subprojects Makefiles:
- make use of the top level defines.mk.
- make use of centralized scripts.
- make use of all configurable options.
- cleanup TARGET= OBJS= CFLAGS= LDFLAGS= usage and make it consistent
across the entire tree. (see below for a more detailed explanation)
- fix make targets for libs.
- call linker with proper options and fix static/dynamic linking.
- attempt to use the use the same targets all over for consistency.
- fix install/uninstall targets.
- convert some toplevel project Makefile to be just "passtrough".
This is no different from what it was before except it takes 4 lines
instead of N duplicates lines. It will change in the next patch set
to integrate proper dependency calculation. See for example
cman/Makefile.
- probably more...
The way in which I rewrote the Makefile follows some kind of template.
For (or what i believe to be) better readability, I used this schema:
TARGET= foo
OBJS= foo.o
CFLAGS += -Ddefinition
CFLAGS += compiler options such as -O2 or -Wall
CFLAGS += system includes or configured includes
CFLAGS += includes coming from inside the project for ex: -I../include
similar order applies to LDFLAGS.
While at it i also fixed these 4 details:
cluster/fence/agents/xvm/vm_states.c: fix include path for openais.
cluster/gfs/gfs_quota/layout.c: fix include path to be consistent with the
rest of the tree.
(see: https://www.redhat.com/archives/cluster-devel/2007-April/msg00115.html)
cluster/group/lib/libgroup.c: add missing include. Spotted after fixing the
Makefile and triggered by adding -Wall.
cluster/rgmanager/src/clulib/clulog.c: remove unrequired include.
TODO:
somebody from RH should please verify that config/copyright.cf is correct.
The oldest RH copyright is from 2004 and i updated from 2006 to 2007.
top level configure:
- fix hardencoded use of xml2-config and make it optional
top level makefile:
- verify latest_tags: srpms: tarballs: targets.
I have personally never used them and for what i can tell they haven't
been in used for ages.
verify rgmanager/src/Makefile for check: target
verify rgmanager/src/daemon/Makefile dtest and rg_test OBJ list.
- see OBJS2 and OBJS3 build of resrule*.o.
While I did pay an awful amount of attention not to break anything, there is
a chance that something might have gone wrong.
Please double check and apply.
Thanks
Fabio
--
I'm going to make him an offer he can't refuse.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cleanup_configure.bz2
Type: application/x-bzip
Size: 32594 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20070424/b42b5aa8/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 890 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20070424/b42b5aa8/attachment.sig>
^ permalink raw reply [flat|nested] 18+ messages in thread* [Cluster-devel] [PATCH] cleanup build system a bit.
2007-04-24 12:56 [Cluster-devel] [PATCH] cleanup build system a bit Fabio Massimo Di Nitto
@ 2007-04-24 13:34 ` Fabio Massimo Di Nitto
2007-04-25 18:05 ` Lon Hohberger
2007-04-25 21:13 ` Chris Feist
2007-04-26 16:55 ` Fabio Massimo Di Nitto
2 siblings, 1 reply; 18+ messages in thread
From: Fabio Massimo Di Nitto @ 2007-04-24 13:34 UTC (permalink / raw)
To: cluster-devel.redhat.com
Just spotten on IRC by Patrick.
Please apply after the previous patch.
Thanks
Fabio
--
I'm going to make him an offer he can't refuse.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: group.diff
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20070424/e3384a22/attachment.ksh>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Cluster-devel] [PATCH] cleanup build system a bit.
2007-04-24 13:34 ` Fabio Massimo Di Nitto
@ 2007-04-25 18:05 ` Lon Hohberger
2007-04-25 18:29 ` Fabio Massimo Di Nitto
0 siblings, 1 reply; 18+ messages in thread
From: Lon Hohberger @ 2007-04-25 18:05 UTC (permalink / raw)
To: cluster-devel.redhat.com
On Tue, Apr 24, 2007 at 03:34:04PM +0200, Fabio Massimo Di Nitto wrote:
> Just spotten on IRC by Patrick.
>
> Please apply after the previous patch.
>
> Thanks
> Fabio
>
> --
> I'm going to make him an offer he can't refuse.
> diff -Naurd cluster.orig2/group/daemon/Makefile cluster/group/daemon/Makefile
> --- cluster.orig2/group/daemon/Makefile 2007-04-24 11:15:43.000000000 +0200
> +++ cluster/group/daemon/Makefile 2007-04-24 15:32:07.000000000 +0200
> @@ -24,7 +24,7 @@
> CFLAGS += -I${cmanincdir}
> CFLAGS += -I. -I../include/ -I../lib/
>
> -LDFLAGS += -L${cmanlibdir} -L${openaislibdir} -L{libdir} -lcman -lcpg
> +LDFLAGS += -L${cmanlibdir} -L${openaislibdir} -L${libdir} -lcman -lcpg
>
> all: ${TARGET}
>
FWIW, this is an overhaul not a cleanup. ;)
I'm fine with it, but I want more people to comment.
(expecting minor bugs to be found, but easy to fix)
-- Lon
--
Lon Hohberger - Software Engineer - Red Hat, Inc.
^ permalink raw reply [flat|nested] 18+ messages in thread* [Cluster-devel] [PATCH] cleanup build system a bit.
2007-04-25 18:05 ` Lon Hohberger
@ 2007-04-25 18:29 ` Fabio Massimo Di Nitto
0 siblings, 0 replies; 18+ messages in thread
From: Fabio Massimo Di Nitto @ 2007-04-25 18:29 UTC (permalink / raw)
To: cluster-devel.redhat.com
Lon Hohberger wrote:
>
> FWIW, this is an overhaul not a cleanup. ;)
details :P
>
> I'm fine with it, but I want more people to comment.
>
> (expecting minor bugs to be found, but easy to fix)
sure.. i am of course dealing to fix them as soon as they arise.
Thanks
Fabio
--
I'm going to make him an offer he can't refuse.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Cluster-devel] [PATCH] cleanup build system a bit.
2007-04-24 12:56 [Cluster-devel] [PATCH] cleanup build system a bit Fabio Massimo Di Nitto
2007-04-24 13:34 ` Fabio Massimo Di Nitto
@ 2007-04-25 21:13 ` Chris Feist
2007-04-26 3:17 ` Fabio Massimo Di Nitto
2007-04-26 16:55 ` Fabio Massimo Di Nitto
2 siblings, 1 reply; 18+ messages in thread
From: Chris Feist @ 2007-04-25 21:13 UTC (permalink / raw)
To: cluster-devel.redhat.com
Fabio Massimo Di Nitto wrote:
> TODO:
>
> somebody from RH should please verify that config/copyright.cf is correct.
> The oldest RH copyright is from 2004 and i updated from 2006 to 2007.
Looks good
> top level makefile:
> - verify latest_tags: srpms: tarballs: targets.
> I have personally never used them and for what i can tell they haven't
> been in used for ages.
latest_tags, build_srpms, tarballs are from the old, old build system, they can
definitely be removed.
I think this patch is something that we can commit to the -HEAD branch and start
using for FC8 and beyond. We shouldn't have a problem patching up any minor
issues that crop up. I vote for committing this patch.
Thanks,
Chris
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Cluster-devel] [PATCH] cleanup build system a bit.
2007-04-25 21:13 ` Chris Feist
@ 2007-04-26 3:17 ` Fabio Massimo Di Nitto
2007-04-27 12:52 ` Robert Peterson
0 siblings, 1 reply; 18+ messages in thread
From: Fabio Massimo Di Nitto @ 2007-04-26 3:17 UTC (permalink / raw)
To: cluster-devel.redhat.com
Hi Chris,
Chris Feist wrote:
> Fabio Massimo Di Nitto wrote:
>> top level makefile:
>> - verify latest_tags: srpms: tarballs: targets.
>> I have personally never used them and for what i can tell they haven't
>> been in used for ages.
>
> latest_tags, build_srpms, tarballs are from the old, old build system, they can
> definitely be removed.
>
> I think this patch is something that we can commit to the -HEAD branch and start
> using for FC8 and beyond. We shouldn't have a problem patching up any minor
> issues that crop up. I vote for committing this patch.
Thanks for the feedback. I will provide a patch to cleanup those once/if the
main patch will make it in CVS.
Cheers
Fabio
--
I'm going to make him an offer he can't refuse.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Cluster-devel] [PATCH] cleanup build system a bit.
2007-04-26 3:17 ` Fabio Massimo Di Nitto
@ 2007-04-27 12:52 ` Robert Peterson
2007-04-27 13:15 ` Fabio Massimo Di Nitto
0 siblings, 1 reply; 18+ messages in thread
From: Robert Peterson @ 2007-04-27 12:52 UTC (permalink / raw)
To: cluster-devel.redhat.com
Fabio Massimo Di Nitto wrote:
>> I think this patch is something that we can commit to the -HEAD branch and start
>> using for FC8 and beyond. We shouldn't have a problem patching up any minor
>> issues that crop up. I vote for committing this patch.
Hi Fabio,
This looks like a good patch to me. I've been too busy to look at it in
any great detail, but I did look at the highlights. I have a minor concern
about the Makefile in gfs2/mkfs: IIRC, it looked like the default "Make"
(all) specified only mkfs.gfs2 as the target, whereas we need to be sure to
that gfs2_jadd and gfs2_grow get built as well. Er, well, I guess you don't
have gfs2_grow yet (but I do). Maybe it's already assured with some magic
and trickery, as it often happens in many Makefiles, but that will be apparent
soon enough if/when I get a chance to try it.
As with any change with so many things affected, there might be some minor
glitches or gotchas that we'll find, but I think we can work around those
as we encounter them. Good job!
Regards,
Bob Peterson
Red Hat Cluster Suite
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Cluster-devel] [PATCH] cleanup build system a bit.
2007-04-27 12:52 ` Robert Peterson
@ 2007-04-27 13:15 ` Fabio Massimo Di Nitto
0 siblings, 0 replies; 18+ messages in thread
From: Fabio Massimo Di Nitto @ 2007-04-27 13:15 UTC (permalink / raw)
To: cluster-devel.redhat.com
Robert Peterson wrote:
> Fabio Massimo Di Nitto wrote:
>>> I think this patch is something that we can commit to the -HEAD branch and start
>>> using for FC8 and beyond. We shouldn't have a problem patching up any minor
>>> issues that crop up. I vote for committing this patch.
>
> Hi Fabio,
>
> This looks like a good patch to me. I've been too busy to look at it in
> any great detail, but I did look at the highlights.
great thanks.
> I have a minor concern
> about the Makefile in gfs2/mkfs: IIRC, it looked like the default "Make"
> (all) specified only mkfs.gfs2 as the target, whereas we need to be sure to
> that gfs2_jadd and gfs2_grow get built as well.
Right.. patch in attachment to turn the Makefile in line with the others.
> Er, well, I guess you don't
> have gfs2_grow yet (but I do).
well i can't really cope with stuff that's not in CVS yet :))) really.. even
when i try hard ;)
> Maybe it's already assured with some magic
> and trickery, as it often happens in many Makefiles, but that will be apparent
> soon enough if/when I get a chance to try it.
Once you commit gfs2_grow in CVS HEAD, i can add it to the Makefile.
> As with any change with so many things affected, there might be some minor
> glitches or gotchas that we'll find, but I think we can work around those
> as we encounter them.
I got a CVS access, so i can fix most of them once they are reported tho I was
asked to always ask for patch review before applying, so it's just a matter for
somebody to ACK.
> Good job!
Thanks
Fabio
PS I plan to commit sometime on monday EU time. If you can add gfs2_grow i will
merge the Makefiles at the same time.
--
I'm going to make him an offer he can't refuse.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 010_gfs2_mkfs_cleanup.dpatch
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20070427/186d3702/attachment.ksh>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Cluster-devel] [PATCH] cleanup build system a bit.
2007-04-24 12:56 [Cluster-devel] [PATCH] cleanup build system a bit Fabio Massimo Di Nitto
2007-04-24 13:34 ` Fabio Massimo Di Nitto
2007-04-25 21:13 ` Chris Feist
@ 2007-04-26 16:55 ` Fabio Massimo Di Nitto
2007-04-27 9:24 ` Fabio Massimo Di Nitto
2 siblings, 1 reply; 18+ messages in thread
From: Fabio Massimo Di Nitto @ 2007-04-26 16:55 UTC (permalink / raw)
To: cluster-devel.redhat.com
Fabio Massimo Di Nitto wrote:
> Hi all,
There is a new patch in attachment that address (including a rediff towards new
Makefile in CVS HEAD):
> verify rgmanager/src/daemon/Makefile dtest and rg_test OBJ list.
> - see OBJS2 and OBJS3 build of resrule*.o.
what Chris Feist reported:
> latest_tags, build_srpms, tarballs are from the old, old build system, they can
> definitely be removed.
and the typo reported by Patrick on IRC.
No other changes have been done.
Thanks
Fabio
--
I'm going to make him an offer he can't refuse.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bigfat.diff.bz2
Type: application/x-bzip
Size: 32743 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20070426/d27e2d7c/attachment.bin>
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2007-04-27 13:15 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-24 12:56 [Cluster-devel] [PATCH] cleanup build system a bit Fabio Massimo Di Nitto
2007-04-24 13:34 ` Fabio Massimo Di Nitto
2007-04-25 18:05 ` Lon Hohberger
2007-04-25 18:29 ` Fabio Massimo Di Nitto
2007-04-25 21:13 ` Chris Feist
2007-04-26 3:17 ` Fabio Massimo Di Nitto
2007-04-27 12:52 ` Robert Peterson
2007-04-27 13:15 ` Fabio Massimo Di Nitto
2007-04-26 16:55 ` Fabio Massimo Di Nitto
2007-04-27 9:24 ` Fabio Massimo Di Nitto
2007-04-27 9:28 ` [Cluster-devel] [PATCH 001/008] Fix configure help typo Fabio Massimo Di Nitto
2007-04-27 9:29 ` [Cluster-devel] [PATCH 002/008] Fabio Massimo Di Nitto
2007-04-27 9:30 ` [Cluster-devel] [PATCH 003/008] Fix --release_* check Fabio Massimo Di Nitto
2007-04-27 9:32 ` [Cluster-devel] [PATCH 004/008] gnbd_export: convert harcoded DEFAULT_GETUID to build flag Fabio Massimo Di Nitto
2007-04-27 9:33 ` [Cluster-devel] [PATCH 005/008] Fix userland: target depends Fabio Massimo Di Nitto
2007-04-27 9:34 ` [Cluster-devel] [PATCH 006/008] Fix make all target in passtrough Makefiles and make them more consistent Fabio Massimo Di Nitto
2007-04-27 9:35 ` [Cluster-devel] [PATCH 007/008] Readd -Werror to rgmanager dropped by mistake in the big cleanup Fabio Massimo Di Nitto
2007-04-27 9:36 ` [Cluster-devel] [PATCH 008/008] Readd SHAREDIR define to rgmanager/src/daemons/Makefile Fabio Massimo Di Nitto
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).