Commit Graph

24 Commits

Author SHA1 Message Date
Jürgen Buchmüller 834a0a397f 00-distfiles.sh: fix bsdtar contents checksum (@)
Closes: #18070
2020-01-06 15:15:50 +01:00
Juan RP d15b1f6746 hooks: 00-distfiles.sh: detect bsdtar and then tar (GNU).
This way xbps-src is able to work with any of them.
2020-01-05 10:44:56 +01:00
Juan RP 75eca1b03e xbps-src: base-chroot-v2 (reduce artifacts/deps)
This patchset contains multiple changes to xbps-src and
its required package "base-chroot" for building packages
via chroot.

- moved xbps.d(5) conf files to `etc/xbps.d`.
- renamed xbps.d(5) repository files to `etc/xbps.d/repos-{local,remote}*`.
- do not set `--repository` to any xbps command that supports it,
  xbps-src now simply populates `rootdir/etc/xbps.d` with correct
  settings (taking care of CHROOT_READY/IN_CHROOT).
- Unless `-C` is set (to preserve builddir/destdir/autodeps), when
  entering to the chroot (if CHROOT_READY is set), xbps-src will
  clean up the masterdir and then perform a system update to always
  use a constant set of packages for that exact date.
- Improved some normal/error msgs.
- Includes support for `xbps>=0.58`.
- common/hooks: switch to bsdtar.
- base-chroot:
  - base-chroot-musl is gone, now unified for glibc/musl.
  - deps removed: gettext, mpfr, readline, texinfo, which, xz.
  - deps changed: tar -> bsdtar.

Effectively this reduces dependencies in `base-chroot`, makes
it unified for musl and glibc, switches xbps-src to use `bsdtar`
rather than GNU `tar` and `xz`, gets rid of useless host dependencies
like GNU gettext, texinfo, etc.

I've been testing these changes for 1 month or so already,
I was able to build from scratch `base-system` for both native
and multiple targets, i.e `./xbps-src -a target -Nt pkg base-system`
2020-01-05 10:44:56 +01:00
maxice8 f5c0feedf6 00-distfiles: avoid useless use of cat 2019-04-15 12:18:00 -03:00
Juan RP 1ee6a3174f xbps-src: reduce basename(1) usage.
This saves a few exec()s.
2019-04-14 01:47:16 -03:00
maxice8 07c2dc7131 hooks/do-fetch/00-distfiles.sh: use fetch_cmd instead of XBPS_FETCH_CMD 2019-01-21 16:17:02 -02:00
Rasmus Thomsen a8f008f21c hook/do-extract: support extracting .crate files 2018-11-02 08:59:03 -03:00
maxice8 c6c249348d hooks/do-extract: support extracting .gem files with gem unpack. 2018-10-27 09:25:31 -03:00
Jürgen Buchmüller c1fd6c389e hooks/do-fetch/00-distfiles.sh: contents checksum
Add support for contents checksums. This is meant to be used for tarballs
like the ones coming from https://*.googlesource.com/ which on every download
change their outer checksum due to being packaged with different date/time
stamps or similar.

If such a distfile still contains the same files as the author of a template
found, then the checksum of its contents can be specified by prepending a
commercial at (@) to the corresponding checksum="..." line.

Depending on the format of the distfile its entire contents will then be
piped into sha256sum and the resulting digest is verified against what
follows after the @.
2018-03-02 23:28:36 +01:00
Jürgen Buchmüller d7b1a31cf0 00-distfiles.sh: avoid unnecessary second loop
We're already done after the first loop, if all distfiles
were found and their checksums verified ok.
2015-11-05 22:05:25 +01:00
Jürgen Buchmüller d8eca52226 00-distfiles.sh: add code to purge wrong checksum
If a distfile changed its checksum (SHA256) without at the same time
also changing its version, the distfile cache needs to be purged.

This is done by verifying only for already existing distfiles that the
specified checksum matches. If it does not, the file and its entry in
/host/sourcers/by_sha256 are purged using the inode number of the file.

The second loop then as usual fetches the distfiles and verifies their
checksum against the list entry.

+ drbd-utils fix checksum and also build + cross build
2015-11-03 19:27:07 +01:00
Juan RP bcdacb66a0 xbps-src: replace basename(1) with ${var##*/}.
Reduce number of fork+exec due to using a subshell to execute basename(1).
2015-09-11 07:55:40 +02:00
Jürgen Buchmüller 00c18e3e88 distfiles mirror: try $curfile first (renamed) 2015-09-04 17:13:31 +02:00
Jürgen Buchmüller 793a156a0f Implement XBPS_DISTFILES_MIRROR (second try)
The idea is to remove some burden from the original download
locations for distfiles by specifying one or more mirror locations.

+ Works with http:// or ftp:// mirrors for all $XBPS_CHROOT_CMD variants
+ Works with file:// mirrors together with uchroot and proot
2015-08-31 15:48:22 +02:00
jbu d6fb3784dd 00-distfiles: fix hard link existence test 2015-07-06 21:34:52 +02:00
jbu b30cbd9870 xbps-src: implement a by_sha256 hash cache 2015-07-04 11:18:46 +02:00
Juan RP 3d24cee58a hooks/do-fetch/distfiles: do not strip '>*' in url, pass it as is. 2014-03-12 15:47:49 +01:00
Juan RP cd02e84329 hooks/do-fetch/distfiles: simplify the code considerably. 2014-03-12 15:23:08 +01:00
Enno Boland b2afcc35be common/hooks/do-fetch: support 'xbps-uhelper fetch's new '>'-destfile syntax. 2014-03-12 13:47:57 +01:00
Juan RP ca2eeec0c0 hooks/do-fetch/00-distfiles: fix previous again. 2014-03-07 11:22:51 +01:00
Juan RP b9e30d45dc hooks/do-fetch/00-distfiles: improve previous to handle all cases. 2014-03-07 11:20:56 +01:00
Juan RP ede40cdc41 hooks/do-fetch/00-distfiles: error out if distfiles aren't verified (found by Gottox). 2014-03-07 11:12:52 +01:00
Juan RP b5c0ac90cc common/hooks/do-fetch: 00-distfiles: disable trap on ERR to fix autobuild issues. 2014-03-05 13:58:46 +01:00
Juan RP aa83852d7b common/hooks: add support for do-<phase> hooks as suggested by Gottox.
- New hooks for do-fetch and do-extract moved from xbps-src.
- Renamed some hooks to have XX as prefix.
2014-03-05 11:02:37 +01:00