Commit Graph

3015 Commits

Author SHA1 Message Date
f366d6cb11 manpages: change URL for bug reporting to new GitHub repo 2018-09-23 17:51:07 +02:00
e4702d9d3b Merge pull request #6 from foxlet/fix-string-formatting
Fix string formatting of 64-bit unsigned integers
2018-07-30 20:28:09 +02:00
a5bfc59203 prepare release 2018-07-30 13:47:08 +02:00
21e28257d1 NEWS: update date 2018-07-30 13:43:44 +02:00
4c53f0b432 NEWS: fix punctuation 2018-07-30 13:42:28 +02:00
75f6a2ce1f NEWS: new release date is 2018-07-27 2018-07-24 07:36:47 +02:00
f47f83602a NEWS: fix style of last NEWS entry 2018-07-20 09:46:23 +02:00
0e8b01803f NEWS: mention hashcheck changes in rindex. 2018-07-20 09:45:35 +02:00
9e01ebcbc7 NEWS: update and announce release date.
* mention >128 character path fix
* mention threading algorithm change
* mention rindex --hashcheck
2018-07-20 09:37:50 +02:00
ebca1758cc xbps-rindex.1: document --hashcheck option 2018-07-20 09:37:50 +02:00
4eaf45a767 Fix string formatting of 64-bit unsigned integers 2018-07-17 20:50:48 -04:00
c992049eb5 xbps-create: fix formatting, set return value on path overflow 2018-07-07 12:23:01 +02:00
3ef932de2f xbps-create: replace nftw by an implementation that traverses the directory tree in an alphabetic order. 2018-07-07 12:15:00 +02:00
3f251bea74 Revert "debug"
This reverts commit 29466b128b.
2018-07-06 15:17:42 +02:00
aa21cb08fd Revert "bin/xbps-create: process dictionary instead of linked list."
This reverts commit 25fa00ea46.
2018-07-06 08:07:59 +02:00
705a30c63c Revert "bin/xbps-create: process_entry_file uses dictionary instead of linked list now."
This reverts commit 61d2361646.
2018-07-06 08:07:58 +02:00
e211ae21fe Revert "bin/xbps-create: remove xentry struct and clean up"
This reverts commit aa90201b2d.
2018-07-06 08:07:55 +02:00
7fe66a1f20 xbps-rindex: make hash check optional 2018-07-03 08:07:23 +02:00
283aa0efc2 fix travis 2018-07-02 16:15:45 +02:00
97e56ff486 .travis.yml: do not require sudo 2018-07-02 16:14:21 +02:00
29466b128b debug 2018-07-02 15:58:55 +02:00
bfd6b2e88e lib/plist.c: share workload more efficient between threads
Before this patch xbps had a constant slice count for every thread.
This resulted in unbalanced thread usage if the workload was
homogenous over the slices.

This patch replaces the naive slice count approach by spinlock based
reservation.
2018-07-02 13:18:23 +02:00
3f4d6a93be NEWS: sync 2018-06-29 11:54:00 +02:00
a717e53ee7 xbps-rindex: fix staging deadlock. 2018-06-28 13:30:14 +02:00
219f6c2310 xbps-rindex: add test to trigger stage deadlock 2018-06-28 13:30:14 +02:00
daa1b44682 xbps-install: fix "Space available on disk:" padding 2018-05-02 00:46:07 +02:00
ae868eeb30 NEWS: add some missing changes to xbps-0.52 2018-05-01 12:14:59 +02:00
513bf65c6d uunshare: fix argument parsing 2018-04-30 18:22:28 +02:00
449dc8a551 Revert "bin/xbps-uunshare: stop option parsing at the first nonoption argument"
This reverts commit 6cca905d64.
2018-04-16 14:00:30 +02:00
f4060aff6c Revert "bin/xbps-uchroot: stop option parsing at the first nonoption argument"
This reverts commit 948ba8d7d1.
2018-04-16 14:00:29 +02:00
761f879eca set release date for xbps to the end of april 2018-04-15 20:13:04 +02:00
c6359f8a27 Merge pull request #266 from eli-schwartz/master
Consistently use pkg-config to find libssl and document the versions required.
2017-12-26 23:23:51 -05:00
861617a708 configure: correctly detect libssl using pkg-config
This allows the openssl version to be easily overridden using standard
PKG_CONFIG_PATH overrides, which is required for modern distros that use
openssl 1.1 by default.

