Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-04 Thread Cyril Brulebois
Colin Walters  (04/01/2012):
> Background: I'm trying hard to bring continuous integration and testing
> to the FOSS stack between linux and gnome-shell.  That means building
> from git, not manual integration via tarballs.  The current xorg
> autogen.sh scripts just need one minor tweak to match the ones we use in
> GNOME.  I've been slowly massaging and harmonizing the ad-hoc
> autogen.sh/bootstrap scripts found in various modules.

In the meanwhile, that would achieve the same effect without any patching:
-./autogen.sh
+autoreconf -vfi

Mraw,
KiBi.


signature.asc
Description: Digital signature
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-04 Thread Colin Walters
On Thu, 2012-01-05 at 00:12 +0100, Cyril Brulebois wrote:
> Colin Walters  (04/01/2012):
> > Background: I'm trying hard to bring continuous integration and testing
> > to the FOSS stack between linux and gnome-shell.  That means building
> > from git, not manual integration via tarballs.  The current xorg
> > autogen.sh scripts just need one minor tweak to match the ones we use in
> > GNOME.  I've been slowly massaging and harmonizing the ad-hoc
> > autogen.sh/bootstrap scripts found in various modules.
> 
> In the meanwhile, that would achieve the same effect without any patching:
> -./autogen.sh
> +autoreconf -vfi

Yes, but the reason we use autogen.sh scripts in GNOME is because over
time we've added multiple tools (gtk-doc, intltool) that follow the
autoconf pattern of copying crap into your tarball so the build fails
slightly later when you try to build on the copy of HP-UX you found in
your basement.  

autoreconf isn't extensible, hence the autogen.sh script.

Also, the autogen.sh pattern supports e.g. modules using waf - they can
copy waf from the system into their build tree.  (Of course, this would
probably have to come after severing Thomas Nagy's internet connection,
but hey).


___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-04 Thread Gaetan Nadon
On 12-01-04 05:53 PM, Colin Walters wrote:
> Background: I'm trying hard to bring continuous integration and testing
> to the FOSS stack between linux and gnome-shell.  That means building
> from git, not manual integration via tarballs.  The current xorg
> autogen.sh scripts just need one minor tweak to match the ones we use in
> GNOME.  I've been slowly massaging and harmonizing the ad-hoc
> autogen.sh/bootstrap scripts found in various modules.
>
> Could someone just script this patch application across all xorg modules
> that have autogen.sh?

No objections in principle, the doc is convincing.

We are talking about 240 modules here. A sizable piece of work.

>
> Thanks!
>
>
> ___
> xorg-devel@lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-05 Thread Colin Walters
Hi Gaetan,

On Wed, 2012-01-04 at 19:48 -0500, Gaetan Nadon wrote:

> No objections in principle, the doc is convincing.
> 
> We are talking about 240 modules here. A sizable piece of work.

Thanks; any suggestions on how to proceed?  I don't have commit
privileges to the xorg repositories (and no need to get them for such a
trivial patch), should I go through individual maintainers or should
someone Just Do It?

One thing we might want to consider before we change all 240 modules is
instead changing xorg-macros to install its autogen.sh as
$prefix/bin/xorg-autogen.sh or something, then all of the xorg autogen
scripts can just be:

#!/bin/sh
exec xorg-autogen.sh "$@"

This is effectively what we do with gnome-common, except some random
modules still have hand-written ones.  Consistency - not yet our strong
point =/


___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-05 Thread Gaetan Nadon
On 12-01-05 09:17 AM, Colin Walters wrote:
> Hi Gaetan,
>
> On Wed, 2012-01-04 at 19:48 -0500, Gaetan Nadon wrote:
>
>> No objections in principle, the doc is convincing.
>>
>> We are talking about 240 modules here. A sizable piece of work.
> Thanks; any suggestions on how to proceed?  I don't have commit
> privileges to the xorg repositories (and no need to get them for such a
> trivial patch), should I go through individual maintainers or should
> someone Just Do It?
>
> One thing we might want to consider before we change all 240 modules is
> instead changing xorg-macros to install its autogen.sh as
> $prefix/bin/xorg-autogen.sh or something, then all of the xorg autogen
> scripts can just be:
>
> #!/bin/sh
> exec xorg-autogen.sh "$@"
>
> This is effectively what we do with gnome-common, except some random
> modules still have hand-written ones.  Consistency - not yet our strong
> point =/
>

