/usr/lib/emacsen-common/emacs-package-remove is in emacsen-common 2.0.8.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #!/usr/bin/perl -w
use Errno;
use strict;
my $lib_dir = "/usr/lib/emacsen-common";
my $invoked_by_old_pkg;
my $pkg;
require $lib_dir . "/lib.pl";
umask 0022 or die "emacs-remove: can't set umask, aborting.";
sub usage
{
my($file_handle) = @_;
if($invoked_by_old_pkg)
{
print $file_handle "Usage: emacs-package-remove FLAVOR\n";
}
else
{
print $file_handle "Usage: emacs-package-remove --prerm FLAVOR\n";
}
}
if(scalar(@ARGV) == 1)
{
$invoked_by_old_pkg = 1;
$pkg = $ARGV[0];
}
elsif (scalar(@ARGV) == 2 && $ARGV[0] eq '--prerm')
{
$pkg = $ARGV[1];
}
else
{
usage(*STDERR{IO});
exit(1);
}
validate_add_on_pkg($pkg, 'emacs-package-remove', $invoked_by_old_pkg);
# Silence "single use" warning.
$::installed_package_state_dir = $::installed_package_state_dir;
my @installed_flavors = get_installed_flavors();
my $script = $lib_dir . "/packages/remove/$pkg";
if(!$invoked_by_old_pkg)
{
foreach my $flavor (@installed_flavors)
{
print "Remove $pkg for $flavor\n";
if(-e $script && (system($script, $flavor) != 0))
{
print STDERR "ERROR: remove script from $pkg package failed\n";
exit(1);
}
}
}
else # $invoked_by_old_pkg
{
print "Remove $pkg for emacs\n";
ex($script, 'emacs', @installed_flavors) if -e $script;
foreach my $flavor (@installed_flavors)
{
print "Remove $pkg for $flavor\n";
if(-e $script && (system($script, $flavor, @installed_flavors) != 0))
{
print STDERR "ERROR: remove script from $pkg package failed\n";
exit(1);
}
}
}
die "ERROR: cannot unlink $::installed_package_state_dir/$pkg: $!, "
unless (unlink("$::installed_package_state_dir/$pkg") or $!{ENOENT});
|