RPM Community Forums

Mailing List Message of <rpm-devel>

Re: [CVS] RPM: rpm/ TODO VENDOR rpm/build/ parsePreamble.c

From: Jeff Johnson <n3npq@mac.com>
Date: Thu 13 Dec 2007 - 20:16:13 CET
Message-Id: <05B80200-099D-4C05-A197-BE9963179363@mac.com>
Hmmm, what are you asking for?

Here's the current behavior with a "Blah: this should fail" tag in a  
spec file:
     $ xxxrpm -ba time.spec
     error: line 19: Unknown tag: Blah: this should fail
     $ rpm -E '%{_arbitrary_tags}'
     Foo:Bar:Baz

My guess is that you want the "Tag_0x12345678" generic syntax hardened.

73 de Jeff

On Dec 13, 2007, at 2:08 PM, Ralf S. Engelschall wrote:

>   RPM Package Manager, CVS Repository
>   http://rpm5.org/cvs/
>    
> ______________________________________________________________________ 
> ______
>
>   Server: rpm5.org                         Name:   Ralf S. Engelschall
>   Root:   /v/rpm/cvs                       Email:  rse@rpm5.org
>   Module: rpm                              Date:   13-Dec-2007  
> 20:08:16
>   Branch: HEAD                             Handle: 2007121319081600
>
>   Modified files:
>     rpm                     TODO VENDOR
>     rpm/build               parsePreamble.c
>
>   Log:
>     Remove the extra check as RPM already does what OpenPKG wants:  
> only tags
>     which are explicitly listed in %{_arbitrary_tags} are allowed.  
> I thought
>     the initial intention of RPM was to allow really even *unknown*  
> tags,
>     but what is actually implemented is different as tests showed...
>
>     Independent how RPM is further hacked on: we really need a way  
> to still
>     allow only tags which are explicitly listed. Whether this is  
> the default
>     (as it is the case currently) or has to be achieved via some  
> special
>     configuration does not matter. Please keep this in mind if you  
> want to
>     change RPM to accept really *unknown* tags...
>
>   Summary:
>     Revision    Changes     Path
>     1.70        +0  -1      rpm/TODO
>     2.8         +0  -6      rpm/VENDOR
>     2.157       +0  -6      rpm/build/parsePreamble.c
>    
> ______________________________________________________________________ 
> ______
>
>   patch -p0 <<'@@ .'
>   Index: rpm/TODO
>    
> ====================================================================== 
> ======
>   $ cvs diff -u -r1.69 -r1.70 TODO
>   --- rpm/TODO	13 Dec 2007 16:01:00 -0000	1.69
>   +++ rpm/TODO	13 Dec 2007 19:08:16 -0000	1.70
>   @@ -83,7 +83,6 @@
>        - jbj: ditto, patch-as-plain-macro.
>        - jbj: add macro disabler for scriptlet interpreter  
> dependencies, fold
>    	in no-require-bin-sh patch.
>   -    - jbj: fold in not-fully-arbitrary-tags by adding % 
> {_arbitrary_tags} test.
>        - jbj: Mandriva perl-URPM "make test" indicates a problem  
> querying binary
>    	package headers that would be produced by a spec file.
>    	Dvalin has found that reverting this patch
>   @@ .
>   patch -p0 <<'@@ .'
>   Index: rpm/VENDOR
>    
> ====================================================================== 
> ======
>   $ cvs diff -u -r2.7 -r2.8 VENDOR
>   --- rpm/VENDOR	12 Dec 2007 16:12:05 -0000	2.7
>   +++ rpm/VENDOR	13 Dec 2007 19:08:16 -0000	2.8
>   @@ -98,12 +98,6 @@
>         Reason:         for temporary backward compatibility only
>          
> ______________________________________________________________________ 
> __
>
>   -     Change:         not-fully-arbitrary-tags
>   -     Purpose:        do not allow fully arbitrary tags/headers
>   -     Reason:         we want to allow only those extra tags  
> which are
>   -                     explicitly configured in the macros
>   -      
> ______________________________________________________________________ 
> __
>   -
>         Change:         always-backup-on-patching
>         Purpose:        always create backup files on patching  
> files via %patch
>         Reason:         In OpenPKG we maintain our patches via "rpm  
> -bp" plus
>   @@ .
>   patch -p0 <<'@@ .'
>   Index: rpm/build/parsePreamble.c
>    
> ====================================================================== 
> ======
>   $ cvs diff -u -r2.156 -r2.157 parsePreamble.c
>   --- rpm/build/parsePreamble.c	8 Dec 2007 21:30:20 -0000	2.156
>   +++ rpm/build/parsePreamble.c	13 Dec 2007 19:08:16 -0000	2.157
>   @@ -796,11 +796,6 @@
>    	break;
>
>        default:
>   -#if defined(RPM_VENDOR_OPENPKG) /* not-fully-arbitrary-tags */
>   -	/* revert to old behaviour where *arbitrary* tags are *not*  
> allowed */
>   -	rpmlog(RPMLOG_ERR, _("Internal error: Bogus tag %d\n"), tag);
>   -	return RPMRC_FAIL;
>   -#else
>    	macro = 0;
>    	he->tag = tag;
>    	he->t = RPM_STRING_ARRAY_TYPE;
>   @@ -809,7 +804,6 @@
>    	he->append = 1;
>    	xx = headerPut(pkg->header, he, 0);
>    	he->append = 0;
>   -#endif
>    	break;
>        }
>
>   @@ .
> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> CVS Sources Repository                                rpm-cvs@rpm5.org
Received on Thu Dec 13 20:17:10 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.