[NOT A SOLUTION] Fwd: automatically modifying scriptlets (included files) at package build time

Eddy Petrișor eddy.petrisor at gmail.com
Tue Mar 18 15:12:42 UTC 2008


On 18/03/2008, Ralf Corsepius <rc040203 at freenet.de> wrote:
>
>  On Tue, 2008-03-18 at 16:33 +0200, Eddy Petrișor wrote:
>  > On 18/03/2008, Ralf Corsepius <rc040203 at freenet.de> wrote:
>
>
> > >  You will want to work on copies of your SOURCEX's instead of SOURCEX
>  > >  directly.
>  >
>  > I will dig into this, since I really dislike having outside scripts doing this.
>
>
> I'd assume you to be pretty close to a functional solution and to be
>  facing issues with details of your implementation.

Actually, I am stuck because it seems that the alteration happening in
the %prep phase either happens too late or happens on some temporary
files which do not end up in the binary rpm.

I suspect the later, since I see this in the build log:

+ . common.inf
++ VERS=2
++ SUBVERS=1
++ RELEASE=.i4.22
++ echo 2.1..i4.22
++ tr -s .
+ export THISVER=2.1.i4.22
+ THISVER=2.1.i4.22
+ echo 'This version (as sourced from the package) is: 2.1.i4.22'
This version (as sourced from the package) is: 2.1.i4.22
+ sed -i 's#^THISVER=.*#THISVER="2.1.i4.22"#'
/usr/src/redhat/SOURCES/common.pre.sh
+ sed -i 's#^THISVER=.*#THISVER="2.1.i4.22"#'
/usr/src/redhat/SOURCES/common.post.sh
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.40197
+ umask 022
+ cd /usr/src/redhat/BUILD

>  sed'ing files (Belows of $RPM_BUILD_ROOT) in %prep or %build is the
>  standard approach to such issues.

But RPM_BUILD_ROOT refers to the contents of the package, while I need
to alter the meta part of the package.

>  It's the basis of how running an autoconf-generated configure works (sed
>  a template (X.in) into a file (X)) ;)

I already have this for the .deb packages, but I am fighting to port
this to .rpm, too.

-- 
Regards,
EddyP
=============================================
"Imagination is more important than knowledge" A.Einstein




More information about the fedora-devel-list mailing list