Package: alien
Version: 8.64
Severity: wishlist

I can convert a relocatable rpm to deb with alien fine.  Alien forces the path 
to be the "Prefix:" field of the rpm seeing deb is not relocatable.  The rpms 
I use have a %post section which "alien -c" converts, except that the 
RPM_INSTALL_PREFIX is untouched.  When rpm installs a package, 
RPM_INSTALL_PREFIX is just the relocated "Prefix:" field.  Seeing alien 
removes the "Prefix:" field in the conversion, we can hard code 
RPM_INSTALL_PREFIX to that value in preinst/postinst etc.

Here is a patch for /usr/share/perl5/Alien/Package/Rpm.pm that works for my 
rpms:
91a92,101
>         # Fix RPM_INSTALL_PREFIX if defined.
>         if (defined $this->prefixes) {
>           my $path = $this->prefixes;
>         foreach my $field (('preinst','postinst','prerm','postrm')) {
>             $_=$this->$field;
>             $_ =~ s/\$\bRPM_INSTALL_PREFIX\b/${path}/g;
>             $this->$field($_);
>           }
>         }

That works for the basic use of $RPM_INSTALL_PREFIX in shell scripts.  I 
haven't done it above but it should also check the curly brackets version: 
${RPM_INSTALL_PREFIX}.  There might be other uses of shell variables I 
haven't taken care of, but this is a start and should cover the majority of 
cases.


Thanks,
Daniel.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to