Seems like a brilliant idea. We can then make changes to xorg-autogen.sh
in the future without having to commit 240 patches. I'd be willing to
change all the xorg modules. There is an assumption that all modules
will be configured with the same BINDIR value, or that at least
xorg-autogen.sh in on the PATH. Looks reasonable.

Could you create the patch for the util-macros package? Making sure it
works on a Bourne shell for all *BSD, MAC and Solaris OS. It will get
reviewed on the list and I'll give a good run. If all goes well, a new
version of xorg-macros will be published.

Note that I will also have to update configure.ac in each module to
mandate the latest version of xorg-macros (as usual):
XORG_MACROS_VERSION(1.17)

The list of modules I'll cover can be obtained by running
util/modular/build.sh -L. Check to see if other xorg modules would be on
your build list but not on mine.

At this time the xserver is in a code freeze for the 1.12 version, so it
may be delayed a few weeks.

I would use the xserver autogen.sh as reference as it has --force option
which I intended to add to all modules. The only benefit I could find to
this option is when you upgrade the level of autoconf or automake, the
generated files are re-created so you don't end up with modules having
different levels of configuration. We have so many modules. If you have
an opinion on that, I'd be happy to hear about it.


___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-05 Thread Cyril Brulebois
Gaetan Nadon  (05/01/2012):
> > #!/bin/sh
> > exec xorg-autogen.sh "$@"
> 
> Note that I will also have to update configure.ac in each module to
> mandate the latest version of xorg-macros (as usual):
> XORG_MACROS_VERSION(1.17)

So you'll have a check in configure.ac to make sure xorg-macros has
xorg-autogen.sh, so that autogen.sh can run it? autogen.sh is what
triggers autoreconf and the look at configure.ac; chicken, egg.

Mraw,
KiBi.


signature.asc
Description: Digital signature
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-05 Thread Colin Walters
On Thu, 2012-01-05 at 17:50 +0100, Cyril Brulebois wrote:
> Gaetan Nadon  (05/01/2012):
> > > #!/bin/sh
> > > exec xorg-autogen.sh "$@"
> > 
> > Note that I will also have to update configure.ac in each module to
> > mandate the latest version of xorg-macros (as usual):
> > XORG_MACROS_VERSION(1.17)
> 
> So you'll have a check in configure.ac to make sure xorg-macros has
> xorg-autogen.sh, so that autogen.sh can run it? autogen.sh is what
> triggers autoreconf and the look at configure.ac; chicken, egg.

Hmm...but how many people

1) Build an xorg module from git 
2) Are patching a configure.ac or Makefile.am and thus want to rerun
autotools in a package built from tarball

but can't ALSO trivially update xorg-util-macros?  I'm not too familiar
with the workflow of people who hack on X.org related modules, so it's
an honest question.  

In GNOME we recommend jhbuild which makes it trivial to pull in the
latest gnome-common git.  But of course we made a common autogen script
years ago, so that module is pretty widespread; e.g. you can install it
via major distribution packages too.

Regardless we could certainly change the patch to all modules to be:

#!/bin/sh
common_autogen=`which xorg-util-autogen.sh 2>/dev/null`
if test -n "$common_autogen"; then
  exec $common_autogen "$@"
else
  # copy&pasted version here
fi

One question someone watching this discussion might be wondering - why
keep an autogen.sh in each module at all?  There are a few reasons, but
an example one is that it allows a module to individually check for say
a buggy automake version that some of its Makefile.am code triggers, and
bail, but still then exec the common autogen.sh.


___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-05 Thread Gaetan Nadon
On 12-01-05 12:01 PM, Colin Walters wrote:
> On Thu, 2012-01-05 at 17:50 +0100, Cyril Brulebois wrote:
>> Gaetan Nadon  (05/01/2012):
 #!/bin/sh
 exec xorg-autogen.sh "$@"
>>> Note that I will also have to update configure.ac in each module to
>>> mandate the latest version of xorg-macros (as usual):
>>> XORG_MACROS_VERSION(1.17)
>> So you'll have a check in configure.ac to make sure xorg-macros has
>> xorg-autogen.sh, so that autogen.sh can run it? autogen.sh is what
>> triggers autoreconf and the look at configure.ac; chicken, egg.
I had a feeling the chicken was coming...
> Hmm...but how many people
>
> 1) Build an xorg module from git 
A lot
> 2) Are patching a configure.ac or Makefile.am and thus want to rerun
> autotools in a package built from tarball
A few
>
> but can't ALSO trivially update xorg-util-macros?  I'm not too familiar
> with the workflow of people who hack on X.org related modules, so it's
> an honest question.  
Indeed, an honest question. Some build video drivers against the distro
installed headers and libs. Others have pre-canned dev env targeted at
embedded systems. There aren't too many complaints about upgrading
xorg-macros, but it better be obvious that it needs to be upgraded. No
obscure failure to debug.
>
> In GNOME we recommend jhbuild which makes it trivial to pull in the
> latest gnome-common git.  But of course we made a common autogen script
> years ago, so that module is pretty widespread; e.g. you can install it
> via major distribution packages too.
>
> Regardless we could certainly change the patch to all modules to be:
>
> #!/bin/sh
> common_autogen=`which xorg-util-autogen.sh 2>/dev/null`
> if test -n "$common_autogen"; then
>   exec $common_autogen "$@"
> else
>   # copy&pasted version here
> fi
Now that autogen.sh depends on xorg-macros, we need to move up the
version check in autogen.sh.

Something like: pkg-config --print-errors --exists "xorg-macros >= 1.17"

would print: Requested 'xorg-macros >= 1.17' but version of X.Org
Macros is 1.16.0

This would be the minimum version of xorg-macros that this version of
autogen.sh requires. The rest would be a usual in configure.ac (request
1.17, then 6 months later 1.18 and so on.

There is no point in providing a fallback as configure.ac will also
request 1.17 or even later.
>
> One question someone watching this discussion might be wondering - why
> keep an autogen.sh in each module at all?  There are a few reasons, but
> an example one is that it allows a module to individually check for say
> a buggy automake version that some of its Makefile.am code triggers, and
> bail, but still then exec the common autogen.sh.
>
>
>

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-05 Thread Alan Coopersmith

On 01/05/12 09:01, Colin Walters wrote:

Regardless we could certainly change the patch to all modules to be:

#!/bin/sh
common_autogen=`which xorg-util-autogen.sh 2>/dev/null`
if test -n "$common_autogen"; then
   exec $common_autogen "$@"
else
   # copy&pasted version here
fi


That would allow building for people whose distros haven't packaged
xorg-util-autogen.sh yet or think having /usr/bin/xorg-util-autogen.sh
is a bit messy.   (I'm not thrilled about it, but we've got worse
cruft in /usr/bin so I'm not going to throw myself in the way of it.)

--
-Alan Coopersmith-alan.coopersm...@oracle.com
 Oracle Solaris Platform Engineering: X Window System

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-05 Thread Alan Coopersmith

On 01/05/12 08:41, Gaetan Nadon wrote:

At this time the xserver is in a code freeze for the 1.12 version, so it
may be delayed a few weeks.


Since the autogen in each module shouldn't be packaged, just used for git
builds (though we haven't fixed that in every module yet), it seems most
important to get any changes that need to be made to the xorg-util-macros
first, so that gets in the upcoming katamari release  cycle we're doing
alongside the 1.12 release.

--
-Alan Coopersmith-alan.coopersm...@oracle.com
 Oracle Solaris Platform Engineering: X Window System

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-05 Thread Gaetan Nadon
On 12-01-05 02:05 PM, Alan Coopersmith wrote:
> On 01/05/12 08:41, Gaetan Nadon wrote:
>> At this time the xserver is in a code freeze for the 1.12 version, so it
>> may be delayed a few weeks.
>
> Since the autogen in each module shouldn't be packaged, just used for git
> builds (though we haven't fixed that in every module yet), it seems most
The xserver maintainer is not in favor of that. A few people are running
autogen.sh from within a tarball. There is always some opposition when
removing it.
I think we can change its content however.
> important to get any changes that need to be made to the xorg-util-macros
> first, so that gets in the upcoming katamari release  cycle we're doing
> alongside the 1.12 release.
>
Yep, I was thinking of doing a small subset of modules first.



___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-05 Thread Julien Cristau
On Thu, Jan  5, 2012 at 09:17:20 -0500, Colin Walters wrote:

> Hi Gaetan,
> 
> On Wed, 2012-01-04 at 19:48 -0500, Gaetan Nadon wrote:
> 
> > No objections in principle, the doc is convincing.
> > 
> > We are talking about 240 modules here. A sizable piece of work.
> 
> Thanks; any suggestions on how to proceed?  I don't have commit
> privileges to the xorg repositories (and no need to get them for such a
> trivial patch), should I go through individual maintainers or should
> someone Just Do It?
> 
> One thing we might want to consider before we change all 240 modules is
> instead changing xorg-macros to install its autogen.sh as
> $prefix/bin/xorg-autogen.sh or something, then all of the xorg autogen
> scripts can just be:
> 
> #!/bin/sh
> exec xorg-autogen.sh "$@"
> 
If you do something like that please either don't make it install in the
system $PATH or drop the .sh suffix.

Cheers,
Julien
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-05 Thread Eric Anholt
On Thu, 05 Jan 2012 11:41:46 -0500, Gaetan Nadon  wrote:
> On 12-01-05 09:17 AM, Colin Walters wrote:
> > Hi Gaetan,
> >
> > On Wed, 2012-01-04 at 19:48 -0500, Gaetan Nadon wrote:
> >
> >> No objections in principle, the doc is convincing.
> >>
> >> We are talking about 240 modules here. A sizable piece of work.
> > Thanks; any suggestions on how to proceed?  I don't have commit
> > privileges to the xorg repositories (and no need to get them for such a
> > trivial patch), should I go through individual maintainers or should
> > someone Just Do It?
> >
> > One thing we might want to consider before we change all 240 modules is
> > instead changing xorg-macros to install its autogen.sh as
> > $prefix/bin/xorg-autogen.sh or something, then all of the xorg autogen
> > scripts can just be:
> >
> > #!/bin/sh
> > exec xorg-autogen.sh "$@"
> >
> > This is effectively what we do with gnome-common, except some random
> > modules still have hand-written ones.  Consistency - not yet our strong
> > point =/
> >
> 
> Seems like a brilliant idea. We can then make changes to xorg-autogen.sh
> in the future without having to commit 240 patches. I'd be willing to
> change all the xorg modules. There is an assumption that all modules
> will be configured with the same BINDIR value, or that at least
> xorg-autogen.sh in on the PATH. Looks reasonable.
> 
> Could you create the patch for the util-macros package? Making sure it
> works on a Bourne shell for all *BSD, MAC and Solaris OS. It will get
> reviewed on the list and I'll give a good run. If all goes well, a new
> version of xorg-macros will be published.
> 
> Note that I will also have to update configure.ac in each module to
> mandate the latest version of xorg-macros (as usual):
> XORG_MACROS_VERSION(1.17)

Given how many people's first interaction with xorg-macros is
configure.ac telling them that it's out of date/missing, I'm not excited
about modules now just saying command not found instead of giving useful
information.


pgpbQjS2igg3I.pgp
Description: PGP signature
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-01-06 Thread Gaetan Nadon
On 12-01-05 10:24 PM, Eric Anholt wrote:
> On Thu, 05 Jan 2012 11:41:46 -0500, Gaetan Nadon  wrote:
>> On 12-01-05 09:17 AM, Colin Walters wrote:
>>> Hi Gaetan,
>>>
>>> On Wed, 2012-01-04 at 19:48 -0500, Gaetan Nadon wrote:
>>>
 No objections in principle, the doc is convincing.

 We are talking about 240 modules here. A sizable piece of work.
>>> Thanks; any suggestions on how to proceed?  I don't have commit
>>> privileges to the xorg repositories (and no need to get them for such a
>>> trivial patch), should I go through individual maintainers or should
>>> someone Just Do It?
>>>
>>> One thing we might want to consider before we change all 240 modules is
>>> instead changing xorg-macros to install its autogen.sh as
>>> $prefix/bin/xorg-autogen.sh or something, then all of the xorg autogen
>>> scripts can just be:
>>>
>>> #!/bin/sh
>>> exec xorg-autogen.sh "$@"
>>>
>>> This is effectively what we do with gnome-common, except some random
>>> modules still have hand-written ones.  Consistency - not yet our strong
>>> point =/
>>>
>> Seems like a brilliant idea. We can then make changes to xorg-autogen.sh
>> in the future without having to commit 240 patches. I'd be willing to
>> change all the xorg modules. There is an assumption that all modules
>> will be configured with the same BINDIR value, or that at least
>> xorg-autogen.sh in on the PATH. Looks reasonable.
>>
>> Could you create the patch for the util-macros package? Making sure it
>> works on a Bourne shell for all *BSD, MAC and Solaris OS. It will get
>> reviewed on the list and I'll give a good run. If all goes well, a new
>> version of xorg-macros will be published.
>>
>> Note that I will also have to update configure.ac in each module to
>> mandate the latest version of xorg-macros (as usual):
>> XORG_MACROS_VERSION(1.17)
> Given how many people's first interaction with xorg-macros is
> configure.ac telling them that it's out of date/missing, I'm not excited
> about modules now just saying command not found instead of giving useful
> information.
The latest thought is to have the util-macros package version check in
the copy of autogen.sh in each module. This should not make it any more
unpleasant than the current situation.

Having read your comment, I would not make the XORG_MACROS_VERSION(1.17)
change. In this transition period, older modules can be built with
autoreconf & configure from git using a <= 1.16 xorg-macros.

>From a single module developer point of view, the autogen.sh is not
needed to build from source. It's not part of the GNU build system
architecture. It's a legacy script from the days where autoreconf did
not exist and a handful of commands had to be submitted every time.

>From what I understand from Colin, FOSS is trying to standardise it's
use to ease the build of multiple large projects.

Thanks

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-06-08 Thread Colin Walters
On Fri, 2012-01-06 at 10:18 -0500, Gaetan Nadon wrote:

> The latest thought is to have the util-macros package version check in
> the copy of autogen.sh in each module. This should not make it any more
> unpleasant than the current situation.
> 
> Having read your comment, I would not make the XORG_MACROS_VERSION(1.17)
> change. In this transition period, older modules can be built with
> autoreconf & configure from git using a <= 1.16 xorg-macros.
> 
> From a single module developer point of view, the autogen.sh is not
> needed to build from source. It's not part of the GNU build system
> architecture. It's a legacy script from the days where autoreconf did
> not exist and a handful of commands had to be submitted every time.

So, a few months later...any further thoughts on this?  Anything I can
do to help?

I know it's a trivial thing, but I've made a lot of progress in
standardizing the build-from-git across many modules in the stack now,
and X.org definitely stands out in sheer module count =)



___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-06-08 Thread Daniel Stone
Hi,

On 5 January 2012 17:01, Colin Walters  wrote:
> Hmm...but how many people
>
> 1) Build an xorg module from git

A fair few.  Modularisation was a huge step for us towards making
X.Org less scary: we can now say 'this should be fixed in git, can you
please pull?' to bug reporters with a straight face, and the second
step has been the new review/commit/release process which has meant
that the tree is actually usable at all times, rather than just a
random crapheap.

Anything which jeopardises that is a _serious_ step backwards.

> but can't ALSO trivially update xorg-util-macros?  I'm not too familiar
> with the workflow of people who hack on X.org related modules, so it's
> an honest question.

Having to make sure people have the very latest xorg-macros and it's
installed is a bit of a barrier to entry.

> Regardless we could certainly change the patch to all modules to be:
>
> #!/bin/sh
> common_autogen=`which xorg-util-autogen.sh 2>/dev/null`
> if test -n "$common_autogen"; then
>  exec $common_autogen "$@"
> else
>  # copy&pasted version here
> fi

Yeah, I do like this.

Gaetan is our build system maintainer (sorry Gaetan), so if you get
the changes OKed by him and the only barrier is getting him committed,
then we can definitely get you commit access to push this through.

Cheers,
Daniel
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-06-08 Thread Dan Nicholson
On Fri, Jun 8, 2012 at 3:20 PM, Daniel Stone  wrote:
>
> Gaetan is our build system maintainer (sorry Gaetan)

I like how the anointing of build system maintainership requires an apology. :)

--
Dan
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-06-09 Thread Gaetan Nadon
On 12-06-08 04:59 PM, Colin Walters wrote:
> On Fri, 2012-01-06 at 10:18 -0500, Gaetan Nadon wrote:
>
>> The latest thought is to have the util-macros package version check in
>> the copy of autogen.sh in each module. This should not make it any more
>> unpleasant than the current situation.
>>
>> Having read your comment, I would not make the XORG_MACROS_VERSION(1.17)
>> change. In this transition period, older modules can be built with
>> autoreconf & configure from git using a <= 1.16 xorg-macros.
>>
>> From a single module developer point of view, the autogen.sh is not
>> needed to build from source. It's not part of the GNU build system
>> architecture. It's a legacy script from the days where autoreconf did
>> not exist and a handful of commands had to be submitted every time.
> So, a few months later...any further thoughts on this?  Anything I can
> do to help?
>
> I know it's a trivial thing, but I've made a lot of progress in
> standardizing the build-from-git across many modules in the stack now,
> and X.org definitely stands out in sheer module count =)
>
>
>
>

I have kept thinking about it since then. The changes to the script are
ok, but if the whole point of installing a copy through util-macros was
to save patch work for the future, having an "else" part defeats the
purpose. In the future, we would end up with (potentially) two different
behaviours depending if the script was installed or if the "else" part
was used.

I'd rather have a script change only and drop the "install through
util-macros" part. This will reduce the overall complexity and reduce
the number of places to investigate when things go wrong. Changes to the
script are likely to be several years apart.

If I had time to implement this project, I would have included a patch
from Roland Mainz which add quotes to support directories containing
spaces. I cannot locate the patch itself, but I wrote a note as to where
the quotes were added:

#! /bin/sh

srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.<===

ORIGDIR=`pwd`
cd "$srcdir"<===

autoreconf -v --install || exit 1
cd "$ORIGDIR" || exit $?<=

"$srcdir/configure" --enable-maintainer-mode "$@"<=
|-|<=

Roland Mainz wrote:
Note the issue mainly applies to users on Windows which use
environments like Cygwin, UWIN, SFU etc. where user homedirs very
often have whitespaces etc. in the name of their home directory.

A note about http://cgit.freedesktop.org/xorg/test/xorg-gtest/. This
module has a different script (the only one so far) which never runs
./configure. Chase Douglas is actively maintaining this module. The new
script you are proposing might just well be what he was waiting for.

Overall there are about 240 modules that are being published at
different intervals. The list can be obtained by running
modular/build.sh -L.

If you post the revised patch, I'll be happy to review it.









___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-06-14 Thread Colin Walters
On Sat, 2012-06-09 at 17:26 -0400, Gaetan Nadon wrote:

> I'd rather have a script change only and drop the "install through
> util-macros" part. This will reduce the overall complexity and reduce
> the number of places to investigate when things go wrong. Changes to
> the script are likely to be several years apart. 

Makes sense.

> A note about http://cgit.freedesktop.org/xorg/test/xorg-gtest/. This
> module has a different script (the only one so far) which never
> runs ./configure. Chase Douglas is actively maintaining this module.
> The new script you are proposing might just well be what he was
> waiting for.

Yes, that autogen.sh is fine.  The build API doesn't care whether or not
autogen.sh runs configure by default or not, merely that there is a
standard way to ensure it doesn't.

> Overall there are about 240 modules that are being published at
> different intervals. The list can be obtained by running
> modular/build.sh -L.
> 
> If you post the revised patch, I'll be happy to review it. 

Looks like this is the diff of the autogen.sh from xorg-test as applied
to xorg-xserver:

diff --git a/autogen.sh b/autogen.sh
index 4e8b11b..a08311b 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -6,7 +6,6 @@ test -z "$srcdir" && srcdir=.
 ORIGDIR=`pwd`
 cd $srcdir
 
