[opensuse-factory] [RFC] A better way to update config.{guess,sub}
Hi, With every new architecture, one needs to update config.guess and config.sub files to recent version so configure scripts will work. This is cumbersome because these files are huge and the patches will have to be refreshed with each release. Hence I'd like to propose a better way to do this. First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files. Then add an rpm macro like %update_config_guess_sub . which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around. Comments? -- SUSE LINUX Products GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Le jeudi 07 mars 2013 à 13:16 +0100, Ismail Doenmez a écrit :
Hi,
With every new architecture, one needs to update config.guess and config.sub files to recent version so configure scripts will work.
This is cumbersome because these files are huge and the patches will have to be refreshed with each release. Hence I'd like to propose a better way to do this.
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
Couldn't it be done by the %configure macro ?
FYI, a long long time ago, we had a similar tool in Mandriva, called
cputoolize
( http://mes5devel.mandriva.com/iurt/aginies/chroot_2010.1/usr/bin/cputoolize ) which was automatically called by %configure (it was dropped in 2009, no longer needed in 2003. (more info at http://web.archive.org/web/20100620082254/http://lists.mandriva.com/cooker-a... ).
Sounds like old problems are coming back again ;)
--
Frederic Crozat
On 07-03-2013 13:25, Frederic Crozat wrote:
Le jeudi 07 mars 2013 à 13:16 +0100, Ismail Doenmez a écrit :
Hi,
With every new architecture, one needs to update config.guess and config.sub files to recent version so configure scripts will work.
This is cumbersome because these files are huge and the patches will have to be refreshed with each release. Hence I'd like to propose a better way to do this.
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
Couldn't it be done by the %configure macro ?
It could be but then we sometimes don't want to use %configure but run configure manually for whatever reason. Also, explicit is better than implicit.
FYI, a long long time ago, we had a similar tool in Mandriva, called cputoolize ( http://mes5devel.mandriva.com/iurt/aginies/chroot_2010.1/usr/bin/cputoolize ) which was automatically called by %configure (it was dropped in 2009, no longer needed in 2003. (more info at http://web.archive.org/web/20100620082254/http://lists.mandriva.com/cooker-a... ).
Also, Gentoo has a similar macro since forever :)
Sounds like old problems are coming back again ;)
Its an ARMs race with new arches now ;) Regards. -- SUSE LINUX Products GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Thursday 2013-03-07 13:16, Ismail Doenmez wrote:
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
I have used BuildRequires: automake %build cp /usr/share/automake*/config.sub . %configure.. in one instance; dunno if it has sufficient merit, but it worked at that time. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 07-03-2013 13:46, Jan Engelhardt wrote:
On Thursday 2013-03-07 13:16, Ismail Doenmez wrote:
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
I have used
BuildRequires: automake %build cp /usr/share/automake*/config.sub . %configure..
in one instance; dunno if it has sufficient merit, but it worked at that time.
This is bad because we can't update automake all the time because it breaks backward compatibility. But we could always update gnuconfig easily. -- SUSE LINUX Products GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Quoting Ismail Doenmez
On 07-03-2013 13:46, Jan Engelhardt wrote:
On Thursday 2013-03-07 13:16, Ismail Doenmez wrote:
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
I have used
BuildRequires: automake %build cp /usr/share/automake*/config.sub . %configure..
in one instance; dunno if it has sufficient merit, but it worked at that time.
This is bad because we can't update automake all the time because it breaks backward compatibility. But we could always update gnuconfig easily.
But we can patch automake to have the version we require... which still means having only one patch to maintain... Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 07-03-2013 14:52, Dominique Leuenberger a.k.a. Dimstar wrote:
Quoting Ismail Doenmez
: On 07-03-2013 13:46, Jan Engelhardt wrote:
On Thursday 2013-03-07 13:16, Ismail Doenmez wrote:
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
I have used
BuildRequires: automake %build cp /usr/share/automake*/config.sub . %configure..
in one instance; dunno if it has sufficient merit, but it worked at that time.
This is bad because we can't update automake all the time because it breaks backward compatibility. But we could always update gnuconfig easily.
But we can patch automake to have the version we require... which still means having only one patch to maintain...
This would of course work and its a good approach. So fine by me unless people disagree. Regards. -- SUSE LINUX Products GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Ismail Doenmez
Then add an rpm macro like
%update_config_guess_sub .
Funny, we just got rid of %suse_update_config ... Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Thursday 2013-03-07 14:35, Andreas Schwab wrote:
Ismail Doenmez
writes: Then add an rpm macro like
%update_config_guess_sub .
Funny, we just got rid of %suse_update_config ...
%suse_update_config did a lot more IIRC... such as substituting in the right $libdir default or so. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Quoting Ismail Doenmez
Hi,
With every new architecture, one needs to update config.guess and config.sub files to recent version so configure scripts will work.
This is cumbersome because these files are huge and the patches will have to be refreshed with each release. Hence I'd like to propose a better way to do this.
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
We already have two packages containing config.guess and config.sub: - libtool - automake Patching the one in automake and trigger autoreconf in the packages should be sufficient to ensure there are recent enough files.. of course it's possible that automake copies and piggy-packs from other locations as well (possibly from config.git?) but me too, I think patching these files is just wrong... My usual approach is: if the file does not live in the upstream VCS, then it's wrong to patch it :) As for the macros: *IF* we go that route: why not have %configure do the logic and copy the right files? Instead of messing up all packages with an additional macro? Best regards, Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 07-03-2013 14:41, Dominique Leuenberger a.k.a. Dimstar wrote:
Quoting Ismail Doenmez
: Hi,
With every new architecture, one needs to update config.guess and config.sub files to recent version so configure scripts will work.
This is cumbersome because these files are huge and the patches will have to be refreshed with each release. Hence I'd like to propose a better way to do this.
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
We already have two packages containing config.guess and config.sub: - libtool - automake
These are not always up to date :) e.g aarc64 case.
Patching the one in automake and trigger autoreconf in the packages should be sufficient to ensure there are recent enough files.. of course it's possible that automake copies and piggy-packs from other locations as well (possibly from config.git?) but me too, I think patching these files is just wrong...
My usual approach is: if the file does not live in the upstream VCS, then it's wrong to patch it :)
As for the macros: *IF* we go that route: why not have %configure do the logic and copy the right files? Instead of messing up all packages with an additional macro?
Because explicit is always better than implicit. I might want to do ../configure instead of %configure. No need to make %configure more complicated and its already is. Regards. -- SUSE LINUX Products GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Quoting Ismail Doenmez
We already have two packages containing config.guess and config.sub: - libtool - automake
These are not always up to date :) e.g aarc64 case.
Patch them and have one source of truth... don't carry the same file too often: it's confusing and nobody knows where to patch in the end.
As for the macros: *IF* we go that route: why not have %configure do the logic and copy the right files? Instead of messing up all packages with an additional macro?
Because explicit is always better than implicit. I might want to do ../configure instead of %configure. No need to make %configure more complicated and its already is.
If I don't want to use %configure but want to ./configure -bla for whatever reason, I can as well cp the file from /usr/share or even execute autoreconf... why would I want to use the new macro then? :) Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 03/07/2013 09:16 AM, Ismail Doenmez wrote:
Comments?
-1000000!! - yet another hack. packages should issue autoreconf. - please. do not add new, backward incompatible,obscure macros,spec files are already horrendously ugly. - if running autoreconf is not enough, autotools have to be updated/patched. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 07-03-2013 17:22, Cristian Rodríguez wrote:
On 03/07/2013 09:16 AM, Ismail Doenmez wrote:
Comments?
-1000000!!
- yet another hack. packages should issue autoreconf.
- please. do not add new, backward incompatible,obscure macros,spec files are already horrendously ugly.
- if running autoreconf is not enough, autotools have to be updated/patched.
FWIW I am informed that updated rpm package will fix this issue transparently, hence nothing to fix/add. Sorry! ;) -- SUSE LINUX Products GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 07.03.2013 17:27, Ismail Doenmez wrote:
On 07-03-2013 17:22, Cristian Rodríguez wrote:
On 03/07/2013 09:16 AM, Ismail Doenmez wrote:
Comments?
-1000000!!
- yet another hack. packages should issue autoreconf.
- please. do not add new, backward incompatible,obscure macros,spec files are already horrendously ugly.
- if running autoreconf is not enough, autotools have to be updated/patched.
FWIW I am informed that updated rpm package will fix this issue transparently, hence nothing to fix/add.
Of course that rpm is nowhere near the build service but just a myth? Greetings, Stephan -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Donnerstag, 7. März 2013, 17:29:46 wrote Stephan Kulow:
On 07.03.2013 17:27, Ismail Doenmez wrote:
On 07-03-2013 17:22, Cristian Rodríguez wrote:
On 03/07/2013 09:16 AM, Ismail Doenmez wrote:
Comments?
-1000000!!
- yet another hack. packages should issue autoreconf.
- please. do not add new, backward incompatible,obscure macros,spec files are already horrendously ugly.
- if running autoreconf is not enough, autotools have to be updated/patched.
FWIW I am informed that updated rpm package will fix this issue transparently, hence nothing to fix/add.
Of course that rpm is nowhere near the build service but just a myth?
You can find it here: devel:ARM:AArch64:Factory rpm Have a look in hack-setup-macro.diff, patch is by Andreas Schwab. Yes, should be submitted. -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de
On Thu, 7 Mar 2013, Ismail Doenmez wrote:
Hi,
With every new architecture, one needs to update config.guess and config.sub files to recent version so configure scripts will work.
This is cumbersome because these files are huge and the patches will have to be refreshed with each release. Hence I'd like to propose a better way to do this.
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
Just deal with it the every 10 years this happens. Or wait a bit
for upstream to catch up.
Richard.
--
Richard Biener
On Thu, Mar 07, 2013 at 01:16:27PM +0100, Ismail Doenmez wrote:
Hi,
With every new architecture, one needs to update config.guess and config.sub files to recent version so configure scripts will work.
This is cumbersome because these files are huge and the patches will have to be refreshed with each release. Hence I'd like to propose a better way to do this.
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
%suse_update_config did this ... and we just removed it. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 09.03.2013 11:24, Marcus Meissner wrote:
On Thu, Mar 07, 2013 at 01:16:27PM +0100, Ismail Doenmez wrote:
Hi,
With every new architecture, one needs to update config.guess and config.sub files to recent version so configure scripts will work.
This is cumbersome because these files are huge and the patches will have to be refreshed with each release. Hence I'd like to propose a better way to do this.
First of all, we'll package gnuconfig (http://git.savannah.gnu.org/cgit/config.git/tree/) which contains official GNU config.guess/sub files.
Then add an rpm macro like
%update_config_guess_sub .
which will copy the latest config.{guess,sub} from the filesystem to the directory passed by the second parameter. This way we won't have ugly patches around.
Comments?
%suse_update_config did this ... and we just removed it.
It was calling autoreconf for a long time now - which also copies config.* btw Greetings, Stephan -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (10)
-
Adrian Schröter
-
Andreas Schwab
-
Cristian Rodríguez
-
Dominique Leuenberger a.k.a. Dimstar
-
Frederic Crozat
-
Ismail Doenmez
-
Jan Engelhardt
-
Marcus Meissner
-
Richard Biener
-
Stephan Kulow