* On 2016-03-21 at 01:03 GMT, David Preece wrote:
> I take it this isn't good?
>
> pkgin: download mismatch: /var/db/pkgin/cache/py27-expat-2.7.11.tgz
>
> Blowing away the cache made no difference.
There are a few things which could cause this, some of which are now
fixed, and others that are still being worked on.
Firstly, pkgin versions prior to 0.9.4 required an explicit 'update'
to fetch the latest pkg_summary file which contains all the checksums
for the current set of packages. If the packages and the pkg_summary
were updated but you didn't do an 'update' first, then the 'install'
operation would use the old cached pkg_summary information and the
checksum would fail.
In pkgin 0.9.4 I changed the behaviour so that any operation which
fetches packages ('install', 'upgrade', 'full-upgrade') will first
check to see if pkg_summary has been updated, and if so do that first,
then proceed with the download. The 15.4.x images come with 0.9.4 but
the 2015Q4 bootstrap kit and older releases will not, so you would
need to upgrade pkgin first.
The second issue is rsync delays. There are 3 servers which provide
pkgsrc.joyent.com, and it can take quite a while to sync from the
master (in us-east) to the European mirror (in eu-ams). During that
time there is a window where the package repository being updated will
be out of sync, either because the new package has been synced but the
pkg_summary files have not (files tend to be synced in sorted order so
0-9A-Za-p* ish), or because pkg_summary has been synced, the user has
fetched the updated file, but the newer q-z* files are still being
transferred.
I'll be looking at this one over the next couple of days, as it seems
that with all the OpenSSL rebuild we keep having to do (which causes a
massive resync) this has cropped up more than usual. Ordinarily any
repository updates are small and complete within a few seconds so
while theoretically there is still a race condition, it is small
enough that it is very rarely seen, if at all.
Finally, this could be caused by having a stale download in your
/var/db/pkgin/cache. You can use the 'pkgin clean' command to clear
out that directory. As the other two issues account for the vast
majority of checksum failures it's hard to yet know whether this is an
issue and if we need to change pkgin behaviour.
Currently this should theoretically only be an issue if you have
previously installed a package, it was then rebuilt, and you then try
to forcible re-install it via 'pkgin -F install' (a normal upgrade
procedure won't do this) from the cache. This is something that, if
it does prove to cause issues, we can revisit once the other two
issues are resolved and in use by most users.
Cheers,
--
Jonathan Perkin - Joyent, Inc. - www.joyent.com
-------------------------------------------
smartos-discuss
Archives: https://www.listbox.com/member/archive/184463/=now
RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00
Modify Your Subscription:
https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb
Powered by Listbox: http://www.listbox.com