List Info

Thread: Replacing Excludearch/Exclusivearch with cpu-vendor-os patterns




Replacing Excludearch/Exclusivearch with cpu-vendor-os patterns
country flaguser name
United States
2007-03-29 07:36:47
SSIA

I'm going to add a single new tag which takes a comma
separated list  
of patterns

     BuildPlatforms:

and handle existing
     BuildArch:
     ExcludeArch:
     ExclusiveArch:
     ExcludeOs:
     ExclusiveOs:
as (obvious) degenerate cases.

The code is a bit twitchy because of hysterical (and largely
unused)
complexities, so watch for breakage.

Hmmm, this (meaningless but parseable) construct is likely
to have  
been broken
in rpm forever:

...
%ifnarch noarch
ExcludeArch: noarch
%endif
BuildArch: noarch
...

What's broken is that a parse recursion starts immediately
when  
BuildArch is
encountered, so the above honors ExcludeArch: while
inverting the order
in the spec file
...

BuildArch: noarch
%ifnarch noarch
ExcludeArch: noarch
%endif

will not ever parse the ExcludeArch: tag.

The spec file parser in rpmbuild is full of undocumented
gotchas like  
this.

My goal is to try to remove as many of the creepy side
effects as  
possible.

73 de Jeff

  
    
_______________________________________________
Rpm-devel mailing list
Rpm-devellists.dulug.duke.edu
https://lists.dulug.duke.edu/mailman/listinfo/rpm-devel

Re: Replacing Excludearch/Exclusivearch with cpu-vendor-os patterns
user name
2007-03-29 08:25:22
I dig it conceptually, I think it goes a long ways towards
cleaning up
distro handling (I could see it being immensely useful in
JPackage
land for example).  Just for my own edification, can you
provide a
quick example syntax?
Jason

On 3/29/07, Jeff Johnson <n3npqmac.com> wrote:
> SSIA
>
> I'm going to add a single new tag which takes a comma
separated list
> of patterns
>
>      BuildPlatforms:
>
> and handle existing
>      BuildArch:
>      ExcludeArch:
>      ExclusiveArch:
>      ExcludeOs:
>      ExclusiveOs:
> as (obvious) degenerate cases.
>
> The code is a bit twitchy because of hysterical (and
largely unused)
> complexities, so watch for breakage.
>
> Hmmm, this (meaningless but parseable) construct is
likely to have
> been broken
> in rpm forever:
>
> ...
> %ifnarch noarch
> ExcludeArch: noarch
> %endif
> BuildArch: noarch
> ...
>
> What's broken is that a parse recursion starts
immediately when
> BuildArch is
> encountered, so the above honors ExcludeArch: while
inverting the order
> in the spec file
> ...
>
> BuildArch: noarch
> %ifnarch noarch
> ExcludeArch: noarch
> %endif
>
> will not ever parse the ExcludeArch: tag.
>
> The spec file parser in rpmbuild is full of
undocumented gotchas like
> this.
>
> My goal is to try to remove as many of the creepy side
effects as
> possible.
>
> 73 de Jeff
>
>
>
> _______________________________________________
> Rpm-devel mailing list
> Rpm-devellists.dulug.duke.edu
> https://lists.dulug.duke.edu/mailman/listinfo/rpm-devel
>
_______________________________________________
Rpm-devel mailing list
Rpm-devellists.dulug.duke.edu
https://lists.dulug.duke.edu/mailman/listinfo/rpm-devel

Re: Replacing Excludearch/Exclusivearch with cpu-vendor-os patterns
user name
2007-03-29 11:31:41
On 3/29/07, Jason Corley <jason.corleygmail.com> wrote:
> I dig it conceptually, I think it goes a long ways
towards cleaning up
> distro handling (I could see it being immensely useful
in JPackage
> land for example).  Just for my own edification, can
you provide a
> quick example syntax?

I'm nowhere near commiting to syntax representation.

The conceptual problem that needs to be solved is pkg
<-> platform
affinity.

One half of that problem has been solved by adding patterns
to
/etc/rpm/platform to replace the arch/os compatibility
tables that
used to reside in rpmrc.

The other half of the problem that I'm solving now is the
affinity represented
by ExcludeArch: et al.

FWIW, someone ought to start looking at what patterns make
sense to
be carried as the default configuration in rpm, now that
/usr/lib/rpm/rpmrc
is not read by default.

Or wait for me to inflict something on everyone ...

73 de Jeff
_______________________________________________
Rpm-devel mailing list
Rpm-devellists.dulug.duke.edu
https://lists.dulug.duke.edu/mailman/listinfo/rpm-devel

Re: Replacing Excludearch/Exclusivearch with cpu-vendor-os patterns
country flaguser name
United States
2007-03-30 08:15:48
Speak of the Devil ...

This is likely a manifestation of the rpmbuild parsing flaw
I described:

     https://www.redhat.com/archives/fedora-devel-list/2
007-March/ 
msg01831.html

73 de Jeff

On Mar 29, 2007, at 8:36 AM, Jeff Johnson wrote:

> SSIA
>
> I'm going to add a single new tag which takes a comma
separated  
> list of patterns
>
>     BuildPlatforms:
>
> and handle existing
>     BuildArch:
>     ExcludeArch:
>     ExclusiveArch:
>     ExcludeOs:
>     ExclusiveOs:
> as (obvious) degenerate cases.
>
> The code is a bit twitchy because of hysterical (and
largely unused)
> complexities, so watch for breakage.
>
> Hmmm, this (meaningless but parseable) construct is
likely to have  
> been broken
> in rpm forever:
>
> ...
> %ifnarch noarch
> ExcludeArch: noarch
> %endif
> BuildArch: noarch
> ...
>
> What's broken is that a parse recursion starts
immediately when  
> BuildArch is
> encountered, so the above honors ExcludeArch: while
inverting the  
> order
> in the spec file
> ...
>
> BuildArch: noarch
> %ifnarch noarch
> ExcludeArch: noarch
> %endif
>
> will not ever parse the ExcludeArch: tag.
>
> The spec file parser in rpmbuild is full of
undocumented gotchas  
> like this.
>
> My goal is to try to remove as many of the creepy side
effects as  
> possible.
>
> 73 de Jeff
>
>   _______________________________________________
> Rpm-devel mailing list
> Rpm-devellists.dulug.duke.edu
> https://lists.dulug.duke.edu/mailman/listinfo/rpm-devel

_______________________________________________
Rpm-devel mailing list
Rpm-devellists.dulug.duke.edu
https://lists.dulug.duke.edu/mailman/listinfo/rpm-devel

[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )