New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split qubes-core-agent/qubes-core-vm package #2771

Closed
marmarek opened this Issue Apr 23, 2017 · 4 comments

Comments

Projects
None yet
1 participant
@marmarek
Copy link
Member

marmarek commented Apr 23, 2017

Currently the package in title is "everything but the kitchen sink" type of package. It contains at least:

  • qrexec-agent
  • all kind of qrexec services (file copy, etc)
  • all kind of system configuration, including sudoers, sysctl (disable tcp timestamps etc), NetworkManager etc
  • various networking scripts
  • handling of dom0 updates
  • updates proxy stuff
  • integration with GUI file managers (nautilus, dolphin etc)
  • ...

Full list of files in Debian: https://gist.github.com/marmarek/30f089c595832a547af8ab034cc7b8e0
Full list of files in Fedora: https://gist.github.com/marmarek/532170f5e7ae995b33d33d6f85cde040

Splitting it is required for more specialized/minimal templates.

@marmarek

This comment has been minimized.

Copy link
Member Author

marmarek commented Apr 24, 2017

This is somehow related to #2572 - currently qubes-core-agent package is (also) used to install unrelated packages in VM.

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 22, 2017

debian,fedora: split nautilus integration into separate package
This will allow to avoid a lot of dependencies on minimal template.

QubesOS/qubes-issues#2816
QubesOS/qubes-issues#2771
@marmarek

This comment has been minimized.

@marmarek

This comment has been minimized.

Copy link
Member Author

marmarek commented May 29, 2017

Some ideas from discussion:

  • have qubes-core-agent-nautilus instead of qubes-nautilus
  • split dom0 updates and updates proxy

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 29, 2017

rpm: rename qubes-core-vm to qubes-core-agent
Rename it to match repository name and the same package in Debian.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 29, 2017

Rename qubes-nautilus to qubes-core-agent-nautilus
Again, this will make it easier to reason about package origin.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 29, 2017

Split dom0-updates handling into subpackage
In Fedora it makes little sense, but in Debian it allows to avoid a lot
of dependencies. So split in both, to keep it simple.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 29, 2017

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 29, 2017

Split network-related files to -network and -network-manager packages
This will save a lot of dependencies if networking is not needed in VMs
based on given template. Thanks to updates proxy over qrexec, template
itself do not need to have network configured too.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 30, 2017

rpm: rename qubes-core-vm to qubes-core-agent
Rename it to match repository name and the same package in Debian.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 30, 2017

Rename qubes-nautilus to qubes-core-agent-nautilus
Again, this will make it easier to reason about package origin.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 30, 2017

Split dom0-updates handling into subpackage
In Fedora it makes little sense, but in Debian it allows to avoid a lot
of dependencies. So split in both, to keep it simple.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 30, 2017

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 30, 2017

Split network-related files to -networking and -network-manager packages
This will save a lot of dependencies if networking is not needed in VMs
based on given template. Thanks to updates proxy over qrexec, template
itself do not need to have network configured too.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 30, 2017

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 30, 2017

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue May 30, 2017

Adjust dependencies for clean upgrade
When a file is moved to other package, the new package needs Replaces:
and Breaks: dependecies on old package. Otherwise dpkg will refuse to
change file ownership.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-gui-agent-linux that referenced this issue May 30, 2017

rpm: rename package to qubes-gui-agent
To match repository name and Debian package name.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-gui-agent-linux that referenced this issue May 30, 2017

rpm,deb: remove obsolete dependencies
Xen-related dependencies are not needed directly, everything that
libvchan needs should be pulled by that package.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/qubes-meta-packages that referenced this issue May 30, 2017

Adjust for package split in Qubes 4.0
qubes-core-agent and qubes-gui-agent were split into multiple packages.
Keep the base on in -dependencies meta-packages, add others into
--recommended.

Fixes QubesOS/qubes-issues#2572
QubesOS/qubes-issues#2771

marmarek added a commit to QubesOS/qubes-meta-packages that referenced this issue May 31, 2017

rpm: recommend qubes-doc-vm
This package is merged back into qubes-core-agent in Qubes 4.0, but for
Qubes 3.2 we need to install it separately.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-gui-agent-linux that referenced this issue May 31, 2017

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 7, 2017

rpm: rename qubes-core-vm to qubes-core-agent
Rename it to match repository name and the same package in Debian.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 7, 2017

Rename qubes-nautilus to qubes-core-agent-nautilus
Again, this will make it easier to reason about package origin.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 7, 2017

Split dom0-updates handling into subpackage
In Fedora it makes little sense, but in Debian it allows to avoid a lot
of dependencies. So split in both, to keep it simple.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 7, 2017

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 7, 2017

Split network-related files to -networking and -network-manager packages
This will save a lot of dependencies if networking is not needed in VMs
based on given template. Thanks to updates proxy over qrexec, template
itself do not need to have network configured too.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 7, 2017

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 7, 2017

Adjust dependencies for clean upgrade
When a file is moved to other package, the new package needs Replaces:
and Breaks: dependecies on old package. Otherwise dpkg will refuse to
change file ownership.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 9, 2017

Split network-related files to -networking and -network-manager packages
This will save a lot of dependencies if networking is not needed in VMs
based on given template. Thanks to updates proxy over qrexec, template
itself do not need to have network configured too.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 9, 2017

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 9, 2017

Adjust dependencies for clean upgrade
When a file is moved to other package, the new package needs Replaces:
and Breaks: dependecies on old package. Otherwise dpkg will refuse to
change file ownership.

QubesOS/qubes-issues#2771

marmarek added a commit to marmarek/old-qubes-core-agent-linux that referenced this issue Jun 9, 2017

rpm,deb: split qrexec-agent into separate subpackage
While it doesn't make sense to install qubes-core-agent without qrexec,
it may make sense to do the otherway around - install just
qrexec-agent without all the qrexec services and configuration. For
example on some pre-installed system.

QubesOS/qubes-issues#2771

marmarek added a commit to QubesOS/qubes-meta-packages that referenced this issue Jun 11, 2017

@marmarek

This comment has been minimized.

Copy link
Member Author

marmarek commented Jul 7, 2017

Done.

@marmarek marmarek closed this Jul 7, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment