Original message:
```
fetch_cb.c:80:29: error: ‘h’ directive output may be truncated writing 1 byte into a region of size between 0 and 14 [-Werror=format-truncation=]
snprintf(str, sizeof str, "%02ldh%02ldm",
^~~~~~~~~~~~~~
fetch_cb.c:80:29: note: directive argument in the range [0, 59]
fetch_cb.c:80:3: note: ‘snprintf’ output between 7 and 21 bytes into a destination of size 16
snprintf(str, sizeof str, "%02ldh%02ldm",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
eta / 3600, (eta % 3600) / 60);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fetch_cb.c:83:30: error: ‘%02ld’ directive output may be truncated writing between 2 and 19 bytes into a region of size 16 [-Werror=format-truncation=]
snprintf(str, sizeof str, "%02ldm%02lds",
^~~~~
fetch_cb.c:83:29: note: directive argument in the range [-153722867280912930, 60]
snprintf(str, sizeof str, "%02ldm%02lds",
^~~~~~~~~~~~~~
fetch_cb.c:83:29: note: directive argument in the range [-59, 59]
fetch_cb.c:83:3: note: ‘snprintf’ output between 7 and 25 bytes into a destination of size 16
snprintf(str, sizeof str, "%02ldm%02lds",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
eta / 60, eta % 60);
~~~~~~~~~~~~~~~~~~~
fetch_cb.c:80:29: error: ‘h’ directive output may be truncated writing 1 byte into a region of size between 0 and 14 [-Werror=format-truncation=]
snprintf(str, sizeof str, "%02ldh%02ldm",
^~~~~~~~~~~~~~
fetch_cb.c:80:29: note: directive argument in the range [0, 59]
fetch_cb.c:80:3: note: ‘snprintf’ output between 7 and 21 bytes into a destination of size 16
snprintf(str, sizeof str, "%02ldh%02ldm",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
eta / 3600, (eta % 3600) / 60);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fetch_cb.c:83:30: error: ‘%02ld’ directive output may be truncated writing between 2 and 19 bytes into a region of size 16 [-Werror=format-truncation=]
snprintf(str, sizeof str, "%02ldm%02lds",
^~~~~
fetch_cb.c:83:29: note: directive argument in the range [-153722867280912930, 60]
snprintf(str, sizeof str, "%02ldm%02lds",
^~~~~~~~~~~~~~
fetch_cb.c:83:29: note: directive argument in the range [-59, 59]
fetch_cb.c:83:3: note: ‘snprintf’ output between 7 and 25 bytes into a destination of size 16
snprintf(str, sizeof str, "%02ldm%02lds",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
eta / 60, eta % 60);
~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
```
`xbps-install` will report free space available on disk wording:
> Free space on disk: ...
'free' above is supposed to be an adjective.
But 'free' can also be a verb,
thus the above message can be interpreted as free some space on disk.
'Free' is now changed to 'Available' to avoid ambiguity.
This is mostly to avoid the allocation required by the externalization of the
transaction dictionary, which in some cases is huge.
This should reduce the massive memory usage required to inspect the externalized
dictionary.
- downgrade if new version in repos is less than installed one.
- reinstall if both versions are equal.
and additionally always print installed pkg version, irrespectively of
the transaction mode.
Close#72
- Simplify xbps_repo_open::repo_get_dict().
- Use xbps_end() in the utils where necessary.
- Make xbps_end() call xbps_pkgdb_unlock() if necessary.
- Make xbps_end() release rpool resources.
- Make xbps_end() release resources from xbps_handle.
- Fixed 90% of reported leaks (still reachable at exit) from valgrind.
That was to silence valgrind's memcheck with --leak-check=full.
This explicitly enables the in memory fetch/store of remote repository
data archives mode, ignoring existing on-disk repodata archives.
This changes the previous behaviour of falling back to this mode if no
on-disk repodata archives were found.
Thanks to @Gottox and @dominikh for comments.