Also print diagnostics for the libssl flavor in use, and constrain the
version when using openssl to < 1.1.
2017-12-26 09:28:16 -05:00
498d542588 README.md: document the required version of openssl 2017-12-26 09:19:31 -05:00
3012650ba2 configure: require libarchive >= 3.2.0 via pkg-config too. 2017-10-25 09:25:03 +02:00
e0f4199fff Merge pull request #250 from ebfe/infinity
bin/xbps-checkvers: avoid infinite loops when checking reverts
2017-10-25 09:19:10 +02:00
512d39d591 Merge pull request #248 from ebfe/abspath
lib/package_unpack.c: refuse to unpack to absolute paths
2017-10-25 09:18:47 +02:00
c20b37e022 Merge pull request #247 from ebfe/man
manpages: fix invalid escape
2017-10-25 09:18:11 +02:00
eaccf4813d Merge pull request #246 from ebfe/signed_pkgver
lib/package_unpack.c: verify signed pkgver matches
2017-10-25 09:17:55 +02:00
a6df70b8af Merge pull request #245 from ebfe/sign-big-pkgs
bin/xbps-rindex: use xbps_file_hash_raw while signing
2017-10-25 09:17:08 +02:00
9c0d795810 Merge pull request #207 from Duncaen/relative
xbps-uchroot and xbps-uunshare usability improvements
2017-10-25 09:14:40 +02:00
eae215e2a0 Merge pull request #234 from Duncaen/umask
Fix pkgdb and files plist permissions with restictive umask.
2017-10-25 09:13:26 +02:00
34fc9416ba configure: fix vasprintf test (#236)
Fix the test for vasprintf function which failed with musl libc and
fortify-headers on aarch64:

_vasprintf.c:4:24: error: incompatible type for argument 3 of 'vasprintf'
  vasprintf(NULL, NULL, NULL);
                        ^~~~
2017-10-25 09:13:07 +02:00
cd7f39421d Merge pull request #254 from AgustinCB/fix-compilation
Fix compilation errors on GCC 7
2017-10-25 09:11:20 +02:00
51207b9076 fix compilation of fetch_cb on gcc 7
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
```
2017-08-22 18:44:32 -04:00
2cd0dc688f Fix compilation of initend for gcc 7
This is a trickier situation.

The original message:

```
initend.c:423:10: error: ‘%s’ directive output may be truncated writing 15 bytes into a region of size between 1 and 512 [-Werror=format-truncation=]
       "%s%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "",
          ^~
initend.c:422:3: note: ‘snprintf’ output between 16 and 527 bytes into a destination of size 512
   snprintf(xhp->confdir, sizeof(xhp->confdir),
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       "%s%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "",
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       XBPS_SYSCONF_PATH);
       ~~~~~~~~~~~~~~~~~~
initend.c:429:7: error: ‘snprintf’ output may be truncated before the last format character [-Werror=format-truncation ]
       "%s/%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "", buf);
       ^~~~~~~
initend.c:428:3: note: ‘snprintf’ output 2 or more bytes (assuming 513) into a destination of size 512
   snprintf(xhp->confdir, sizeof(xhp->confdir),
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       "%s/%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "", buf);
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
initend.c:434:9: error: ‘%s’ directive output may be truncated writing 17 bytes into a region of size between 1 and 512 [-Werror=format-truncation=]
      "%s%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "",
         ^~
initend.c:433:2: note: ‘snprintf’ output between 18 and 529 bytes into a destination of size 512
  snprintf(sysconfdir, sizeof(sysconfdir),
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      "%s%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "",
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      XBPS_SYSDEFCONF_PATH);
      ~~~~~~~~~~~~~~~~~~~~~
initend.c:455:11: error: ‘%s’ directive output may be truncated writing 14 bytes into a region of size between 0 and 511 [-Werror=format-truncation=]
       "%s/%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "",
           ^~
initend.c:454:3: note: ‘snprintf’ output between 16 and 527 bytes into a destination of size 512
   snprintf(xhp->cachedir, sizeof(xhp->cachedir),
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       "%s/%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "",
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       XBPS_CACHE_PATH);
       ~~~~~~~~~~~~~~~~
initend.c:461:7: error: ‘snprintf’ output may be truncated before the last format character [-Werror=format-truncation ]
       "%s/%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "", buf);
       ^~~~~~~
initend.c:460:3: note: ‘snprintf’ output 2 or more bytes (assuming 513) into a destination of size 512
   snprintf(xhp->cachedir, sizeof(xhp->cachedir),
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       "%s/%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "", buf);
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
initend.c:467:11: error: ‘%s’ directive output may be truncated writing 12 bytes into a region of size between 0 and 511 [-Werror=format-truncation=]
       "%s/%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "",
           ^~
initend.c:466:3: note: ‘snprintf’ output between 14 and 525 bytes into a destination of size 512
   snprintf(xhp->metadir, sizeof(xhp->metadir),
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       "%s/%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "",
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       XBPS_META_PATH);
       ~~~~~~~~~~~~~~~
initend.c:473:7: error: ‘snprintf’ output may be truncated before the last format character [-Werror=format-truncation ]
       "%s/%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "", buf);
       ^~~~~~~
initend.c:472:3: note: ‘snprintf’ output 2 or more bytes (assuming 513) into a destination of size 512
   snprintf(xhp->metadir, sizeof(xhp->metadir),
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       "%s/%s", strcmp(xhp->rootdir, "/") ? xhp->rootdir : "", buf);
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
```

It's basically warning about dangerous operations on strings. And as
far as I could tell, is a valid warning and not a false alarm!

This fix makes the concept of `XBPS_MAXPATH` lose a little bit of sense
as now it doesn't necessarily represent the max size of the paths used
by xbps, but instead the max allowed size of the path configured.

I think this change is ok, but I wasn't able to find any reference to
why it was chosen to be 512. POSIX mandates at least 256, so I'm not
breaking anything that wasn't broken already, and Linux seems to have
a maximum size of 4096, which is pretty safe.

Therefore, this changes should be harmless. I think.
2017-08-22 18:35:45 -04:00
be5277591f Fix compilation in ftp.c
When trying to compile the file ftp.c, I get errors related with
warnings that were marked to be reported as error.

This was the original message:

```
fetch/ftp.c:444:8: error: this statement may fall through [-Werror=implicit-fallthrough=]
   type = 'D';
   ~~~~~^~~~~
fetch/ftp.c:445:2: note: here
  case 'D':
  ^~~~
fetch/ftp.c: In function ‘ftp_request’:
fetch/ftp.c:342:3: error: missed loop optimization, the loop counter may overflow [-Werror=unsafe-loop-optimizations]
   for (i = 0; i <= len && i <= end - dst; ++i)
   ^~~
fetch/ftp.c:342:24: error: missed loop optimization, the loop counter may overflow [-Werror=unsafe-loop-optimizations]
   for (i = 0; i <= len && i <= end - dst; ++i)
               ~~~~~~~~~^~~~~~~~~~~~~~~~~
```
2017-08-22 18:03:32 -04:00
876f9f4a27 xbps-fbulk: use _DEFAULT_SOURCE, required for wait3 in glibc 2.16.
Also these guards need to be defined before including anything.
2017-08-07 16:08:15 +02:00
52d3077206 bin/xbps-checkvers: avoid infinite loops when checking reverts 2017-07-16 20:08:25 +00:00
a2aec39d74 lib/package_unpack.c: refuse to unpack to absolute paths 2017-07-13 17:17:12 +00:00