summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* metadata: Add license-mapping.conf for SPDX license mappingMichał Górny2022-11-221-0/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a file defining mapping of SPDX-2.0 license identifiers to Gentoo ebuild licenses. This was originally discussed on Gentoo Bugzilla [1], the submitted to the gentoo-dev ml [2]. The proposed file uses the common key-value format used for configuration files. Currently only `spdx-to-ebuild` section is defined but other kinds of mapping can be added in the future. As described in the top comment, it provides the ability to map SPDX-2.0 license identifiers along with the `+` and `WITH` operators to arbitrary Gentoo LICENSE strings (including all-of and any-of groups). The initial list was based on cargo-ebuild's license.rs [3], courtesy of Leonardo H. Neumann and Georgy Yakovlev. I have done some changes, particularly removed some incorrect mappings and added more variants from the same license groups (e.g. GPL variants). Ulrich Müller has noticed a number of problems and given helpful suggestions. A parser for this file format is implemented in pycargoebuild [4]. [1] https://bugs.gentoo.org/706472 [2] https://archives.gentoo.org/gentoo-dev/message/01924bb71411696dce04445d85da508d [3] https://gitweb.gentoo.org/proj/cargo-ebuild.git/tree/src/license.rs?id=b4314edc5bb672f5e94dcbc996f443e98fdb4dba [4] https://github.com/projg2/pycargoebuild/ Closes: https://github.com/gentoo/gentoo/pull/28256 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* metadata/qa-policy.conf: Drop deprecated-eclass sectionUlrich Müller2022-10-221-13/+0
| | | | | | | Nothing is using this and the list is outdated. Use the @DEPRECATED tag in eclasses instead. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* metadata/qa-policy.conf: Add user-group-ids sectionUlrich Müller2022-10-221-1/+11
| | | | | | | | | See also user and group account policy: https://projects.gentoo.org/qa/policy-guide/user-group.html#pg0901 Bug: https://github.com/pkgcore/pkgcheck/issues/356 Suggested-by: Arthur Zamarin <arthurzam@gentoo.org> Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* metadata/install-qa-check.d: don't use nonfatal on older EAPIs in 60python-pycSam James2022-09-191-1/+3
| | | | | | Bug: https://bugs.gentoo.org/869182 Fixes: c310e44692ad91777c71394dda97cd1f33f72589 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add 60noop-testsuitesmatoro2022-08-211-0/+28
| | | | | | | | | | | | This attempts to catch autotools-based tests that will pass without actually executing any tests due to automagic-based rules like the presence/absence of a dependency. (sam: This was written based on my notes for implementation.) Bug: https://bugs.gentoo.org/848579 Closes: https://github.com/gentoo/gentoo/pull/26237 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: don't fail if has_version diedSam James2022-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | During Python target migrations, if portage[-ipc], portageq can't be invoked as a binary (which has_version does behind the scenes w/ -ipc), so just call it w/ nonfatal, to avoid aborting the emerge and possibly hurting the system (imagine python-exec gets upgraded but portage wasn't yet). Fails like: ``` ${EPREFIX}/Gentoo/usr/lib/python-exec/python3.9/portageq: this Python implementation (python3.9) is not supported by the script. * ERROR: app-admin/perl-cleaner-2.30::gentoo_prefix failed: * has_version: unexpected portageq exit code: 127 * * Call stack: * misc-functions.sh, line 1334: Called install_qa_check * misc-functions.sh, line 138: Called source 'install_symlink_html_docs' * 60python-pyc, line 118: Called python_pyc_check * 60python-pyc, line 22: Called has_version 'install_hooks' * phase-helpers.sh, line 986: Called ___best_version_and_has_version_common '${EPREFIX}/Gentoo/var/db/repos/gentoo/metadata/install-qa-check.d/60python-pyc' * phase-helpers.sh, line 973: Called die * The specific snippet of code: * die "${FUNCNAME[1]}: unexpected portageq exit code: ${retval}" ``` Bug: https://bugs.gentoo.org/778014 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: only check images w/ site-packagesSam James2022-08-031-0/+3
| | | | | | | | Avoid noise on all merges even if no Python files installed. No need to use siteimpl function as > Python 2.7 (and .. 3.6? 3.7?) it's all standard anyway. Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: drop -b from has_version in 60python-pycSam James2022-08-031-1/+1
| | | | | | | Only for EAPI 7+, duh. Not going with the faff of --host-root for EAPI 6 etc for now given it's just an optional check. Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: skip 60python-pc if gpep517 too oldSam James2022-08-031-0/+5
| | | | | | | | | | | | | | | When building libseccomp, say: ``` * Verifying compiled files for python3.9 usage: /usr/lib/python-exec/python3.9/gpep517 [-h] {get-backend,build-wheel,install-wheel} ... /usr/lib/python-exec/python3.9/gpep517: error: argument command: invalid choice: 'verify-pyc' (choose from 'get-backend', 'build-wheel', 'install-wheel') strip: i686-pc-linux-gnu-strip --strip-unneeded -N __gentoo_check_ldflags__ -R .comment -R .GCC.command.line -R .note.gnu.gold-version ``` The gpep517 >= dep is in distutils-r1 but this check applies to other ebuilds. So, use has_version -b. Signed-off-by: Sam James <sam@gentoo.org>
* install-qa-check.d: Rewrite 60python-pyc to use gpep517Michał Górny2022-08-021-72/+96
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* metadata/layout.conf: Ban EAPI 5Jakov Smolić2022-07-181-3/+4
| | | | | | | | | Thanks to everyone who helped with cleaning out ebuilds 🎉 Closes: https://bugs.gentoo.org/698100 Signed-off-by: Jakov Smolić <jsmolic@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/26465 Signed-off-by: Jakov Smolić <jsmolic@gentoo.org>
* install-qa-check.d: Enable 60python-pyc in EAPI 8Michał Górny2022-07-161-1/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d/60udev-eclass: check for udev_reload in pkg_postrmMike Gilbert2022-06-071-0/+5
| | | | | Bug: https://bugs.gentoo.org/847436 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* metadata/install-qa-check.d: further fix 60libtool-la library checkIonen Wolkens2022-05-061-1/+1
| | | | | | | Without -t, the delimiter (newline) is not stripped and so elements do not end in .la to be replaced by .a Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
* metadata/install-qa-check.d: fix check for static library in 60libtool-laSam James2022-05-061-5/+1
| | | | | Thanks-to: Ionen Wolkens <ionen@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add missing whitespace in 60udev-eclassAgostino Sarubbo2022-05-021-1/+1
| | | | Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
* metadata/install-qa-check.d: add new QA check for udev rulesSam James2022-04-301-0/+63
| | | | | | | | | | | | | | | | | | | | Very similar to tmpfiles.eclass check (60tmpfiles-paths). Three checks: 1) Verify packages don't install udev rules to /etc/udev/rules.d, which is a forbidden (user-configuration) location; 2) Check whether packages inherit udev.eclass if they're installing files to /lib/udev/rules.d/.. (This helps to catch packages not calling udev_reload in pkg_postinst). 3) Check for missing udev_process calls in pkg_postinst. Bug: https://bugs.gentoo.org/433916 See: c7fe1066a8fcd35f965de4ea16c9cd1001830642 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: fix minor typo in commentSam James2022-04-281-2/+2
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: avoid -d'' in readarraySam James2022-04-271-1/+2
| | | | | | Needs newer Bash. Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: try to silence libtool-la stderrSam James2022-04-271-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: use readarraySam James2022-04-261-1/+1
| | | | | | | Otherwise we end up not splitting correctly in the loop over files (file contains two entries). Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: clarify QA warningSam James2022-04-191-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* Revert "metadata/install-qa-check.d: swap libltdl check to 'has'"Sam James2022-04-191-1/+1
| | | | | | | | | | This reverts commit 8226609cee46af93656676350895135dbd910793. This ends up not matching things like "dev-libs/libltdl:0" and breaks (false positive) on e.g. imagemagick. Closes: https://bugs.gentoo.org/839387 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: swap libltdl check to 'has'Sam James2022-04-171-1/+1
| | | | | | | | It's a bit cleaner and will hopefully mean we don't catch a hypothetical libltdl2. Not too stressed over such a possibility anyway. Thanks-to: michael Orlitzky <mjo@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add 60libtool-la (check for unnecessary .la files)Sam James2022-04-171-0/+45
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: update 60python-pyc to refer to Python guideSam James2022-03-041-2/+2
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: fix 60gtk-doc-paths check for EAPI 7+Sam James2022-03-041-5/+5
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: drop 60distutils-use-setuptools againMike Gilbert2022-02-011-2/+0
| | | | | Bug: https://bugs.gentoo.org/832446 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* metadata/install-qa-check.d: add stub for 60distutils-use-setuptoolsMike Gilbert2022-01-311-0/+2
| | | | | | | Work around broken rsync master script. Bug: https://bugs.gentoo.org/832446 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* install-qa-check.d: Remove 60distutils-use-setuptoolsMichał Górny2022-01-161-97/+0
| | | | | | | | | Remove the DISTUTILS_USE_SETUPTOOLS correctness check that is misfiring once again (with setuptools-60+). All the special cases it was supposed to detect are no longer relevant, and the upcoming PEP 517 mode deprecates DUS entirely. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* metadata/install-qa-check.d: skip some checks when TMPFILES_OPTIONAL is setSam James2021-08-191-6/+6
| | | | | | | | | This is a good enough proxy for "this package has a complicated relationship with tmpfiles" and replaces the hardcoded list of exemptions. Closes: https://bugs.gentoo.org/808781 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add check for missing tmpfiles_process callGeorgy Yakovlev2021-08-161-10/+24
| | | | | | See: https://archives.gentoo.org/gentoo-dev/message/7bdfdc9a7560fd07436defd0253af0b8 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add exemptions for some packages wrt inheritSam James2021-08-161-0/+8
| | | | | | | | | | | | Both sys-apps/systemd and sys-libs/pam need to install some files to these directories without inheriting the eclass. For future work, we should have a standardised way on opting out of installed files QA checks, but other QA checks are already suffering from this issue. See: https://archives.gentoo.org/gentoo-dev/message/0a96793036a4fdd9ac311a46950d7e7b Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: only trigger on tmpfiles in forbidden locationSam James2021-08-161-1/+6
| | | | | | | It's okay to use "keepdir" on /etc/tmpfiles.d. See: https://archives.gentoo.org/gentoo-dev/message/50558b55dc34f37b238807fc4759640d Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add 60tmpfiles-path QA checkSam James2021-08-161-0/+37
| | | | | | | | | | | | | | This adds two tmpfiles related QA checks: 1) Verify packages don't install tmpfiles to /etc/tmpfiles.d, which is a forbidden (user-configuration) location; 2) Check whether packages inherit tmpfiles.eclass if they're installing files to /usr/lib/tmpfiles.d. (This helps to catch packages not calling tmpfiles_process in pkg_postinst). Signed-off-by: Sam James <sam@gentoo.org>
* metadata/layout.conf: Add profile-eapis-* keysUlrich Müller2021-08-131-0/+5
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* metadata/qa-policy.conf: Remove entry for l10nUlrich Müller2021-08-091-1/+0
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* install-qa-check.d: Switch DUS entry point check to pure bdependMichał Górny2021-08-021-12/+6
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* darcs.eclass: remove last-rited eclassSam James2021-07-251-1/+0
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/layout.conf: EAPI 6 is deprecatedUlrich Müller2021-07-111-1/+2
| | | | | | By 2021-07-11 council decision. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* l10n.eclass: Mark as deprecatedUlrich Müller2021-07-031-0/+1
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* metadata/install-qa-check.d: Skip DUS tests w/ DISTUTILS_OPTIONALMichał Górny2021-07-031-0/+9
| | | | | | | | | DISTUTILS_OPTIONAL skips setting the dependency on setuptools entirely, so skip checking for its correctness, and verbosely complain if it's set. Closs: https://bugs.gentoo.org/800147 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* metadata/install-qa-check.d: adjust 60libcrypt-depsGeorgy Yakovlev2021-07-011-1/+1
| | | | | | check if ebuild has a dep on sys-libs/libxcrypt and return Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/install-qa-check.d: add QA Notice string to all checksGeorgy Yakovlev2021-06-286-12/+15
| | | | | | | and re-wrap some lines to fit into 80 char limit Bug: https://bugs.gentoo.org/728046 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/install-qa-check.d: add "QA Notice:" string to some checksGeorgy Yakovlev2021-06-282-4/+3
| | | | | Bug: https://bugs.gentoo.org/728046 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/install-qa-check.d: add libcrypt tracker bugGeorgy Yakovlev2021-06-271-0/+1
| | | | Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/install-qa-check.d: link wiki (developer guidance) in 60libcrypt-depsSam James2021-06-271-2/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: fix some issues with 60libcrypt-depsGeorgy Yakovlev2021-06-261-4/+11
| | | | | Thanks-to: [Arfrever] Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/install-qa-check.d: add virtual/libcrypt dep checkGeorgy Yakovlev2021-06-261-0/+38
| | | | | Bug: https://bugs.gentoo.org/699422 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/qa-policy.conf: Update list of deprecated eclassesUlrich Müller2021-06-231-6/+3
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>