Bug 806568

Summary: zypp doesn't make use of set packagesdir
Product: [openSUSE] openSUSE 12.3 Reporter: Lars Müller <lmuelle>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: RC 1   
Target Milestone: ---   
Hardware: i586   
OS: SUSE Other   
Whiteboard: maint:released:sle11-sp2:53562
Found By: Development Services Priority:
Business Priority: Blocker: No
Marketing QA Status: --- IT Deployment: ---

Description Lars Müller 2013-02-27 20:17:15 UTC
I've tried to use

   packagesdir = /home/cache/zypp/packages/

as /var/cache/zypp/packages/ didn't had enough space left.

Independent of the applied setting calling zypper dup downloaded the RPM files to /var/cache/zypp/packages/
Comment 1 Lars Müller 2013-02-27 20:25:44 UTC
Also setting

   commit.downloadMode = DownloadInHeaps

after removing all downloaded files from /var/cache/zypp/packages/ resulted soon after calling zypper dup in:

gab:~ # LC_ALL=POSIX df /
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1        2411376 2411376         0 100% /

while zypper dup again failed.

Paket spamassassin-3.3.2-31.2.1.i586 wird abgerufen                                                                          (464/623), 177,4 KiB (447,8 KiB entpackt)
Paket emacs-24.2-6.2.1.i586 wird abgerufen                                                                                   (465/623),  13,6 MiB ( 63,6 MiB entpackt)
Bereitstellen von Paket emacs-24.2-6.2.1 fehlgeschlagen. Wollen Sie es erneut abrufen?

[smb-local-oss|smb://hip/ftp/opensuse/distribution/12.3/repo/oss-i586] Die Datei './suse/i586/emacs-24.2-6.2.1.i586.rpm' aus dem Repository 'smb-local-oss' kann nicht angeboten werden
Verlauf:
 - Can't hardlink/copy /var/adm/mount/AP_0x1rdSiJ/opensuse/distribution/12.3/repo/oss-i586/suse/i586/emacs-24.2-6.2.1.i586.rpm to /var/cache/zypp/packages/smb-local-oss
 - Can't provide ./suse/i586/emacs-24.2-6.2.1.i586.rpm

Abbrechen, wiederholen, ignorieren? [a/w/i] (a):
Comment 2 Lars Müller 2013-02-27 20:31:18 UTC
Switching to

   commit.downloadMode = DownloadAsNeeded

helped.

It would also be possible to tweak with a bind mount to get some extra space at /var/cache/zypp/packages/

But having packagesdir and commit.downloadMode = DownloadInHeaps working would be of help too.
Comment 3 Michael Andres 2013-02-28 08:27:46 UTC
JFYI: Zypper would follow an explicit --pkg-cache-dir option.

If the option is not set zypper explicitly sets repoPackagesCachePath
to 'repoCachePath / "packages"' instead of keeping the default values parsed from the zypp.conf file. Same for the other subdirs (raw, solv). I'll fix it.
Comment 4 Michael Andres 2013-02-28 10:52:01 UTC
Fixed in zypper-1.8.11
Comment 5 Lars Müller 2013-03-17 14:37:47 UTC
commit.downloadMode = DownloadInHeaps

still doesn't work.
Comment 6 Lars Müller 2013-03-17 14:41:32 UTC
I again got a full disk.

Switching to

   commit.downloadMode = DownloadAsNeeded

helped as expected.  We might have to move the remaining issue to a separate defect report.
Comment 7 Michael Andres 2013-03-18 08:04:07 UTC
(In reply to comment #5)
> commit.downloadMode = DownloadInHeaps

DownloadInHeaps won't necessarily prevent you from running out of disk space. If the underlying solver is not able to split the transaction into multiple parts with consistent intermediate states, then you end up with a single step. That's valid.
Missing support for this in libsolv is IMO a missing enhabncemant, but no defect.
Comment 8 Swamp Workflow Management 2013-05-02 08:07:28 UTC
openSUSE-RU-2013:0736-1: An update that has 6 recommended fixes can now be installed.

Category: recommended (moderate)
Bug References: 772965,773467,779740,793809,804219,806568
CVE References: 
Sources used:
openSUSE 12.2 (src):    libqdialogsolver1-1.3.0-14.8.2, libsolv-0.1.1-4.9.1, libzypp-11.9.0-2.12.2, libzypp-bindings-0.5.13-2.4.1, libzypp-testsuite-tools-4.2.11-14.12.1, zypp-plugin-0.3-5.5.1, zypper-1.7.12-1.13.1
Comment 9 Swamp Workflow Management 2013-07-19 13:52:14 UTC
Update released for: PackageKit, PackageKit-debuginfo, PackageKit-debugsource, PackageKit-devel, PackageKit-gstreamer-plugin, PackageKit-lang, libpackagekit-glib10, libpackagekit-glib10-devel, libpackagekit-qt10, libpackagekit-qt10-devel, libzypp, libzypp-debuginfo, libzypp-debugsource, libzypp-devel, zypper, zypper-debuginfo, zypper-debugsource, zypper-log
Products:
SLE-DEBUGINFO 11-SP2 (i386, ia64, ppc64, s390x, x86_64)
SLE-DESKTOP 11-SP2 (i386, x86_64)
SLE-SDK 11-SP2 (i386, ia64, ppc64, s390x, x86_64)
SLE-SERVER 11-SP2 (i386, ia64, ppc64, s390x, x86_64)
SLES4VMWARE 11-SP2 (i386, x86_64)