Commit graph

26 commits

Author SHA1 Message Date
Adam Williamson
fa798595cf comps-sync.py: handle arch-dependent package specs (#311)
comps allows for a package to be included in a group only on
specified arches, with a line like this:

      <packagereq arch="aarch64,x86_64" type="default">kio-gdrive</packagereq>

up till now, `comps-sync.py` effectively ignored this, treating
such a line exactly the same as this:

      <packagereq type="default">kio-gdrive</packagereq>

and attempting to include the package even when building on e.g.
ppc64le.

Solving this is unfortunately tricky due to exactly how libcomps
handles these arch restrictions. It does not expose the list of
arches as a property of each returned 'package' object when you
do a group search. Instead you're supposed to filter the group
search down to the arch(es) you are interested in, and it only
includes the appropriate packages for that arch. So all we can
do is run our queries multiple times, once for each arch we may
wish to build on, keep track of the results per arch as we go,
and do some fancy footwork to keep track of the mapping between
"archful" comps entries and the lists in the YAML files.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-10-31 16:35:40 -07:00
Timothée Ravier
6901df2808 Remove Pantheon (removed from Fedora) 2022-09-15 18:09:51 +02:00
b1d4141d14 Rawhide is now f38
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2022-08-09 14:16:14 +02:00
ecbfb4339c Rawhide is now f37
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2022-02-08 14:02:58 +01:00
2852268aab Rawhide is now f36
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2021-08-10 14:23:18 +02:00
29db52d114 Setup for rawhide being F35
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2021-02-09 14:48:30 +01:00
Tomas Popela
7e7cef09ac Replace black/white list with exclude/include list 2021-01-04 11:20:45 +01:00
Timothée Ravier
7eb5b51765 Add Mate desktop variant 2020-11-25 11:21:51 +00:00
f6f2ce56ba Setup for rawhide being F34
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2020-08-10 16:32:33 +02:00
Mohan Boddu
5d8df8b4b5 Setup for rawhide being F33
Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2020-02-11 09:42:21 -05:00
e7f257df8c Changes for Rawhide being F32
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2019-08-12 17:05:55 +02:00
Colin Walters
87b6aac201 comps-sync: Blacklist PackageKit globally
We were trying to be accurate by filtering by group but
PackageKit is spread across all of them and has various subpackages,
so just add a global regexp-based blacklist.

This doesn't actually drop PK yet because `gnome-software` hard
requires it, but is prep for fixing that.
2019-04-13 12:26:22 +00:00
Timothée Ravier
d2b8aa6080 Add Pantheon & DeepinDE variants 2019-04-07 14:22:26 +02:00
Timothée Ravier
49f86462ec comps-sync.py: remove unused varaibles and minor renaming 2019-04-07 12:41:05 +02:00
Timothée Ravier
af221374f2 comps-sync.py: cosmetic changes for clearer result output 2019-04-07 12:41:05 +02:00
Timothée Ravier
09669b418d comps-sync.py: use yaml format only
Do not use yaml.dump() as it does not use the same indentation logic as
the one we currently have in comps-sync-blacklist.yml.
2019-04-07 12:41:05 +02:00
Timothée Ravier
55ae6ad005 Add LXQt variant 2019-03-21 09:14:57 +01:00
9e1d930e99 Rawhide is f31
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2019-02-19 09:06:02 +01:00
Dusty Mabe
4ec8cfa1b7
Rawhide being F30
Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
2018-08-18 20:54:10 -04:00
Timothée Ravier
78432354e3 comps-sync.py: remove deplicate func def & fixup comment 2018-08-07 20:56:47 +02:00
Timothée Ravier
4f1ecaa978 Add XFCE variant 2018-08-04 15:37:50 -04:00
Timothée Ravier
5d89f49877 Add KDE variant (Kinoite) 2018-08-04 15:37:50 -04:00
Timothée Ravier
04c703cede Rework Silverblue to split packages common to all variants 2018-08-04 15:37:50 -04:00
Colin Walters
369c6d4e81 comps-sync pass 3: Subset of workstation
The mental model here is simpler if our base package set is truly a subset of
Workstation.

Extend `comps-sync` to also support deleting packages not in the Workstation
set.  The only exception here is that we still want `kernel-modules-extra`
which for some reason is only in `livecd-tools`...I don't understand that.
For now I added a `whitelist`.

The set of resulting changes here generally makes sense.  We lose some
random unnecessary stuff like `teamd` and `dracut-network`, and `mactel-boot`.
We gain things like the desktop background packages, `sshpass`, and some `qt`
bits.

```
+  NetworkManager-openconnect-gnome-1.2.4-9.fc28.x86_64 (fedora-rawhide)
-  NetworkManager-team-1:1.10.2-1.fc28.x86_64 (fedora-rawhide)
+  NetworkManager-ssh-1.2.7-1.fc28.x86_64 (fedora-rawhide)
+  NetworkManager-ssh-gnome-1.2.7-1.fc28.x86_64 (fedora-rawhide)
-  adobe-source-han-sans-cn-fonts-1.004-6.fc28.noarch (fedora-rawhide)
-  adobe-source-han-sans-tw-fonts-1.004-7.fc28.noarch (fedora-rawhide)
+  alsa-ucm-1.1.5-2.fc28.x86_64 (fedora-rawhide)
-  autogen-libopts-5.18.12-6.fc28.x86_64 (fedora-rawhide)
+  cyrus-sasl-plain-2.1.26-37.fc28.x86_64 (fedora-rawhide)
+  desktop-backgrounds-gnome-27.0.0-2.fc28.noarch (fedora-rawhide)
-  dmraid-1.0.0.rc16-37.fc28.x86_64 (fedora-rawhide)
-  dmraid-events-1.0.0.rc16-37.fc28.x86_64 (fedora-rawhide)
-  dracut-config-generic-046-92.git20180118.fc28.1.x86_64 (fedora-rawhide)
-  dracut-network-046-92.git20180118.fc28.1.x86_64 (fedora-rawhide)
-  fcoe-utils-1.0.32-3.fc27.x86_64 (fedora-rawhide)
+  f27-backgrounds-base-27.0.1-3.fc28.noarch (fedora-rawhide)
+  f27-backgrounds-gnome-27.0.1-3.fc28.noarch (fedora-rawhide)
-  fedora-productimg-workstation-27-2.fc28.x86_64 (fedora-rawhide)
-  gnutls-dane-3.6.2-1.fc28.x86_64 (fedora-rawhide)
-  gnutls-utils-3.6.2-1.fc28.x86_64 (fedora-rawhide)
-  hfsplus-tools-540.1.linux3-15.fc28.x86_64 (fedora-rawhide)
-  highlight-3.39-3.fc27.x86_64 (fedora-rawhide)
-  libconfig-1.5-9.fc28.x86_64 (fedora-rawhide)
+  libdnet-1.12-25.fc28.x86_64 (fedora-rawhide)
+  libmspack-0.6-0.2.alpha.fc28.x86_64 (fedora-rawhide)
-  libnl3-cli-3.4.0-3.fc28.x86_64 (fedora-rawhide)
+  libsane-hpaio-3.17.11-8.fc28.x86_64 (fedora-rawhide)
-  libteam-1.27-6.fc28.x86_64 (fedora-rawhide)
-  libvirt-client-4.0.0-1.fc28.x86_64 (fedora-rawhide)
-  lldpad-1.0.1-9.git036e314.fc28.x86_64 (fedora-rawhide)
-  mactel-boot-0.9-16.fc27.x86_64 (fedora-rawhide)
-  naver-nanum-fonts-common-3.020-20.20140930.fc28.noarch (fedora-rawhide)
-  naver-nanum-gothic-fonts-3.020-20.20140930.fc28.noarch (fedora-rawhide)
+  open-vm-tools-10.2.0-3.fc28.x86_64 (fedora-rawhide)
+  open-vm-tools-desktop-10.2.0-3.fc28.x86_64 (fedora-rawhide)
+  pinentry-gnome3-1.1.0-2.fc28.x86_64 (fedora-rawhide)
+  pulseaudio-module-x11-11.1-11.fc28.x86_64 (fedora-rawhide)
+  pulseaudio-utils-11.1-11.fc28.x86_64 (fedora-rawhide)
+  qt5-qtdeclarative-5.10.1-1.fc28.x86_64 (fedora-rawhide)
+  qt5-qtxmlpatterns-5.10.1-1.fc28.x86_64 (fedora-rawhide)
+  realmd-0.16.3-9.fc28.x86_64 (fedora-rawhide)
-  sgpio-1.2.0.10-20.fc28.x86_64 (fedora-rawhide)
+  sshpass-1.06-5.fc28.x86_64 (fedora-rawhide)
-  teamd-1.27-6.fc28.x86_64 (fedora-rawhide)
-  unbound-libs-1.6.8-3.fc28.x86_64 (fedora-rawhide)
-  vlgothic-fonts-20141206-10.fc28.noarch (fedora-rawhide)
+  virtualbox-guest-additions-5.2.6-4.fc28.x86_64 (fedora-rawhide)
+  xmlsec1-openssl-1.2.25-3.fc28.x86_64 (fedora-rawhide)
```
2018-02-27 11:35:44 -05:00
Colin Walters
d0b52b1f19 Extend comps-sync more, add font packages
`comps-sync.py` now has support for explicitly syncing *from* the
workstation comps.  In order to do this sanely though, we need a
"blacklist" of things we don't want to sync.

There are a few issues here:

 - desktop applications
 - dubious CLI apps
 - dnf
 - dubious misc things: e.g. `tcp_wrappers`, `crontabs`
 - arch-specific bits (not handled right now)
2018-02-24 11:16:00 -05:00
Colin Walters
092c1bdb78 Add comps-sync script, use it to trim package set
This script looks for packages not in comps at all, which
helps us lose things that were there only as dependencies.

Also, it now supports showing packages in the workstation environment
but not in the manifest.  (I'm not yet taking action on those though)

Some leaf packages do drop out. All of these I believe are right to stop
shipping by default with the possible exception of `media-player-info`...I'm not
sure if that was intentional or not. Anyways let's start this sync process.

```
-Installing 1344 packages:
+Installing 1335 packages:
-  bcache-tools-1.0.8-10.fc27.x86_64 (fedora-rawhide)
-  isomd5sum-1:1.2.2-1.fc28.x86_64 (fedora-rawhide)
-  kexec-tools-2.0.16-3.fc28.x86_64 (fedora-rawhide)
-  keybinder3-0.3.2-3.fc27.x86_64 (fedora-rawhide)
-  langtable-0.0.38-2.fc28.noarch (fedora-rawhide)
-  langtable-data-0.0.38-2.fc28.noarch (fedora-rawhide)
-  langtable-python3-0.0.38-2.fc28.noarch (fedora-rawhide)
-  lpsolve-5.5.2.0-16.fc27.x86_64 (fedora-rawhide)
-  media-player-info-23-1.fc28.noarch (fedora-rawhide)
```
2018-02-17 16:05:31 -05:00