This is what the actual proper removal code looks like when you don't
miss the finer points of the framework.

Index: OpenBSD/Add.pm
===================================================================
RCS file: /cvs/src/usr.sbin/pkg_add/OpenBSD/Add.pm,v
retrieving revision 1.172
diff -u -p -r1.172 Add.pm
--- OpenBSD/Add.pm      27 Aug 2016 18:17:46 -0000      1.172
+++ OpenBSD/Add.pm      2 Mar 2017 18:53:04 -0000
@@ -385,32 +385,6 @@ sub build_args
        $self->add_entry($l, '-g', $self->{gid});
 }
 
-package OpenBSD::PackingElement::Sysctl;
-use OpenBSD::Error;
-
-sub install
-{
-       my ($self, $state) = @_;
-
-       my $name = $self->name;
-       $self->SUPER::install($state);
-       open(my $pipe, '-|', OpenBSD::Paths->sysctl, '-n', '--', $name);
-       my $actual = <$pipe>;
-       chomp $actual;
-       if ($self->{mode} eq '=' && $actual eq $self->{value}) {
-               return;
-       }
-       if ($self->{mode} eq '>=' && $actual >= $self->{value}) {
-               return;
-       }
-       if ($state->{not}) {
-               $state->say("sysctl -w #1 =! #2",
-                   $name, $self->{value}) if $state->verbose >= 2;
-               return;
-       }
-       $state->vsystem(OpenBSD::Paths->sysctl, '--', $name.'='.$self->{value});
-}
-
 package OpenBSD::PackingElement::FileBase;
 use OpenBSD::Error;
 use File::Basename;
Index: OpenBSD/PackingElement.pm
===================================================================
RCS file: /cvs/src/usr.sbin/pkg_add/OpenBSD/PackingElement.pm,v
retrieving revision 1.244
diff -u -p -r1.244 PackingElement.pm
--- OpenBSD/PackingElement.pm   25 Jun 2016 18:02:59 -0000      1.244
+++ OpenBSD/PackingElement.pm   2 Mar 2017 18:53:04 -0000
@@ -1313,29 +1313,6 @@ sub destate
        }
 }
 
-package OpenBSD::PackingElement::Sysctl;
-our @ISA=qw(OpenBSD::PackingElement::Action);
-
-sub keyword() { 'sysctl' }
-__PACKAGE__->register_with_factory;
-
-sub new
-
-{
-       my ($class, $args) = @_;
-       if ($args =~ m/^\s*(.*)\s*(\=|\>=)\s*(.*)\s*$/o) {
-               bless { name => $1, mode => $2, value => $3}, $class;
-       } else {
-               die "Bad syntax for \@sysctl";
-       }
-}
-
-sub stringize
-{
-       my $self = shift;
-       return $self->{name}.$self->{mode}.$self->{value};
-}
-
 package OpenBSD::PackingElement::ExeclikeAction;
 use File::Basename;
 use OpenBSD::Error;
@@ -1920,7 +1897,7 @@ sub register_old_keyword
 }
 
 for my $k (qw(src display mtree ignore_inst dirrm pkgcfl pkgdep newdepend
-    libdepend endfake ignore vendor incompatibility md5)) {
+    libdepend endfake ignore vendor incompatibility md5 sysctl)) {
        __PACKAGE__->register_old_keyword($k);
 }
 

Reply via email to