Monday, September 14, 2009

libzypp-6.15.0: Support for nfs4:// url scheme added.

With libzypp-6.15.0 there are actually two formats cause '-t nfs4' to be passed to the mount command:

  1. nfs4://nfs-server/exported/path (preferred)

  2. nfs://nfs-server/exported/path&type=nfs4



libzypp-6.16.0: Download policies for commit

With libzypp-6.16.0 there is a new option commit.downloadMode available in /etc/zypp/zypp.conf.

  • DownloadOnly: Just download all packages to the local cache. Do not install. Implies a dry-run.

  • DownloadInAdvance: First download all packages to the local cache. Then start to install.

  • DownloadInHeaps: Similar to DownloadInAdvance, but try to split the transaction into heaps, where at the end of each heap a consistent system state is reached. (Not yet supported by the solver, so currenty the same as DownloadInAdvance)

  • DownloadAsNeeded: Alternating download and install. Packages are cached just to avoid CD/DVD hopping. This is the traditional behavior.

  • NOT SET: If the value is not set, empty or unknown, we pick some save default.



Friday, August 7, 2009

libzypp-6.13.1:Services using old libraries after update

libzypp-6.13.1 provides class CheckAccessDeleted and an example command zypp-CheckAccessDeleted to check for running processes which access meanwhile deleted files or libraries. This may be used after commit, when trying to figure out which services need to be restated.

$ zypp-CheckAccessDeleted
PID PPID UID LOGIN COMMAND SERVICE FILES
1900 1 216 ma wish - /lib/libexpat.so.1
3662 2784 216 ma wmaker - /lib/libexpat.so.1
3791 3662 216 ma gpg-agent - /lib/libgpg-error.so.0
3844 1 0 root fetchmail fetchmail /var/run/nscd/dbOioVty
3856 3662 216 ma wmaker - /lib/libexpat.so.1
3873 3859 216 ma wish - /lib/libexpat.so.1
(I know, fetchmail should not be run as root)

The data are currently collected via lsof. The SERVICE column will try to figure out (guess) if there is a rcscript in /etc/init.d which might be used to restart the process. This part still needs to be improved.

Thursday, July 16, 2009

libzypp-6.10.4: Tune automatically created solver testcases (zypper dup)

With previous versions of libzypp, each call to zypper dup created a solver testcase in /var/log/updateTestcase-DATE, even if you decided not to perform the update. This took a long time and wasted diskspace, because those testcases were never deleted.

With libzypp-6.10.3 a testcase is auto generated only if you actually perform the upgrade.

With libzypp-6.10.4 there is a also new option solver.upgradeTestcasesToKeep available in /etc/zypp/zypp.conf. The number tells how many auto generated testcases to keep (default: 2). Use 0 to turn off auto generation of testcases.

Wednesday, May 27, 2009

libzypp-6.6.0: Disable the solvers vendor check

This is for sure an expert option. If you plan to use it, be sure your repository priorities are in a good shape.

With libzypp-6.6.0 there is a new option solver.allowVendorChange available in /etc/zypp/zypp.conf. Enabling this option, the solver will consider packages based on repository priority, architecture and version only. The solver will no longer refuse to update installed packages with versions from a different vendor.

Note that it is also possible for applications (zypper, YaST, etc.) to override the default. The zypp::Resolver interface provides methods to change this option.

Wednesday, April 1, 2009

libzypp-6.4.0: zypp.conf hint which media to prefer when installing packages (download vs. CD)

You have two or more repositories with similar content but located on different media?
You want to tell zypp that you prefer packages being installed from CD rather than being downloaded?

In the past a common solution was to give a higher priority to the preferred repository:
$ zypper lr -pu
Name | Priority | URI
openSUSE-11.1 80 dvd:///
openSUSE-11.1-Oss 99 http://download.opensuse.org/distribution/11.1/repo/oss

Disadvantage of this approach: Due to the higher priority the solver will not consider the online repo, as long as there is a matching package on the DVD. Even if the online repo contains a newer version. Even worse, if you manually installed a package from the online repo, 'zypper dup' may try to reinstall the DVD package, because you prefer this repo.

With libzypp-6.4.0 there is a new option download.media_preference available in /etc/zypp/zypp.conf. This allows you to assign the same priority to those repos, so the solver will always pick the best package. But in case the best package is avaiable on different media, it will be selected according to the download.media_preference. Valid values for this option are:

  • download - download rather than using CD/DVD (default)
  • volatile - ask for CD/DVD rather than downloading

This is how it could look like:
$ zypper lr -pu
Name | Priority | URI
openSUSE-11.1 99 dvd:///
openSUSE-11.1-Oss 99 http://download.opensuse.org/distribution/11.1/repo/oss

$grep download.media_preference /etc/zypp/zypp.conf
download.media_preference = volatile

Monday, January 26, 2009

'openSUSE Build Service' breaks zypp vendor check

Per default libzypp does not automatically update a package if this would incur a vendor change.

Unfortunately OBS uses 'openSUSE Build Service' as vendor string, which is per default treated
equivalent to 'openSUSE' distro. That way OBS packages could automatically replace distro packages
without warning. Something you usually do not want.

As a workaround you can define OBS and openSUSE to be treated as different vendors. Just mention OBS explicitly in /etc/zypp/vendor.d:

---[file: /etc/zypp/vendor.d/obs]------
[main]
vendors = opensuse build service
---------------------------------------

libzypp-5.27 will do this per default.