The runpipe interface is not a good one, it would be better to use
something that does not expose to the shell.
As a quick fix, quote filenames in runpipe calls. Too bad if you have a
quote character in a file though. Later need to find a better interface
or do full shell escaping.
(Patch by Duane Waddle, on a bug tracking system I don't frequent, that was
about the "expire" it 4 days from now. We got lucky Duane, but please use
the Debian BTS next time!)
Instead, avoid populating fields with empty strings if rpm fails to
get a field value, either due to not knowing the field, or due to the
field not being set.
Recent versions of rpm (such as 4.7.0) ignore the buildroot setting in
the spec file. Use the --buildroot option to ensure the correct
buildroot is used.
code to add.
* Don't assume that just because we know of a user or are root, that files
can go into the deb owned by that user, and come out right on install.
Instead, assume that any non-root user will not be on the target system
the rpm is installed on, and that it might be created in the preinst or
something, so add permissions fixup code for all such users.
directory failing if the directory already existed (and let it delete the
existing directory). Closes: #181061
* Fixed several other instances of the same precidence problem in the code.
working in recent versions of rpm, as shipped by red hat (Debian's rpm,
confusingly, continues to support rpm -bb, possibly because of how I hack
its popt stuff up for debian.) This may fail with older, pre-rpmbuild
rpm's; if so you should upgrade to a more current version I guess.
* Updated js2k patch from Gerald Turner.
users/groups in their preinst, and which alien therefore cannot ship the
files with proper ownerships in the .deb. In this case alien will now
insert appropriate chown commands into the postinst script of the
converted package.
* That only works when converting rpm to deb, not the other way around,
for now.
* Removed the cpio directory permissions fixup code, which was probably
broken, and is obsolete since I get directory perms from the rpm now.
known permissions setting from rpm --queryformat, so that it can override
any directories that do indeed have a permission set.
* Fixed MakeFile.PL to work with perl 5.8.
from rpm, ignore the icky file owners and perms from the cpio archive,
and query rpm for the real set that it overrides in the control data
structure. Closes: #151546
* If a preinstall script in a rpm starts like this:
# BEGINNING_OF_POST_DOT_SH
#!/bin/sh
Add anther hashbang at the top, so dpkg doesn't croak on it.
Closes: #137032
fully conformant with the LSB), and it can take LSB packages and convert
them into other formats. Unlike all the other conversions, lsb packages's
dependancy (on lsb) and their package scripts are preserved in the
generated packages (when allowed by the target package format). This means
your distribution will need to have a package named 'lsb' for the result
to be installable. (Debian will have one soon..)
* Suggest rpm-lsb, which is the preferred rpm to build lsb packages with.
Use it if it's present, plain old rpm otherwise.