Downgrade command ?

linux_learner linux.learner at gmail.com
Sun Nov 26 11:19:30 PST 2006


On 11/26/06, Pascal Bleser <pascal.bleser at skynet.be> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> linux_learner wrote:
> >> On 11/26/06, Pascal Bleser <pascal.bleser at skynet.be> wrote:
> >> Would it possible to implement a "downgrade" command, that would
> >> downgrade specified (or all) packages to the latest known version ?
> >>
> >> It does happen that people add experimental repositories (e.g. latest
> >> GNOME or X.org version), find that it causes issues and want to
> >> downgrade to the packages shipped with the stable distribution.
> >>
> >> With such a "downgrade" command (or a flag to "upgrade"), it would be
> >> made a lot easier, as smart has the information about what's the latest
> >> version (in the enabled repositories) of all packages.
> >>
> >> Hard to implement ?
> >>
> >> Can smart be tricked to do that now ?
> >> Maybe be setting the RPM database's priority to a lower value than the
> >> channels ? (or the stable repository channel's priority higher than the
> >> RPM DB ?)
> >
> > I am in favor of this. It has to be somewhat possible since zen has a
> > rollback feature. It would certainly save alot of users frustration
> > and headaches.
>
> Note that the current process for doing that with smart is e.g.
> smart install libgnome-2.12.0.1-26 ...
>
> You have to specify the full package name-version-release to have smart
> consider doing a downgrade.
>
> If one just says
> smart install libgnome
> it will fail, smart saying that libgnome-... is already installed.
>
> upgrade obviously doesn't work either, as smart will say that a newer
> version is already installed (makes sense ;)).
>
> So (IMHO) what we would need is a "downgrade" command, that would
> downgrade a package to the latest known version as of the repository
> metadata.
>
> Would be very handy at times ;)
>
> Note that it isn't a perfect solution, as downgrading is much more
> complex than what it might look like at first sight.
> Upgrade may obsolete packages and replace some by others (sometimes one
> package replaced by several others), so it will never be perfect unless
> using some sort of checkpointing/freezing (and even then it's non-trivial).
> But still, even if it only solves 90-95% of the package downgrades
> properly (which it does when doing it manually), it would be a big help.
>
> PS: please don't top-post ^^
>
> cheers
> - --
>   -o) Pascal Bleser     http://linux01.gwdg.de/~pbleser/
>   /\\ <pascal.bleser at skynet.be>       <guru at unixtech.be>
>  _\_v The more things change, the more they stay insane.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.2 (GNU/Linux)
>
> iD8DBQFFabLgr3NMWliFcXcRAp08AJ0SwkxtN28ztbA0yfHWL5uCTtRUqACeMGfN
> cp/WT7Z/jxtnIDSV07cxS+w=
> =Yfs9
> -----END PGP SIGNATURE-----
>


I understand and support your idea. I understand that reinstall is the
closest smart has to offer, but would require specific version. I also
understand zen rollback.

rollback (ro) <options> <date>
              Roll back package transactions to the time and date you specify.
              The time to which you roll back must be a time after you set the
              "rollback"  option  to "true" using rug set (see rcd.conf(5) for
              more information). Rollback works  only  on  RPM-based  systems.
              Versions  to  which  you downgrade must be available on your Red
              Carpet Enterprise server.

              -d, --download-only Only download packages.
              -N, --dry-run Test, but do not actually perform,  the  requested
              actions.
              -y, --no-confirmation Do not ask for confirmation when downgrad‐
              ing. Removal of software that is not being downgraded will still
              require confirmation unless combined with the -r flag.
              -r,  --allow-removals Permit removal of software without confir‐
              mation.
              -d,  --download  Download  but  do  not  install,  any  software
              required for the downgrade.


              General Options:
              --normal-output Normal output (default)
              --terse Terse output
              --quiet Quiet output, print only error messages
              --debug Debug output, print full exception traces


              For example, rug rollback "03/30/2005 15:55:56"  rolls  back  to
              this  date  and time. rug rollback "15:55:56" rolls back to this
              time today.



More information about the Smart mailing list