Gentoo Archives: gentoo-commits

From: Andrew Ammerlaan <andrewammerlaan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:master commit in: scripts/, .github/workflows/, /
Date: Mon, 04 Apr 2022 14:49:35
Message-Id: 1649083628.0fa19ebeb3276ab8c18640d581e984f15872f601.andrewammerlaan@gentoo
1 commit: 0fa19ebeb3276ab8c18640d581e984f15872f601
2 Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
3 AuthorDate: Mon Apr 4 14:47:08 2022 +0000
4 Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
5 CommitDate: Mon Apr 4 14:47:08 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=0fa19ebe
7
8 Drop repoman in favour of pkgcheck/pkgdev
9
10 As per discussed in [1]
11
12 [1] https://archives.gentoo.org/gentoo-dev/message/93df9e7a2ad9d8d33e0cc83b50556d51
13
14 Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
15
16 .github/workflows/repoman.yml | 19 -------------------
17 CONTRIBUTING.md | 14 ++++----------
18 README.md | 1 -
19 scripts/setup-and-run-repoman.sh | 31 -------------------------------
20 4 files changed, 4 insertions(+), 61 deletions(-)
21
22 diff --git a/.github/workflows/repoman.yml b/.github/workflows/repoman.yml
23 deleted file mode 100644
24 index fa9cebb6f..000000000
25 --- a/.github/workflows/repoman.yml
26 +++ /dev/null
27 @@ -1,19 +0,0 @@
28 -name: repoman
29 -
30 -on:
31 - push:
32 - branches: [ dev ]
33 - pull_request:
34 - branches: [ dev ]
35 -
36 -jobs:
37 - build:
38 - runs-on: ubuntu-latest
39 - steps:
40 - - uses: actions/checkout@v2
41 - - name: Setup master gentoo repository
42 - run: |
43 - ./scripts/setup-master-gentoo.sh
44 - - name: Setup and run Repoman
45 - run: |
46 - ./scripts/setup-and-run-repoman.sh
47
48 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
49 index 0b07b72af..647403ae1 100644
50 --- a/CONTRIBUTING.md
51 +++ b/CONTRIBUTING.md
52 @@ -14,15 +14,15 @@ Please don't put Gentoo projects (e.g. the proxy-maint project) in the metadata.
53
54 When moving a package from a Pull Request in the [main Gentoo Repository](https://github.com/gentoo/gentoo) to GURU it is easy to forget to remove the [proxy-maint](https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers) project from the metadata.xml file. The same is true for moving from GURU to a ::gentoo Pull Request, if you forget to add proxy-maint to the metadata file the `gentoo-repo-qa-bot` will complain.
55
56 -- #### Use repoman for committing
57 +- #### Use pkgcheck for double checking your ebuilds and use pkgdev for committing
58
59 -`repoman ci` is strongly preferred over `git commit -S` for committing, because [repoman](https://wiki.gentoo.org/wiki/Repoman) does additional checks and regenerates the manifest before committing. Sometimes committing with repoman is not possible (e.g. when committing eclasses or removing packages), in these cases there is no other possibility but to revert to `git commit -S`. In all other cases it is good practice to use repoman.
60 +`pkgcheck scan --net` (for QA run) and `pkgdev commit` (for committing) is strongly preferred over a direct `git commit -S`, because [pkgdev](https://blogs.gentoo.org/mgorny/2019/12/12/a-better-ebuild-workflow-with-pure-git-and-pkgcheck/) does additional checks and regenerates the manifest before committing. Sometimes committing with pkgdev is not possible (e.g. when committing eclasses or removing packages), in these cases there is no other possibility but to revert to `git commit -S`. In all other cases it is good practice to use pkgcheck and pkgdev.
61
62 In GURU we use ['thin manifests'](https://wiki.gentoo.org/wiki/Repository_format/package/Manifest#Thin_Manifest). Because this is not the default, manifest files should be regenerated when moving a package from another overlay that does not use thin manifests (including your [local overlay](https://wiki.gentoo.org/wiki/Custom_repository) unless it is also configured to use thin manifests).
63
64 - #### Quote your variables
65
66 -String variables should be quoted (e.g. not `$P` or `${P}` but `"${P}"`). `repoman -dx full` will warn you about any unquoted variables you might have forgotten about.
67 +String variables should be quoted (e.g. not `$P` or `${P}` but `"${P}"`). `pkgcheck scan` will warn you about any unquoted variables you might have forgotten about.
68
69 - #### Run tests if you enable them
70
71 @@ -36,7 +36,7 @@ Please don't use symlinks in the repository (e.g. foobar-x.y.z.ebuild -> foobar-
72
73 - #### Undesirable/Deprecated dependencies
74
75 -Sometimes a upstream lists dependencies which are considered deprecated. If possible, packages should **not** depend on these deprecated dependencies. Reasons a dependency might be deprecated is that it is too old, unmaintained, or the features it adds are not useful to Gentoo. You can find an overview of the currently deprecated dependencies and the reason they are deprecated in `$(portageq get_repo_path / gentoo)/profiles/package.deprecated`. `repoman -dx full` will warn you if your package depends on a deprecated dependency.
76 +Sometimes a upstream lists dependencies which are considered deprecated. If possible, packages should **not** depend on these deprecated dependencies. Reasons a dependency might be deprecated is that it is too old, unmaintained, or the features it adds are not useful to Gentoo. You can find an overview of the currently deprecated dependencies and the reason they are deprecated in `$(portageq get_repo_path / gentoo)/profiles/package.deprecated`. `pkgcheck scan` will warn you if your package depends on a deprecated dependency.
77
78 For Python packages there are some additional (test) dependencies that are considered undesirable or not useful, but are not considered deprecated. You can find an overview of those [here](https://projects.gentoo.org/python/guide/distutils.html#enabling-tests) and in the list below:
79 ```
80 @@ -78,12 +78,6 @@ The xdg eclass will automatically export the correct functions to the `src_prepa
81
82 Since the packages in GURU are all 'new packages' (not in ::gentoo). It is good practice to use the latest [EAPI](https://devmanual.gentoo.org/ebuild-writing/eapi/index.html) (8 at the moment), this makes your ebuilds more future proof.
83
84 -- #### `repoman -dx full` and `pkgcheck scan`
85 -
86 -Running `repoman -dx full` in the directory your ebuild is in will preform some basic checks on your ebuild. Please try to make `repoman -dx full` as happy as possible before committing.
87 -
88 -Pkgcheck does even more checks than repoman. While it is good practice to make repoman as happy as possible, it is not necessary to fix *every* issue that pkgcheck reports. Because pkgcheck is *very* strict. That being said, pkgcheck is a very useful tool to perfect your ebuilds.
89 -
90 - #### Establish your package testing workflow
91
92 There are [make.conf flags](https://wiki.gentoo.org/wiki/Package_testing#make.conf_.26_test.conf) you might want to set to enable more QA checks.
93
94 diff --git a/README.md b/README.md
95 index 495d6f189..2125f942a 100644
96 --- a/README.md
97 +++ b/README.md
98 @@ -5,7 +5,6 @@
99 # The GURU Project Repository
100
101 [![pkgcheck](https://github.com/gentoo/guru/workflows/pkgcheck/badge.svg)](https://github.com/gentoo/guru/actions?query=workflow%3Apkgcheck)
102 -[![repoman](https://github.com/gentoo/guru/workflows/repoman/badge.svg)](https://github.com/gentoo/guru/actions?query=workflow%3Arepoman)
103 [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](https://wiki.gentoo.org/wiki/Project:GURU/Information_for_Contributors)
104 [![chat on libera](https://img.shields.io/badge/chat-on%20libera-brightgreen.svg)](https://web.libera.chat/#gentoo-guru)
105
106
107 diff --git a/scripts/setup-and-run-repoman.sh b/scripts/setup-and-run-repoman.sh
108 deleted file mode 100755
109 index ad5e15a87..000000000
110 --- a/scripts/setup-and-run-repoman.sh
111 +++ /dev/null
112 @@ -1,31 +0,0 @@
113 -#! /usr/bin/env bash
114 -# Maintainer: Andrew Ammerlaan <andrewammerlaan@g.o>
115 -# Maintainer: James Beddek <telans@××××××.de>
116 -#
117 -# This sets up repoman and runs the latest version
118 -#
119 -# TODO: Force repoman to output in colour
120 -
121 -### Setup prerequisites
122 -python3 -m pip install --upgrade pip
123 -pip install lxml pyyaml
124 -sudo groupadd -g 250 portage
125 -sudo useradd -g portage -d /var/tmp/portage -s /bin/false -u 250 portage
126 -
127 -### Sync the portage repository
128 -git clone https://github.com/gentoo/portage.git
129 -cd portage
130 -
131 -# Get all versions, and read into array
132 -mapfile -t RM_VERSIONS < <( git tag | grep portage | sort -uV )
133 -
134 -# Select latests version (last element in array)
135 -RM_VERS="${RM_VERSIONS[-1]}"
136 -
137 -# Checkout this version
138 -git checkout tags/${RM_VERS} -b ${RM_VERS}
139 -
140 -cd ..
141 -
142 -### Run repoman
143 -python3 portage/repoman/bin/repoman -dx full