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]