No description
Find a file
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
comps-sync-blacklist.yml comps-sync pass 3: Subset of workstation 2018-02-27 11:35:44 -05:00
comps-sync.py comps-sync pass 3: Subset of workstation 2018-02-27 11:35:44 -05:00
config.ini use download.fp.o to download content from 2016-09-18 21:06:44 -05:00
fedora-atomic-workstation.json Setup for Rawhide being F29 2018-02-18 02:52:48 -05:00
fedora-ostree-workstation.json Split workstation-base from "atomic" 2018-02-12 12:12:25 -05:00
fedora-rawhide.repo Revert "Branching f27 from rawhide" 2017-09-11 10:58:44 -04:00
fedora-workstation-base-pkgs.json comps-sync pass 3: Subset of workstation 2018-02-27 11:35:44 -05:00
fedora-workstation-base.json Merge #65 Add initial comps-sync script, use it to trim package set 2018-02-17 21:34:16 +00:00
group Initial commit 2016-04-05 08:39:25 +02:00
passwd Initial commit 2016-04-05 08:39:25 +02:00
post.sh post.sh: Sync with fedora-atomic 2018-01-18 11:56:36 -05:00
README-install-inside.md Update README-install-inside.md - rhgb typo 2018-02-19 13:58:04 +00:00
README.md use mirror url 2018-02-07 14:10:46 -05:00

For some background, see:

(Note also this repo obsoletes https://pagure.io/atomic-ws)

High level design

The goal of the system is to be a workstation, using rpm-ostree for the base OS, and a combination of Docker and Flatpak containers, as well as virtualization tools such as Vagrant.

Status

This project is actively maintained and is ready for use by sophisticated and interested users, but not ready for widespread promotion.

See some [https://lists.fedoraproject.org/archives/list/desktop@lists.fedoraproject.org/thread/J6BJS7Z4NKNOQUZWGYXZZIEKYMWBBSUY/](discussion about the first release).

Installing

There are ISOs available for Fedora 27.

Alternatively, see a guide for installing inside an existing system.

Important issues:

Using the system

One of the first things you should do use is use a container runtime of your choice to manage one or more "pet" containers. This is where you will use yum/dnf to install utilities.

With docker for example, you can use the -v /srv:/srv command line option so these containers can share content with your host (such as git repositories). Note that if you want to share content between multiple Docker containers and the host (e.g. your desktop session), you should execute (once):

sudo chcon -R -h -t container_file_t /var/srv

Next, let's try flatpak. Before you do: There's a known flatpak issue on AtomicWS - run this workaround, which you only need to do once. After that, try flatpak.

If you are a developer for server applications, try oc cluster up to create a local OpenShift v3 cluster.

Finally, try out rpm-ostree install to layer additional packages directly on the host. This is needed for "host extensions" - privileged software that doesn't make sense to live in a container. For example, rpm-ostree install powerline to use that software for the shell prompts of the host. Another good example is rpm-ostree install vagrant-libvirt to use Vagrant to manage VMs.

Future work

  • GNOME Software support for both rpm-ostree/flatpak and possibly docker
  • automated tests that run on this content