I am trying to use delta RPM’s with zypper and having no success. I have a remote zypper repo called remote-repo that contans v1 for package A and a delta RPM between v1 and v2. On my SLES 11 SP3 system, I have added zypper repo remote-repo with --keep-packages enabled.
After installing v1 of A, I want to do a [FONT=Courier New]zypper up[/FONT] with the expectation that the delta RPM will be downloaded and then applied to the previously installed (and preserved) v1 package. I only get a message stating that the highest version, v1, is already installed.
I used [FONT=Courier New]create-repo --deltas --max-delta-rpm-size=10000000000 --oldpackagedirs …/oldpackages .[/FONT] to generate the remote zypper repo.
[QUOTE=jayvi;26777]I am trying to use delta RPM’s with zypper and having no success. I have a remote zypper repo called remote-repo that contans v1 for package A and a delta RPM between v1 and v2. On my SLES 11 SP3 system, I have added zypper repo remote-repo with --keep-packages enabled.
After installing v1 of A, I want to do a [FONT=Courier New]zypper up[/FONT] with the expectation that the delta RPM will be downloaded and then applied to the previously installed (and preserved) v1 package. I only get a message stating that the highest version, v1, is already installed.
I used [FONT=Courier New]create-repo --deltas --max-delta-rpm-size=10000000000 --oldpackagedirs …/oldpackages .[/FONT] to generate the remote zypper repo.
Can I do this with zypper?[/QUOTE]
I assume you used the command createrepo not create-repo.
Did you run
$ zypper refresh
on the machine you’re installing your package on after you updated the repo? Maybe sounds obvious, but I’ve got myself briefly confused before by forgetting to refresh.
What happens if you ask zypper to update just your package?
I’ve never messed with delta rpms myself. My repos are on the network as the machines that use them so transfer time is negligible and I find transferring full packages is preferable to transferring delta packages then having zypper thrash spinning metal disk to apply them.
CODE tags are the best way to format stuff like commands rather than specifying a font. Look for the # button in the toolbar when composing the message.
# zypper refresh --repo eng
Repository 'eng' is up to date.
Specified repositories have been refreshed.
# sudo zypper --verbose up --repo eng my-aix
Verbosity: 1
Non-option program arguments: 'my-aix'
Initializing Target
Loading repository data...
Reading installed packages...
Force resolution: No
No update candidate for 'my-aix-99.0.0.master-1503021820.125.noarch'. The highest available version is already installed.
Resolving package dependencies...
Force resolution: No
Nothing to do.
# zypper packages -r eng | grep my-aix
i | eng | my-aix | 99.0.0.master-1503021820.125 | noarch
v | eng | my-aix | 99.0.0.master-1503021820.124 | noarch
v | eng | my-aix | 99.0.0.master-1502231319.122 | noarch
v | eng | my-aix | 99.0.0.master-1502231319.121 | noarch
v | eng | my-aix | 99.0.0.master-1502231319.120 | noarch
v | eng | my-aix | 99.0.0.master-1502231319.119 | noarch
On the repository side:
# ls -l repo/drpms
-rw-r--r-- 1 eng users 63681 Mar 4 00:23 my-aix-99.0.0.master-1503021820.125_99.0.0.master-1503021820.126.noarch.drpm
# ls -l repodata
-rw-r--r-- 1 root root 12620 Mar 6 03:25 filelists.xml.gz
-rw-r--r-- 1 root root 4101 Mar 6 03:25 other.xml.gz
-rw-r--r-- 1 eng users 1583 Mar 4 02:23 prestodelta.xml.gz
-rw-r--r-- 1 root root 13195 Mar 6 03:25 primary.xml.gz
-rw-r--r-- 1 root root 1152 Mar 6 03:25 repomd.xml
-rw-r--r-- 1 eng users 197 Mar 3 23:59 repomd.xml.asc
I tried moving the delta RPM up a directory to where the regular packages are stored with the same result.
I tried changing the delta RPM extension to .rpm:
# zypper --verbose up --repo eng
Verbosity: 1
Initializing Target
Checking whether to refresh metadata for eng
Loading repository data...
Reading installed packages...
Force resolution: No
The following package is going to be upgraded:
my-aix 99.0.0.master-1503021820.125 -> 99.0.0.master-1503021820.126
The following package is not supported by its vendor:
my-aix 99.0.0.master-1503021820.126
1 package to upgrade.
Overall download size: 63.0 KiB. No additional space will be used or freed after the operation.
Continue? [y/n/? shows all options] (y):
committing
Retrieving package my-aix-99.0.0.master-1503021820.126.noarch (1/1), 63.0 KiB (46.8 MiB unpacked)
Installing: my-aix-99.0.0.master-1503021820.126 [error]
Installation of my-aix-99.0.0.master-1503021820.126 failed:
(with --nodeps --force) Error: Subprocess failed. Error: RPM failed: error: my-aix-99.0.0.master-1503021820.126.noarch is a Delta RPM and cannot be directly installed
error: error reading from file /var/cache/zypp/packages/eng/my-aix-99.0.0.master-1503021820.125_99.0.0.master-1503021820.126.noarch.rpm
I have verified that the zypp.conf has support for delta RPM’s enabled. I have manually run applydeltarpm to generate the full v126 package to verify that the delta RPM is valid.
Do you know where there is documentation on this subject? I have spent a long time on google without success.