Package: reprepro
Version: 5.1.1-1

Removing a package with:
*reprepro --component stable -Vb . remove stretch "libssl1.0.2=1.0.2l-2+9"*
removing 'libssl1.0.2=1.0.2l-2+9' from 'stretch|stable|amd64'...
Exporting indices...
 generating stable/Contents-amd64...
Successfully created './dists/stretch/Release.gpg.new'
Successfully created './dists/stretch/InRelease.new'

As a safety measure:
*reprepro -Vb . deleteunreferenced*

Now, it should be possible to add the same package with the same version
number but different hash (i.e the package has been modified in the
meantime). But the operation fails:

*reprepro --component stable -Vb . includedeb stretch
"libssl1.0.2_1.0.2l-2+9_amd64.deb"*
ERROR: 'libssl1.0.2_1.0.2l-2+9_amd64.deb' cannot be included as
'pool/stable/o/openssl1.0/libssl1.0.2_1.0.2l-2+9_amd64.deb'.
Already existing files can only be included again, if they are the same,
but:
md5 expected: d88b27008844464e614d1d09ed5423e2, got:
e4fe350d642a774d311a9aec02979dbe
sha1 expected: d0f1efab65e6a50ee50a946022d45fc84cfb2598, got:
1935a0f788f686cb760a1d7f608026e27f092456
sha256 expected:
0f2a89d81b986049dbeeeeb0d06d3982486c7ce6e79df69b4e70ddd74592cc00, got:
5765093b769f18c46eaf2168fac0171e415bfb134da24f4a4ae0c24e72f322d0
size expected: 1294842, got: 1295628
There have been errors!

However, the package does not exist below pool (in openssl1.0) nor
in dists/stretch/stable/binary-amd64/Packages
ll pool/stable/o
total 16
drwxr-xr-x  4 root           root           4096 Sep  2 12:14 ./
drwxr-xr-x 25 actionmystique actionmystique 4096 Aug 27 17:21 ../
drwxr-xr-x  2 root           root           4096 Aug 27 13:11 osinfo-db/
drwxr-xr-x  2 root           root           4096 Aug 27 13:14
osinfo-db-tools/

# cat dists/stretch/stable/binary-amd64/Packages | grep libssl1.0.2
#

*I suspect the package has not been removed from some file(s) within db
folder:*
# ll db
total 4304
drwxr-xr-x 2 actionmystique actionmystique    4096 Sep  2 12:16 ./
drwxr-xr-x 7 actionmystique actionmystique    4096 Jun 22 12:17 ../
-rw-r--r-- 1 actionmystique actionmystique  270336 Sep  2 11:09 checksums.db
-rw-r--r-- 1 actionmystique actionmystique 1736704 Sep  2 11:09
contents.cache.db
-rw-r--r-- 1 actionmystique actionmystique   65536 Sep  2 12:14
packagenames.db
-rw-r--r-- 1 actionmystique actionmystique 1974272 Sep  2 12:14 packages.db
-rw-r--r-- 1 actionmystique actionmystique  212992 Sep  2 12:14
references.db
-rw-r--r-- 1 actionmystique actionmystique   20480 Sep  2 12:14
release.caches.db
-rw-r--r-- 1 actionmystique actionmystique   90112 Sep  2 12:14 tracking.db
-rw-r--r-- 1 root           root                31 Sep  2 12:16 version

Indeed:
*reprepro -Vb . checkpool*
Missing file
'./pool/stable/o/openssl1.0/libssl1.0-dev_1.0.2l-2+9_amd64.deb'!
Missing file
'./pool/stable/o/openssl1.0/libssl1.0.2-dbgsym_1.0.2l-2+9_amd64.deb'!
Missing file './pool/stable/o/openssl1.0/libssl1.0.2_1.0.2l-2+9_amd64.deb'!
There have been errors!

*It does not seem possible to correct these self-generated errors*:
# reprepro -Vb . deleteunreferenced
#
Nothing happens.

Is there another way to restore the database consistency?
-- 
Jean-Christophe Manciot

Reply via email to