-autoreconf --force -v --install || exit 1
+autoreconf -v --install || exit 1
 cd $ORIGDIR || exit $?
 
-$srcdir/configure --enable-maintainer-mode "$@"

So if we're going with the "use xorg-gtest autogen.sh" approach, the
main question is: Use --force or not?  It doesn't matter to me because
my build system builds ONLY from git, and X.org modules don't include
pregenerated configure scripts in git (because you're sane). 

However, someone may want to rerun auto* from a Linux distribution
"package" where they build from tarballs (because they're stuck in the
1990s), and it would help them if --force was used.


___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-06-14 Thread Gaetan Nadon
On 12-06-14 11:17 AM, Colin Walters wrote:
> On Sat, 2012-06-09 at 17:26 -0400, Gaetan Nadon wrote:
>
>> I'd rather have a script change only and drop the "install through
>> util-macros" part. This will reduce the overall complexity and reduce
>> the number of places to investigate when things go wrong. Changes to
>> the script are likely to be several years apart. 
> Makes sense.
>
>> A note about http://cgit.freedesktop.org/xorg/test/xorg-gtest/. This
>> module has a different script (the only one so far) which never
>> runs ./configure. Chase Douglas is actively maintaining this module.
>> The new script you are proposing might just well be what he was
>> waiting for.
> Yes, that autogen.sh is fine.  The build API doesn't care whether or not
> autogen.sh runs configure by default or not, merely that there is a
> standard way to ensure it doesn't.
Ok
>
>> Overall there are about 240 modules that are being published at
>> different intervals. The list can be obtained by running
>> modular/build.sh -L.
>>
>> If you post the revised patch, I'll be happy to review it. 
> Looks like this is the diff of the autogen.sh from xorg-test as applied
> to xorg-xserver:
>
> diff --git a/autogen.sh b/autogen.sh
> index 4e8b11b..a08311b 100755
> --- a/autogen.sh
> +++ b/autogen.sh
> @@ -6,7 +6,6 @@ test -z "$srcdir" && srcdir=.
>  ORIGDIR=`pwd`
>  cd $srcdir
>  
> -autoreconf --force -v --install || exit 1
> +autoreconf -v --install || exit 1
>  cd $ORIGDIR || exit $?
>  
> -$srcdir/configure --enable-maintainer-mode "$@"
>
> So if we're going with the "use xorg-gtest autogen.sh" approach, the
> main question is: Use --force or not?  It doesn't matter to me because
> my build system builds ONLY from git, and X.org modules don't include
> pregenerated configure scripts in git (because you're sane). 
That was one additional change I intended to make in the xorg modules,
that is, using --force. Currently only the xserver and gtest uses it.
The reason I wanted to switch all modules to use --force is in the case
where the source is built with different versions of autotools. Of
course it does not happen often, but it's quite a pain to investigate.
>
> However, someone may want to rerun auto* from a Linux distribution
> "package" where they build from tarballs (because they're stuck in the
> 1990s), and it would help them if --force was used.
>
Note that autogen.sh is not shipped in tarballs except in some modules
where a controversy exists. I noticed the jhbuild system and the
modular/build.sh looks at the presence of this file to make some
decisions. I did as much reading as I could on the topic, I found that
autogen.sh is a "legacy" script prior to the introduction of autoreconf
as there were too many commands to type. It's not part of the GNU build
system and isn't included in any GNU tarballs.

There are two main reasons why we have identical scripts in all (but a
couple) modules. It would be very disruptive to the developers if there
were several behaviours to cope with. One would have to make a mental
note which modules behave differently. Writing and applying patches is a
lot easier.

It looks like the original patch at the top of the thread is still
valid. It allows you to avoid any xorg internal issues as it only adds a
test around the configure call. I could not get it to apply, however.
Perhaps it is the attachment or something. Maybe using git send-email
will help. Because of the --force difference, you'll need of path for
the xserver (which can only be applied by Keith) and one for the rest of
the modules. FYI I'll be away for a week tomorrow.

>

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: [PATCH] Change autogen.sh scripts to respect NOCONFIGURE

2012-07-11 Thread Colin Walters
(Sorry for taking up people's time with the autogen.sh trivia, I know
 many of you have more important stuff to do, but once this lands I can
 use the fact that both GNOME and X.org do the same thing as leverage
 on smaller projects, and that helps me get much closer to my ideal
 of having a large swath of the "stuff between linux-kernel and GNOME"
 build in the exact same way.  I've already got mesa patched for
 example.)

On Thu, 2012-06-14 at 16:02 -0400, Gaetan Nadon wrote:

> That was one additional change I intended to make in the xorg modules,
> that is, using --force. Currently only the xserver and gtest uses it.
> The reason I wanted to switch all modules to use --force is in the case
> where the source is built with different versions of autotools. Of
> course it does not happen often, but it's quite a pain to investigate.

Sure, I have no opinion either way.  My build system simply *always*
builds from a clean git tree (i.e. git checkout ; git clean
-dfx), so there are never existing files to override.

> Note that autogen.sh is not shipped in tarballs except in some modules
> where a controversy exists. I noticed the jhbuild system and the
> modular/build.sh looks at the presence of this file to make some
> decisions. I did as much reading as I could on the topic, I found that
> autogen.sh is a "legacy" script prior to the introduction of autoreconf
> as there were too many commands to type. It's not part of the GNU build
> system and isn't included in any GNU tarballs.

Right.  The complicating factor is basically that while
"autoreconf -vfi" is good enough for most people, in GNOME (not GNU) for
various reasons (mostly historical now), we've added additional things
that follow a "run in autogen.sh, include in make dist" model.  Namely,
gtk-doc and intltool.  See for example:
http://git.gnome.org/browse/glib/tree/autogen.sh?id=eda1735029e01d6391fe8a4cde6c5688727c8183#n27

And see also http://comments.gmane.org/gmane.linux.embedded.poky/7153
where I discuss this with the OpenEmbedded/Yocto maintainer.

> It looks like the original patch at the top of the thread is still
> valid. It allows you to avoid any xorg internal issues as it only adds a
> test around the configure call. I could not get it to apply, however.
> Perhaps it is the attachment or something. Maybe using git send-email
> will help. Because of the --force difference, you'll need of path for
> the xserver (which can only be applied by Keith) and one for the rest of
> the modules. FYI I'll be away for a week tomorrow.

The patch I'm applying to most of X.org presently is:
http://git.gnome.org/browse/gnome-ostree/tree/patches/xorg-autogen.patch?id=7f36046a86695492ff7cc081e6ed6583f1aaa755


___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel