And now some details, because I see you're interested in them, not only in the fast solution. Also, other developers may give some feedback here.
Mirrors are not intended to fast delivery updates. SliTaz project uses several different mirrors. Some of them updates frequently — 3–4 times a day (I guess), when other updates once a several days. It is minor issue — you get new packages anyway, but maybe day or two later (at worst).
Now, when all the packages are still rebuilds about up to a week — it's too much work to our mirrors. They need to update all the packages — it's need a lot of traffic, it's slow, and consume much time.
Mirror update is not atomic. When you access specific mirror, some files may be updated while some other files still old. It is big issue, but we can't solve it now, I guess. Only I can advice to wait evening and try again in case of synchronization issues. I have some ideas, but far from the realization.
Issue with the “checksum error” is caused this non-atomic mirror update: packages database may be new while some packages itself may be old. Or packages DB may be old while some packages are new. Also, you get this error because I wrote not very good code in the tazpkg
: normally it installs packages from a cache. So, if it's a package you need is existed in the cache — tazpkg will install it, otherwise tazpkg will download it to a cache and then will install. Problem is — tazpkg not know if the package in the cache is downloaded right now or is downloaded early. If checksum of the cached package is not matched checksum defined in the packages DB — tazpkg fires a warning “checksum error”, removes the package from cache, updates the packages DB, downloads package to cache one more time; if error repeats it gives up with the message advising you to wait until mirror synchronized. Tazpkg may be a bit clever — if the package was downloaded to a cache a time ago — we can believe it's outdated and silently reload them without any warnings and packages DB reloading. Sorry, I'll work with this issue later after few days.
mirror.slitaz.org is not a mirror, — it is a multiplexer.
LC_ALL=C wget -O/dev/null http://mirror.slitaz.org/packages/5.0/IDs
--2016-03-12 15:15:52-- http://mirror.slitaz.org/packages/5.0/IDs
Resolving mirror.slitaz.org (mirror.slitaz.org)... 37.187.4.13, 188.165.229.172, 212.83.135.187
Connecting to mirror.slitaz.org (mirror.slitaz.org)|37.187.4.13|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://mirror.switch.ch/ftp/mirror/slitaz/packages/5.0/IDs [following]
--2016-03-12 15:15:52-- http://mirror.switch.ch/ftp/mirror/slitaz/packages/5.0/IDs
Resolving mirror.switch.ch (mirror.switch.ch)... 130.59.10.36, 2001:620:0:8::20
Connecting to mirror.switch.ch (mirror.switch.ch)|130.59.10.36|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 44 [text/plain]
Saving to: '/dev/null'
/dev/null 100%[======================>] 44 --.-KB/s in 0s
2016-03-12 15:15:52 (1.31 MB/s) - '/dev/null' saved [44/44]
I tested it in the loop 10 times, and seems I wrong now. mirror.slitaz.org was the multiplexer — it was redirect query to one of the three random mirrors — it's not an issue when all that three mirrors are updated both. But it's a big issue if some of that mirrors are updated while other of them — are not. You tried to update “tazpkg” package, and few times you got new and old versions in random order.