EBUSY occurs if xbps tries to remove a directory with unlink(2) that is
a mount point, this happens with `/boot` as example.
https: //github.com/voidlinux/void-packages/issues/7229#issuecomment-319392560
https: //github.com/voidlinux/void-packages/issues/8753
Closes: #259 [via git-merge-pr]
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 the first commit in a series to make xbps-create build
reproducable packages.
xbps-create uses nftw(3) to walk through all files. As nftw doesn't
sort files it may happen that the resulting packages will have
different checksums due to differentiating orders of files on
different filesystems.
To solve this issue xbps-create uses xbps_directory_t, which is always
sorted, instead of a simple linked list.
When adding packages to the index, xbps-rindex will check if the
consistency of shlibs is broken by a package. If so, rindex will create
a stage file and commit the packages there. Once the consistency is restored,
rindex -a will commit the stage area back to the public repo and delete the
stage file.
When adding packages to the index, xbps-rindex will check if the
consistency of shlibs is broken by a package. If so, rindex will create
a stage repository and commit the packages there. Once the consistency
is restored, rindex -a will commit the stage area back to the public
repo and delete the stage file.
Otherwise clang will complain with the following message:
search.c:67:3: error: variable 'i' is incremented both in the loop
header and in the loop body [-Werror,-Wfor-loop-analysis]
The debug printing is also moved after variable substitution.
Now it prints:
foo/template: _var foo
foo/template: pkgname foo
It used to print:
foo/template: _var foo
foo/template: pkgname ${_var}