mirror of
https://github.com/Project-OSS-Revival/alien.git
synced 2026-04-24 14:00:17 +00:00
* The great rewrite. Alien is now based on pure object oriented package
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.
This commit is contained in:
@@ -215,7 +215,7 @@ sub prep {
|
|||||||
my $filelist;
|
my $filelist;
|
||||||
foreach my $fn (@{$this->filelist}) {
|
foreach my $fn (@{$this->filelist}) {
|
||||||
if ($fn =~ m:/$:) {
|
if ($fn =~ m:/$:) {
|
||||||
# a directory. Skip entirely.
|
$filelist.="%dir $fn\n";
|
||||||
}
|
}
|
||||||
elsif (grep(m:^\Q$fn\E$:,@conffiles)) { # it's a conffile
|
elsif (grep(m:^\Q$fn\E$:,@conffiles)) { # it's a conffile
|
||||||
$filelist.="%config $fn\n";
|
$filelist.="%config $fn\n";
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ extra_install:
|
|||||||
|
|
||||||
alien:
|
alien:
|
||||||
perl -pe ' \
|
perl -pe ' \
|
||||||
$$_="\tmy \$$version_string=\"$(VER)\";" \
|
$$_="\tmy \$$version_string=\"$(VER)\";\n" \
|
||||||
if /VERSION_AUTOREPLACE/' alien.pl > alien
|
if /VERSION_AUTOREPLACE/' alien.pl > alien
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -39,6 +39,6 @@ WriteMakefile(
|
|||||||
# Pure evil. Hook into build and install targets
|
# Pure evil. Hook into build and install targets
|
||||||
'depend' => {'all:' => 'extra_build',
|
'depend' => {'all:' => 'extra_build',
|
||||||
'install:' => 'extra_install',
|
'install:' => 'extra_install',
|
||||||
'pure_install:' => 'extra_install'
|
'pure_install:' => 'extra_install'},
|
||||||
'clean' => {FILES => 'alien.lsm alien.subst'},
|
'clean' => {FILES => 'alien.lsm alien'},
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user