zypper has grown up, no babysitting or hand holding required:
- Solver defaults are annoying. Tweaked them:
erlangen:~ # grep ^solver /etc/zypp/zypp.conf
solver.onlyRequires = true
solver.allowVendorChange = true
solver.dupAllowVendorChange = true
solver.cleandepsOnRemove = true
erlangen:~ #
-
Repository priorities for the real world user
“Use additional repositories with confidence. The topic of additional repositories comes up on a regular basis. The official position is to submit everything to Factory to avoid the issue, but for a large number of reasons this cannot always be the case. As such users living in the real world have to navigate the unsupported landscape. By far the best approach is to use repository priorities available through libzypp, but unfortunately this is not well known.” -
Use a systemd service:
erlangen:~ # systemctl cat dup.*
# /etc/systemd/system/dup.service
[Unit]
Description=zypper dist-upgrade
After=purge-kernels.service btrbk.service
[Service]
ExecStartPre=/usr/local/bin/check-opensuse
ExecStart=/usr/bin/zypper --non-interactive dist-upgrade
# /etc/systemd/system/service.d/toplevel-override.conf
[Unit]
OnFailure=failure-notification@%n
# /etc/systemd/system/dup.timer
[Unit]
Description=zypper dist-upgrade
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
erlangen:~ #