summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* unpacker.eclass: Don't assume the default tar is stdinArsen Arsenović2023-04-061-1/+1
| | | | | | | | | | | | | Despite common misconception, the default GNU tar tarfile is not stdin. On some systems, this can cause tar to fail to extract relevant files. See '(tar)file tutorial' for a description of how the default is picked. Closes: https://bugs.gentoo.org/903631 Closes: https://bugs.gentoo.org/903914 Closes: https://bugs.gentoo.org/903919 Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
* unpacker.eclass: fix spellingSam James2023-03-261-2/+2
| | | | | | | Thanks to codespell. Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* unpacker.eclass: Quote argument of ":" commandUlrich Müller2023-03-261-2/+2
| | | | | | This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* eclass: standardize prologue/epilogueDavid Seifert2023-03-171-4/+4
| | | | | Closes: https://github.com/gentoo/gentoo/pull/30061 Signed-off-by: David Seifert <soap@gentoo.org>
* unpacker.eclass: flatten unpacker_src_uri_depends dependenciesSam James2023-01-161-15/+14
| | | | | | | | | | | | | Populate an associative array as we iterate over SRC_URI to collect needed dependencies to avoid recording the same dependencies twice. This still doesn't handle USE flags, but it's significantly better than before, as we won't repeatedly emit the same dependency if there's more than one distfile in SRC_URI with the same suffix. Closes: https://bugs.gentoo.org/891133 Thanks-to: Ionen Wolkens <ionen@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* unpacker.eclass: pass -S to file to disable seccompSam James2023-01-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | | Files being installed by Portage are generally trusted but also the syscalls allowed by file are quite broad anyway. With e.g. new libc or sandbox version (or any number of things...), the syscalls used by file can change which leads to its seccomp filter killing the process. This is an acceptable tradeoff when users are calling file(1), but it makes less sense with trusted input within Portage, especially where it may lead to confusing errors (swallowed within pipes, subshells, etc). Indeed, it might even be the case that file(1) is broken, but the user needs to complete a world upgrade to get a newer file/portage/???, but can't because of various ebuilds (like ones using this eclass) failing. Disable seccomp for these calls to keep working. Bug: https://bugs.gentoo.org/811462 Bug: https://bugs.gentoo.org/815877 Bug: https://bugs.gentoo.org/889046 Signed-off-by: Sam James <sam@gentoo.org>
* unpacker.eclass: fix unpack_gpkg with TAPE setSam James2022-12-141-1/+1
| | | | | | | Closes: https://bugs.gentoo.org/885719 Signed-off-by: Sam James <sam@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/28603 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: support >=app-arch/xz-utils-5.4.0 for lzip decompressionSam James2022-12-141-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | >=app-arch/xz-utils-5.4.0 supports lzip decompression (not compression). Add support for unpacker.eclass to handle it for .lz files. Note that xz-utils is part of @system (and PMS requires that .xz is unpackable), while most users do not have lzip and friends installed. (Note that xz does not (currently, but does not plan on either) implement parallel decompression for .lz, but most .lz distfiles are small, so this isn't an issue.) Historically, we've often repacked .lz distfiles for important packages to avoid users needing to install app-arch/lzip for a single distfile, so this avoids the need for that (although I've not done it out of principle for things like sys-apps/ed). Bug: https://bugs.gentoo.org/249059 Bug: https://bugs.gentoo.org/485462 Bug: https://bugs.gentoo.org/501912 Bug: https://bugs.gentoo.org/502990 Bug: https://bugs.gentoo.org/545344 Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Check makeself compression without a tempfileMichał Górny2022-10-011-3/+2
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Support all makeself "compression" methodsMichał Górny2022-10-011-0/+12
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Reuse _unpacker_get_decompressor for makeselfMichał Górny2022-10-011-8/+10
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Add support for makeself 2.4.5Michał Górny2022-10-011-0/+8
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Workaround zstd refusing to process symlinksMichał Górny2022-09-281-2/+2
| | | | | Closes: https://bugs.gentoo.org/873352 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Unpack .deb packages on-the-fly as wellMichał Górny2022-09-271-27/+33
| | | | | Closes: https://github.com/gentoo/gentoo/pull/27431 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Fix handling GNU ar archives in handwoven implMichał Górny2022-09-271-0/+2
| | | | | | | | Fix the hand-weaved implementation of ar unpacking that is used on Prefix to handle slash-terminated filenames of GNU ar format correctly. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Support lbzip2 as parallel bz2 decompressorMichał Górny2022-09-271-2/+5
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: decompress xz in parallelSam James2022-09-271-2/+2
| | | | | | | | | | >= xz 5.3.3_alpha supports parallel decompression, so let's use it. As recently added to Portage (see https://github.com/gentoo/portage/commit/48d107e5c1a103d59a053aebeefa9a5aac5c32ff). Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Add on-the-fly .gpkg.tar unpacking supportMichał Górny2022-09-271-0/+38
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Add support for .lz4 and .lzo compressionMichał Górny2022-09-271-0/+8
| | | | | | | Add support for .lz4 and .lzo formats that can be used for .tar.gpkg compression. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Move decompressor recognition into a functionMichał Górny2022-09-271-18/+26
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Remove uppercase RAR/LHA variantsMichał Górny2022-09-271-4/+4
| | | | | | | | Remove the uppercase variants of RAR/LHA that were copied from Portage implementation. The functions always convert filenames to lowercase, so accounting for them is redundant. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Use lowercase in unpacker_src_uri_dependsMichał Górny2022-09-271-1/+2
| | | | | | | Transform the URIs to lowercase in unpacker_src_uri_depends() for consistency with the behavior of _unpacker(). Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Use bash substitution instead of tr for lowercaseMichał Górny2022-09-271-1/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Remove support for EAPI 5Michał Górny2022-09-271-3/+3
| | | | | | | There are no ebuilds using it in EAPI 5 anymore, and it is the last EAPI requiring support for bash 3.2. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Fix unpack_7z to respect the exit statusMichał Górny2022-09-271-1/+4
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* unpacker.eclass: Remove `-f` from zstd argumentsMichał Górny2022-09-271-1/+1
| | | | | | | | | Remove `-f` from zstd arguments. This option causes zstd to ignore input errors, notably causing it to pass invalid files through rather than returning an error. Closes: https://bugs.gentoo.org/872662 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* *.eclass: @ECLASS-VARIABLE renamed to @ECLASS_VARIABLEUlrich Müller2022-03-241-2/+2
| | | | | Bug: https://bugs.gentoo.org/835396 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* eclass/unpacker.eclass: Add support for makeself 2.3.0Christian Ruppert2022-02-281-1/+1
| | | | Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
* unpacker.eclass: remove kernel_AIX special case for *.debDavid Seifert2022-01-041-4/+1
| | | | Signed-off-by: David Seifert <soap@gentoo.org>
* unpacker.eclass: enable EAPI 8Stephan Hartmann2021-09-011-2/+57
| | | | | | Add support for 7z, RAR and LHA/LZH. Signed-off-by: Stephan Hartmann <sultan@gentoo.org>
* unpacker.eclass: fix @SUPPORTED_EAPIS eclassdocSam James2021-06-211-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* unpacker.eclass: [QA] add EAPI guardSam James2021-06-201-0/+6
| | | | | | | | | * Declare suppported EAPIs. * Add EAPI guard to prevent newer/older unsupported EAPIs from using this eclass when they've not been tested/eclass isn't adapted for it. Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: David Seifert <soap@gentoo.org>
* unpacker.eclass: mark UNPACKER_{BZ2, LZIP} as @USER_VARIABLESam James2021-03-311-1/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* unpacker.eclass: add zst supporthalcon742020-12-211-1/+5
| | | | | | | Closes: https://bugs.gentoo.org/760905 Closes: https://github.com/gentoo/gentoo/pull/18738 Signed-off-by: Alexey Mishustin <halcon@tuta.io> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* unpacker.eclass: call BUILD_AR when unpacking deb filesMike Gilbert2020-06-281-2/+3
| | | | | Closes: https://bugs.gentoo.org/722054 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* unpacker.eclass: respect AR variable in unpack_debMike Gilbert2020-05-101-1/+2
| | | | | Closes: https://bugs.gentoo.org/722054 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* eclass/unpacker.eclass: localize a couple variablesTim Harder2019-01-311-2/+2
| | | | | | To avoid exporting them to the ebuild env. Signed-off-by: Tim Harder <radhermit@gentoo.org>
* eclass/unpacker.eclass: Add support for makeself 2.4.0Christian Ruppert2018-08-251-1/+1
|
* unpacker.eclass: disable path expansion while parsing SRC_URI #654960Mike Frysinger2018-06-251-1/+6
| | | | Closes: https://bugs.gentoo.org/654960
* unpacker.eclass: Replace unnecessary eval with arrayMichał Górny2017-03-081-9/+9
| | | | | Replace the eval used to attempt to construct whitespace-path-safe utility calls with much simpler bash arrays.
* Drop $Id$ per council decision in bug #611234.Robin H. Johnson2017-02-281-1/+0
| | | | Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* unpacker.eclass: move deb2targz dep out of ca-certificatesMike Frysinger2016-03-201-0/+3
|
* eclass: gentoo.org has https per defaultJustin Lecher2015-09-251-1/+1
| | | | Signed-off-by: Justin Lecher <jlec@gentoo.org>
* proj/gentoo: Initial commitRobin H. Johnson2015-08-081-0/+462
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed