not in a subshell; this is safer especially if odd filenames are
involved.
* When converting from rpm, only chmod each directory once, it was doing
it many times for some directories before.
* Fixed chmodding to use the correct path to the directory. This fixes
file permissions in rpm's converted to other formats, a bug introduced
at 7.0.
* Fixed some undefined value warnings (which pointed out real but rare
bugs).
* Fixed a rare, but bad little bug. If you ran alien in a directory that
had the suid/sgid bit set (as my home directory does), and generated
debs and probably other formats, it generated packages with the root
directory suid/sgid.
* Fixed newlines in tgz filelist.
* Fixed some undefined value warnings.
* Put the rpm spec file back in. Converting the debs to rpms fails
because rpm doesn't use the same perl include path. Bummer.
* Fixed duplicate alien man page problem.
objects. These objects can read all relevant details about a package, and
can generate packages based on that information. Thus, converting from one
format to another becomes a simple matter of generating one of these
objects, pointing it at a package, mutating it into the destination
class, and telling it to write the new package out! A basic alien can now
be written using these objects in one "line" of perl -- in fact, here is
one:
perl -MAlien::Package::Deb -MAlien::Package::Rpm -e '
$p=Alien::Package::Rpm->new(filename => shift); $p->unpack;
* Almost every line of code has been rewritten.
* Package descriptions now include a note that they were converted with
alien. There are other numerous changes to the converted packages, for
instance, generated .deb's now have more info in their copyright file.
* The template files were all moved inside the objects, which is actually
cleaner and is certainly easier to deal with.
* Usernames are now looked up the way POSIX intended.
* alien.1 is now generated from POD docs.
* Alien can now convert into multiple formats at once.
* Alien now always cleans up after failed converts, Closes: #62331
* Alien can now be used to just install a package with no conversion.
Closes: #53441
* Use a Makefile.PL because that seems to make sense, which means lots of
the build system had to be changed.