On Sun, Jul 02, 2023 at 04:49:41PM +0200, Solène Rapenne wrote:
> On Sun, 2023-07-02 at 15:51 +0200, Marc Espie wrote:
> > Use-case: some people want to branch automated installs based on
> > whether
> > pkg_add -u (or some other variation) actually did something.
> > 
> > As usual we ignore quirks. This adds a flag (-DSYSPATCH_LIKE)
> > which governs the behavior. Code is fairly self-explanatory.
> > 
> > I had no better idea for the flag name so far, suggestions welcome.
> > 
> > 
> > +sub exit_code($self, $state)
> > +{
> > +       my $rc = $self->SUPER::exit_code($state);
> > +       if ($rc == 0 && $state->defines("SYSPATCH_LIKE")) {
> > +               if (!$state->{did_something}) {
> > +                       $rc = 2;
> > +               }
> > +       }
> > +       return $rc;
> > +}
> >  
> >  sub new_state($self, $cmd)
> >  {
> > 
> 
> if I read well, the exit code is 2 when something pkg_add changed
> something?
> 
> syspatch exits with 0 when installing an update, 1 if it fails, 2 if
> didn't do anything
> 
> Could it be possible to keep it consistent? pkg_add upgrading/installing
> a package should exit with 0, so it doesn't break current scripts, and
> this is what you would expect.
> 
> Although, it could exit with 2 if you asked to install a package that
> already exist. And 1 if pkg_add failed.
> 
> 
I think you missed a negation in the patch

Reply via email to