Browse Source

Split items in `misc` directory by topic

Amadeusz Piotr Żołnowski 4 years ago
parent
commit
4de377bc3b
66 changed files with 236 additions and 132 deletions
  1. 2 104
      Makefile
  2. 0 0
      app-defaults/20_org.gnome.desktop.wm.preferences.qubes.gschema.override
  3. 0 0
      app-defaults/20_org.gnome.nautilus.qubes.gschema.override
  4. 0 0
      app-defaults/20_org.gnome.settings-daemon.plugins.updates.qubes.gschema.override
  5. 0 0
      app-defaults/20_org.mate.NotificationDaemon.qubes.gschema.override
  6. 11 0
      app-defaults/Makefile
  7. 19 0
      app-menu/Makefile
  8. 0 0
      app-menu/qubes-desktop-run
  9. 0 0
      app-menu/qubes-run-gnome-terminal
  10. 0 0
      app-menu/qubes-run-terminal
  11. 0 0
      app-menu/qubes-run-terminal.desktop
  12. 0 0
      app-menu/qubes-session-autostart
  13. 0 0
      app-menu/qubes-trigger-sync-appmenus.sh
  14. 1 1
      archlinux/PKGBUILD.install
  15. 10 0
      boot/Makefile
  16. 0 0
      boot/dracut-qubes.conf
  17. 0 0
      boot/grub.qubes
  18. 12 0
      boot/redhat/Makefile
  19. 0 0
      boot/redhat/qubes-serial-login
  20. 0 0
      boot/redhat/serial.conf
  21. 0 0
      boot/redhat/session-stop-timeout.conf
  22. 1 1
      debian/qubes-core-agent.install
  23. 11 0
      debian/rules
  24. 0 0
      filesystem/30_cron.conf
  25. 15 0
      filesystem/Makefile
  26. 0 0
      filesystem/fstab
  27. 1 1
      misc/.gitignore
  28. 0 0
      misc/50-qubes-mem-hotplug.rules
  29. 22 16
      misc/Makefile
  30. 0 0
      misc/marker-vm.in
  31. 18 0
      network/Makefile
  32. 0 0
      network/qvm-connect-tcp
  33. 0 0
      network/tinyproxy-wrapper
  34. 55 0
      package-managers/Makefile
  35. 0 0
      package-managers/RPM-GPG-KEY-qubes-4-centos
  36. 0 0
      package-managers/RPM-GPG-KEY-qubes-4-primary
  37. 0 0
      package-managers/RPM-GPG-KEY-qubes-4-unstable
  38. 0 0
      package-managers/apt-conf-00notify-hook
  39. 0 0
      package-managers/apt-conf-70no-unattended
  40. 0 0
      package-managers/apt-qubes-archive-keyring.gpg
  41. 0 0
      package-managers/apt-qubes-r4.list.in
  42. 0 0
      package-managers/dnf-qubes-hooks.conf
  43. 0 0
      package-managers/dnf-qubes-hooks.py
  44. 0 0
      package-managers/qubes-download-dom0-updates.sh
  45. 0 0
      package-managers/upgrades-installed-check
  46. 0 0
      package-managers/upgrades-status-notify
  47. 0 0
      package-managers/yum-qubes-hooks.conf
  48. 0 0
      package-managers/yum-qubes-hooks.py
  49. 0 0
      package-managers/yum-qubes-r4.repo.in
  50. 12 0
      passwordless-root/Makefile
  51. 7 0
      passwordless-root/debian/Makefile
  52. 0 0
      passwordless-root/debian/pam.d_su.qubes
  53. 0 0
      passwordless-root/polkit-1-qubes-allow-all.pkla
  54. 0 0
      passwordless-root/polkit-1-qubes-allow-all.rules
  55. 0 0
      passwordless-root/qubes.sudoers
  56. 4 4
      patches.debian/0001-Revert-Use-sfdisk-instead-of-parted-to-resize-root-p.patch
  57. 2 2
      patches.debian/01_add_anacron.patch
  58. 1 1
      qubes-rpc/Makefile
  59. 0 0
      qubes-rpc/resize-rootfs
  60. 20 2
      rpm_spec/core-agent.spec.in
  61. 0 0
      sys-defaults/20_tcp_timestamps.conf
  62. 12 0
      sys-defaults/Makefile
  63. 0 0
      sys-defaults/dconf-db-local-dpi
  64. 0 0
      sys-defaults/profile.d_qt_x11_no_mitshm.sh
  65. 0 0
      sys-defaults/sudoers.d_qt_x11_no_mitshm
  66. 0 0
      sys-defaults/sudoers.d_umask

+ 2 - 104
Makefile

@@ -2,17 +2,12 @@ RPMS_DIR=rpm/
 
 VERSION := $(shell cat version)
 
-DIST ?= fc18
-APPLICATIONSDIR ?= /usr/share/applications
 SBINDIR ?= /usr/sbin
 BINDIR ?= /usr/bin
 LIBDIR ?= /usr/lib
 SYSLIBDIR ?= /lib
 
 PYTHON ?= /usr/bin/python3
-PYTHON_SITEARCH = $(shell python2 -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1)')
-PYTHON2_SITELIB = $(shell python2 -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()')
-PYTHON3_SITELIB = $(shell python3 -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_lib())')
 
 # This makefile uses some bash-isms, make uses /bin/sh by default.
 SHELL = /bin/bash
@@ -52,8 +47,8 @@ clean:
 	rm -f .coverage
 
 all:
-	make -C misc
-	make -C qubes-rpc
+	$(MAKE) -C misc VERSION=$(VERSION)
+	$(MAKE) -C qubes-rpc
 
 # Dropin Directory
 SYSTEM_DROPIN_DIR ?= "lib/systemd/system"
@@ -156,30 +151,6 @@ install-sysvinit: install-init
 	install network/qubes-iptables $(DESTDIR)/etc/init.d/
 
 install-rh: install-systemd install-systemd-dropins install-sysvinit
-	install -D -m 0644 misc/qubes-r4.repo.in $(DESTDIR)/etc/yum.repos.d/qubes-r4.repo
-	DIST='$(DIST)'; sed -i "s/@DIST@/$${DIST%%[0-9]*}/g" $(DESTDIR)/etc/yum.repos.d/qubes-r4.repo
-	install -d $(DESTDIR)$(LIBDIR)/yum-plugins/
-	install -d -m 755 $(DESTDIR)/etc/pki/rpm-gpg
-	install -m 644 misc/RPM-GPG-KEY-qubes* $(DESTDIR)/etc/pki/rpm-gpg/
-	install -D -m 644 misc/session-stop-timeout.conf $(DESTDIR)$(LIBDIR)/systemd/system/user@.service.d/90-session-stop-timeout.conf
-
-	install -d $(DESTDIR)/etc/yum.conf.d
-	touch $(DESTDIR)/etc/yum.conf.d/qubes-proxy.conf
-
-	install -D -m 0644 misc/grub.qubes $(DESTDIR)/etc/default/grub.qubes
-	install -D -m 0644 misc/serial.conf $(DESTDIR)/usr/share/qubes/serial.conf
-	install -D misc/qubes-serial-login $(DESTDIR)/$(SBINDIR)/qubes-serial-login
-	install -D -m 0644 misc/dracut-qubes.conf \
-		$(DESTDIR)/usr/lib/dracut/dracut.conf.d/30-qubes.conf
-ifeq ($(shell rpm --eval %{centos_ver}),7)
-	install -D -m 0644 misc/yum-qubes-hooks.py $(DESTDIR)$(LIBDIR)/yum-plugins/
-	install -D -m 0644 misc/yum-qubes-hooks.conf $(DESTDIR)/etc/yum/pluginconf.d/yum-qubes-hooks.conf
-endif
-	install -D -m 0644 misc/dnf-qubes-hooks.py \
-		$(DESTDIR)$(PYTHON2_SITELIB)/dnf-plugins/qubes-hooks.py
-	install -D -m 0644 misc/dnf-qubes-hooks.py \
-		$(DESTDIR)$(PYTHON3_SITELIB)/dnf-plugins/qubes-hooks.py
-	install -D -m 0644 misc/dnf-qubes-hooks.conf $(DESTDIR)/etc/dnf/plugins/qubes-hooks.conf
 
 install-doc:
 	$(MAKE) -C doc install
@@ -187,71 +158,11 @@ install-doc:
 install-common: install-doc
 	$(MAKE) -C autostart-dropins install
 	$(MAKE) -C applications-dropins install
-	install -m 0644 -D misc/fstab $(DESTDIR)/etc/fstab
 
 	# force /usr/bin before /bin to have /usr/bin/python instead of /bin/python
 	PATH="/usr/bin:$(PATH)" $(PYTHON) setup.py install $(PYTHON_PREFIX_ARG) -O1 --root $(DESTDIR)
 	mkdir -p $(DESTDIR)$(SBINDIR)
 
-	install -d -m 0750 $(DESTDIR)/etc/sudoers.d/
-	install -D -m 0440 misc/qubes.sudoers $(DESTDIR)/etc/sudoers.d/qubes
-	install -D -m 0440 misc/sudoers.d_qt_x11_no_mitshm $(DESTDIR)/etc/sudoers.d/qt_x11_no_mitshm
-	install -D -m 0644 misc/20_tcp_timestamps.conf $(DESTDIR)/etc/sysctl.d/20_tcp_timestamps.conf
-
-	install -d $(DESTDIR)/var/lib/qubes
-
-	install -d $(DESTDIR)/etc/udev/rules.d
-	install -m 0644 misc/udev-qubes-misc.rules $(DESTDIR)/etc/udev/rules.d/50-qubes-misc.rules
-	install -d $(DESTDIR)$(LIBDIR)/qubes/
-	install misc/qubes-trigger-sync-appmenus.sh $(DESTDIR)$(LIBDIR)/qubes/
-	install -d -m 0750 $(DESTDIR)/etc/polkit-1/rules.d
-	install -D -m 0644 misc/polkit-1-qubes-allow-all.pkla $(DESTDIR)/etc/polkit-1/localauthority/50-local.d/qubes-allow-all.pkla
-	install -D -m 0644 misc/polkit-1-qubes-allow-all.rules $(DESTDIR)/etc/polkit-1/rules.d/00-qubes-allow-all.rules
-	install -D -m 0644 misc/mime-globs $(DESTDIR)/usr/share/qubes/mime-override/globs
-	install misc/qubes-download-dom0-updates.sh $(DESTDIR)$(LIBDIR)/qubes/
-	install -d $(DESTDIR)/usr/share/glib-2.0/schemas/
-	install -m 0644 \
-		misc/20_org.gnome.settings-daemon.plugins.updates.qubes.gschema.override \
-		misc/20_org.gnome.nautilus.qubes.gschema.override \
-		misc/20_org.mate.NotificationDaemon.qubes.gschema.override \
-		misc/20_org.gnome.desktop.wm.preferences.qubes.gschema.override \
-		$(DESTDIR)/usr/share/glib-2.0/schemas/
-	install -m 2775 -d $(DESTDIR)/var/lib/qubes/dom0-updates
-	install -D -m 0644 misc/qubes-master-key.asc $(DESTDIR)/usr/share/qubes/qubes-master-key.asc
-	install misc/resize-rootfs $(DESTDIR)$(LIBDIR)/qubes/
-
-	install misc/upgrades-installed-check $(DESTDIR)$(LIBDIR)/qubes/upgrades-installed-check
-	install misc/upgrades-status-notify $(DESTDIR)$(LIBDIR)/qubes/upgrades-status-notify
-
-	install -m 0644 network/udev-qubes-network.rules $(DESTDIR)/etc/udev/rules.d/99-qubes-network.rules
-	install -m 0755 network/update-proxy-configs $(DESTDIR)$(LIBDIR)/qubes/
-
-	install -d $(DESTDIR)$(BINDIR)
-	install -m 0755 misc/qubes-session-autostart $(DESTDIR)$(BINDIR)/qubes-session-autostart
-	install -m 0755 misc/qvm-features-request $(DESTDIR)$(BINDIR)/qvm-features-request
-	install -m 0755 misc/qubes-run-terminal $(DESTDIR)/$(BINDIR)
-	install -D -m 0644 misc/qubes-run-terminal.desktop $(DESTDIR)/$(APPLICATIONSDIR)/qubes-run-terminal.desktop
-	install -m 0755 misc/qubes-run-gnome-terminal $(DESTDIR)/$(BINDIR)
-
-	install -D -m 0644 misc/dconf-db-local-dpi $(DESTDIR)/etc/dconf/db/local.d/dpi
-
-	install -D -m 0755 misc/qubes-desktop-run $(DESTDIR)$(BINDIR)/qubes-desktop-run
-
-	install -d $(DESTDIR)/mnt/removable
-
-	install -d $(DESTDIR)/usr/lib/qubes-bind-dirs.d
-	install -D -m 0644 misc/30_cron.conf $(DESTDIR)/usr/lib/qubes-bind-dirs.d/30_cron.conf
-
-	install -D -m 0644 misc/marker-vm $(DESTDIR)/usr/share/qubes/marker-vm
-	cut -f 1,2 -d . version >> $(DESTDIR)/usr/share/qubes/marker-vm
-
-	install -m 0755 misc/tinyproxy-wrapper $(DESTDIR)/usr/lib/qubes/tinyproxy-wrapper
-
-	install -m 0755 misc/qvm-console $(DESTDIR)$(BINDIR)/qvm-console
-	install -m 0755 misc/qvm-connect-tcp $(DESTDIR)$(BINDIR)/qvm-connect-tcp
-
-	install -d $(DESTDIR)/var/run/qubes
-	install -d $(DESTDIR)/rw
 
 # Networking install target includes:
 # * basic network functionality (setting IP address, DNS, default gateway)
@@ -260,9 +171,6 @@ install-networking:
 	install -d $(DESTDIR)$(SYSLIBDIR)/systemd/system
 	install -m 0644 vm-systemd/qubes-*.socket $(DESTDIR)$(SYSLIBDIR)/systemd/system/
 
-	install -d $(DESTDIR)$(LIBDIR)/qubes/
-	install network/setup-ip $(DESTDIR)$(LIBDIR)/qubes/
-
 # Netvm install target includes:
 # * qubes-firewall service (FirewallVM)
 # * DNS redirection setup
@@ -318,20 +226,10 @@ install-networkmanager:
 	install -m 0644 network/show-hide-nm-applet.desktop $(DESTDIR)/etc/xdg/autostart/00-qubes-show-hide-nm-applet.desktop
 
 install-deb: install-common install-systemd install-systemd-dropins install-systemd-networking-dropins install-networking install-networkmanager install-netvm
-	mkdir -p $(DESTDIR)/etc/apt/sources.list.d
-	sed -e "s/@DIST@/`lsb_release -cs`/" misc/qubes-r4.list.in > $(DESTDIR)/etc/apt/sources.list.d/qubes-r4.list
-	install -D -m 644 misc/qubes-archive-keyring.gpg $(DESTDIR)/etc/apt/trusted.gpg.d/qubes-archive-keyring.gpg
-	install -D -m 644 network/00notify-hook $(DESTDIR)/etc/apt/apt.conf.d/00notify-hook
 	install -d $(DESTDIR)/etc/sysctl.d
 	install -m 644 network/80-qubes.conf $(DESTDIR)/etc/sysctl.d/
-	install -D -m 644 misc/profile.d_qt_x11_no_mitshm.sh $(DESTDIR)/etc/profile.d/qt_x11_no_mitshm.sh
-	install -D -m 440 misc/sudoers.d_umask $(DESTDIR)/etc/sudoers.d/umask
-	install -d $(DESTDIR)/etc/pam.d
-	install -m 0644 misc/pam.d_su.qubes $(DESTDIR)/etc/pam.d/su.qubes
 	install -d $(DESTDIR)/etc/needrestart/conf.d
 	install -D -m 0644 misc/50_qubes.conf $(DESTDIR)/etc/needrestart/conf.d/50_qubes.conf
-	install -D -m 0644 misc/grub.qubes $(DESTDIR)/etc/default/grub.d/30-qubes.cfg
-	install -D -m 0644 misc/apt-conf-70no-unattended $(DESTDIR)/etc/apt/apt.conf.d/70no-unattended
 
 	mkdir -p $(DESTDIR)/etc/systemd/system/
 	install -m 0644 vm-systemd/haveged.service  $(DESTDIR)/etc/systemd/system/

+ 0 - 0
misc/20_org.gnome.desktop.wm.preferences.qubes.gschema.override → app-defaults/20_org.gnome.desktop.wm.preferences.qubes.gschema.override


+ 0 - 0
misc/20_org.gnome.nautilus.qubes.gschema.override → app-defaults/20_org.gnome.nautilus.qubes.gschema.override


+ 0 - 0
misc/20_org.gnome.settings-daemon.plugins.updates.qubes.gschema.override → app-defaults/20_org.gnome.settings-daemon.plugins.updates.qubes.gschema.override


+ 0 - 0
misc/20_org.mate.NotificationDaemon.qubes.gschema.override → app-defaults/20_org.mate.NotificationDaemon.qubes.gschema.override


+ 11 - 0
app-defaults/Makefile

@@ -0,0 +1,11 @@
+GLIBSCHEMAS ?= /usr/share/glib-2.0/schemas
+
+.PHONY: install
+
+install:
+	install -d $(DESTDIR)$(GLIBSCHEMAS)
+	install -t $(DESTDIR)$(GLIBSCHEMAS) -m 0644 \
+		20_org.gnome.desktop.wm.preferences.qubes.gschema.override \
+		20_org.gnome.nautilus.qubes.gschema.override \
+		20_org.gnome.settings-daemon.plugins.updates.qubes.gschema.override \
+		20_org.mate.NotificationDaemon.qubes.gschema.override

+ 19 - 0
app-menu/Makefile

@@ -0,0 +1,19 @@
+APPLICATIONSDIR ?= /usr/share/applications
+BINDIR ?= /usr/bin
+LIBDIR ?= /usr/lib
+QUBESLIBDIR = $(LIBDIR)/qubes
+
+.PHONY: install
+
+install:
+	install -d $(DESTDIR)$(QUBESLIBDIR)
+	install -t $(DESTDIR)$(QUBESLIBDIR) \
+		qubes-trigger-sync-appmenus.sh
+	install -d $(DESTDIR)$(BINDIR)
+	install -t $(DESTDIR)$(BINDIR) \
+		qubes-desktop-run \
+		qubes-run-gnome-terminal \
+		qubes-run-terminal \
+		qubes-session-autostart
+	install -d $(DESTDIR)/$(APPLICATIONSDIR)
+	install -t $(DESTDIR)/$(APPLICATIONSDIR) -m 0644 qubes-run-terminal.desktop

+ 0 - 0
misc/qubes-desktop-run → app-menu/qubes-desktop-run


+ 0 - 0
misc/qubes-run-gnome-terminal → app-menu/qubes-run-gnome-terminal


+ 0 - 0
misc/qubes-run-terminal → app-menu/qubes-run-terminal


+ 0 - 0
misc/qubes-run-terminal.desktop → app-menu/qubes-run-terminal.desktop


+ 0 - 0
misc/qubes-session-autostart → app-menu/qubes-session-autostart


+ 0 - 0
misc/qubes-trigger-sync-appmenus.sh → app-menu/qubes-trigger-sync-appmenus.sh


+ 1 - 1
archlinux/PKGBUILD.install

@@ -355,7 +355,7 @@ post_install() {
             continue
         fi
 
-        if [ "$(basename "$f")" == "50-qubes-misc.rules" ] ; then
+        if [ "$(basename "$f")" == "50-qubes-mem-hotplug.rules" ] ; then
             continue
         fi
 

+ 10 - 0
boot/Makefile

@@ -0,0 +1,10 @@
+LIBDIR ?= /usr/lib
+SYSCONFDIR ?= /etc
+GRUBCONFDIR ?= $(SYSCONFDIR)/grub.d
+DRACUTCONFDIR ?= $(LIBDIR)/dracut/dracut.conf.d
+
+.PHONY: install
+
+install:
+	install -D -m 0644 grub.qubes $(DESTDIR)$(GRUBCONFDIR)/30_qubes
+	install -D -m 0644 dracut-qubes.conf $(DESTDIR)$(DRACUTCONFDIR)/30-qubes.conf

+ 0 - 0
misc/dracut-qubes.conf → boot/dracut-qubes.conf


+ 0 - 0
misc/grub.qubes → boot/grub.qubes


+ 12 - 0
boot/redhat/Makefile

@@ -0,0 +1,12 @@
+LIBDIR ?= /usr/lib
+SBINDIR ?= /usr/sbin
+SYSCONFDIR ?= /etc
+QUBESDATADIR = /usr/share/qubes
+
+.PHONY: install
+
+install:
+	install -D -m 0644 session-stop-timeout.conf \
+		$(DESTDIR)$(LIBDIR)/systemd/system/user@.service.d/90-session-stop-timeout.conf
+	install -D -m 0644 serial.conf $(DESTDIR)$(QUBESDATADIR)/serial.conf
+	install -D qubes-serial-login $(DESTDIR)$(SBINDIR)/qubes-serial-login

+ 0 - 0
misc/qubes-serial-login → boot/redhat/qubes-serial-login


+ 0 - 0
misc/serial.conf → boot/redhat/serial.conf


+ 0 - 0
misc/session-stop-timeout.conf → boot/redhat/session-stop-timeout.conf


+ 1 - 1
debian/qubes-core-agent.install

@@ -55,7 +55,7 @@ etc/sudoers.d/umask
 etc/sysctl.d/20_tcp_timestamps.conf
 etc/sysctl.d/80-qubes.conf
 etc/systemd/system/haveged.service
-etc/udev/rules.d/50-qubes-misc.rules
+etc/udev/rules.d/50-qubes-mem-hotplug.rules
 lib/modules-load.d/qubes-core.conf
 lib/systemd/system-preset/75-qubes-vm.preset
 lib/systemd/system/boot.automount.d/30_qubes.conf

+ 11 - 0
debian/rules

@@ -16,10 +16,21 @@ override_dh_auto_build:
 
 override_dh_auto_install:
 	make install-deb
+	make -C app-defaults install
+	make -C app-menu install
+	make -C filesystem install
+	make -C misc install
+	make -C network install
+	make -C package-managers install
+	make -C package-managers install-apt
+	make -C passwordless-root install
+	make -C passwordless-root/debian install
+	make -C sys-defaults install
 	make -C qubes-rpc install
 	make -C qubes-rpc/kde install
 	make -C qubes-rpc/nautilus install
 	make -C qubes-rpc/thunar install
+	install -D -m 0644 boot/grub.qubes $(DESTDIR)/etc/default/grub.d/30-qubes.cfg
 
 override_dh_fixperms:
 	dh_fixperms -a -Xqfile-unpacker

+ 0 - 0
misc/30_cron.conf → filesystem/30_cron.conf


+ 15 - 0
filesystem/Makefile

@@ -0,0 +1,15 @@
+LIBDIR ?= /usr/lib
+STATEDIR ?= /var/lib
+SYSCONFDIR ?= /etc
+QUBESBINDSDIR = $(LIBDIR)/qubes-bind-dirs.d
+QUBESSTATEDIR = $(STATEDIR)/qubes
+
+.PHONY: install
+
+install:
+	install -D -m 0644 fstab $(DESTDIR)$(SYSCONFDIR)/fstab
+	install -d $(DESTDIR)$(QUBESBINDSDIR)
+	install -t $(DESTDIR)$(QUBESBINDSDIR) -m 0644 30_cron.conf
+	install -d $(DESTDIR)$(QUBESSTATEDIR)
+	install -d $(DESTDIR)/mnt/removable
+	install -d $(DESTDIR)/rw

+ 0 - 0
misc/fstab → filesystem/fstab


+ 1 - 1
misc/.gitignore

@@ -1 +1 @@
-meminfo-writer
+/marker-vm

+ 0 - 0
misc/udev-qubes-misc.rules → misc/50-qubes-mem-hotplug.rules


+ 22 - 16
misc/Makefile

@@ -1,19 +1,25 @@
-all:	python
-python: python2 python3
-python2:
-	rm -rf py2
-	mkdir -p py2
-	cp *.py py2/
-	python2 -m compileall py2
-	python2 -O -m compileall py2
+BINDIR ?= /usr/bin
+SYSCONFDIR ?= /etc
+UDEVRULESDIR = $(SYSCONFDIR)/udev/rules.d
+QUBESDATADIR = /usr/share/qubes
 
-# Only some scripts does support python3 for now
-python3:
-	rm -rf py3
-	mkdir -p py3
-	cp dnf-qubes-hooks.py py3/
-	python3 -m compileall py3
-	python3 -O -m compileall py3
+.PHONY: all clean install
+
+all: marker-vm
 
 clean:
-	rm -f *~ *.pyc *.pyo
+	-$(RM) marker-vm
+
+install:
+	install -d $(DESTDIR)$(UDEVRULESDIR)
+	install -t $(DESTDIR)$(UDEVRULESDIR) -m 0644 50-qubes-mem-hotplug.rules
+	install -d $(DESTDIR)$(QUBESDATADIR)
+	install -D -t $(DESTDIR)$(QUBESDATADIR) -m 0644 \
+	    marker-vm \
+	    qubes-master-key.asc
+	install -D -m 0644 mime-globs $(DESTDIR)$(QUBESDATADIR)/mime-override/globs
+	install -d $(DESTDIR)$(BINDIR)
+	install -t $(DESTDIR)$(BINDIR) qvm-features-request
+
+marker-vm: marker-vm.in
+	printf "$(VERSION)" | cut -f 1,2 -d . | cat $< - > marker-vm

+ 0 - 0
misc/marker-vm → misc/marker-vm.in


+ 18 - 0
network/Makefile

@@ -0,0 +1,18 @@
+BINDIR ?= /usr/bin
+LIBDIR ?= /usr/lib
+SYSCONFDIR ?= /etc
+QUBESLIBDIR = $(LIBDIR)/qubes
+UDEVRULESDIR = $(SYSCONFDIR)/udev/rules.d
+
+.PHONY: install
+
+install:
+	install -D -m 0644 udev-qubes-network.rules $(DESTDIR)$(UDEVRULESDIR)/99-qubes-network.rules
+	install -d $(DESTDIR)$(QUBESLIBDIR)
+	install -t $(DESTDIR)$(QUBESLIBDIR) \
+		setup-ip \
+		tinyproxy-wrapper \
+		update-proxy-configs
+	install -d $(DESTDIR)$(BINDIR)
+	install -t $(DESTDIR)$(BINDIR) \
+		qvm-connect-tcp

+ 0 - 0
misc/qvm-connect-tcp → network/qvm-connect-tcp


+ 0 - 0
misc/tinyproxy-wrapper → network/tinyproxy-wrapper


+ 55 - 0
package-managers/Makefile

@@ -0,0 +1,55 @@
+LIBDIR ?= /usr/lib
+STATEDIR ?= /var/lib
+SYSCONFDIR ?= /etc
+PYTHON2_SITELIB = $(shell python2 -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()')
+PYTHON3_SITELIB = $(shell python3 -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_lib())')
+APTCONFDIR = $(SYSCONFDIR)/apt
+YUMCONFDIR = $(SYSCONFDIR)/yum.conf.d
+QUBESLIBDIR = $(LIBDIR)/qubes
+QUBESSTATEDIR = $(STATEDIR)/qubes
+
+DIST ?= fc18
+
+.PHONY: install install-apt install-dnf install-rpm install-yum
+
+install:
+	install -d $(DESTDIR)$(QUBESLIBDIR)
+	install -t $(DESTDIR)$(QUBESLIBDIR) \
+		qubes-download-dom0-updates.sh \
+		upgrades-installed-check \
+		upgrades-status-notify
+	install -d -m 2775 $(DESTDIR)$(QUBESSTATEDIR)/dom0-updates
+
+install-apt:
+	install -d $(DESTDIR)$(APTCONFDIR)/sources.list.d
+	sed -e "s/@DIST@/`lsb_release -cs`/" apt-qubes-r4.list.in \
+		> $(DESTDIR)$(APTCONFDIR)/sources.list.d/qubes-r4.list
+	install -D -m 0644 apt-qubes-archive-keyring.gpg \
+		$(DESTDIR)$(APTCONFDIR)/trusted.gpg.d/qubes-archive-keyring.gpg
+	install -D -m 0644 apt-conf-00notify-hook \
+		$(DESTDIR)$(APTCONFDIR)/apt.conf.d/00notify-hook
+	install -D -m 0644 apt-conf-70no-unattended \
+		$(DESTDIR)$(APTCONFDIR)/apt.conf.d/70no-unattended
+
+install-dnf: install-rpm
+	install -D -m 0644 dnf-qubes-hooks.py \
+		$(DESTDIR)$(PYTHON2_SITELIB)/dnf-plugins/qubes-hooks.py
+	install -D -m 0644 dnf-qubes-hooks.py \
+		$(DESTDIR)$(PYTHON3_SITELIB)/dnf-plugins/qubes-hooks.py
+	install -D -m 0644 dnf-qubes-hooks.conf $(DESTDIR)$(SYSCONFDIR)/dnf/plugins/qubes-hooks.conf
+
+install-yum: install-rpm
+	install -d $(DESTDIR)$(LIBDIR)/yum-plugins
+	install -D -m 0644 yum-qubes-hooks.py \
+		$(DESTDIR)$(LIBDIR)/yum-plugins/yum-qubes-hooks.py
+	install -D -m 0644 yum-qubes-hooks.conf \
+		$(DESTDIR)$(SYSCONFDIR)/yum/pluginconf.d/yum-qubes-hooks.conf
+
+install-rpm:
+	install -d $(DESTDIR)$(SYSCONFDIR)/yum.repos.d
+	DIST='$(DIST)'; sed -e "s/@DIST@/$${DIST%%[0-9]*}/g" yum-qubes-r4.repo.in \
+		> $(DESTDIR)$(SYSCONFDIR)/yum.repos.d/qubes-r4.repo
+	install -d $(DESTDIR)$(SYSCONFDIR)/pki/rpm-gpg
+	install -t $(DESTDIR)$(SYSCONFDIR)/pki/rpm-gpg -m 0644 RPM-GPG-KEY-qubes*
+	install -d $(DESTDIR)$(YUMCONFDIR)
+	> $(DESTDIR)$(YUMCONFDIR)/qubes-proxy.conf

+ 0 - 0
misc/RPM-GPG-KEY-qubes-4-centos → package-managers/RPM-GPG-KEY-qubes-4-centos


+ 0 - 0
misc/RPM-GPG-KEY-qubes-4-primary → package-managers/RPM-GPG-KEY-qubes-4-primary


+ 0 - 0
misc/RPM-GPG-KEY-qubes-4-unstable → package-managers/RPM-GPG-KEY-qubes-4-unstable


+ 0 - 0
network/00notify-hook → package-managers/apt-conf-00notify-hook


+ 0 - 0
misc/apt-conf-70no-unattended → package-managers/apt-conf-70no-unattended


+ 0 - 0
misc/qubes-archive-keyring.gpg → package-managers/apt-qubes-archive-keyring.gpg


+ 0 - 0
misc/qubes-r4.list.in → package-managers/apt-qubes-r4.list.in


+ 0 - 0
misc/dnf-qubes-hooks.conf → package-managers/dnf-qubes-hooks.conf


+ 0 - 0
misc/dnf-qubes-hooks.py → package-managers/dnf-qubes-hooks.py


+ 0 - 0
misc/qubes-download-dom0-updates.sh → package-managers/qubes-download-dom0-updates.sh


+ 0 - 0
misc/upgrades-installed-check → package-managers/upgrades-installed-check


+ 0 - 0
misc/upgrades-status-notify → package-managers/upgrades-status-notify


+ 0 - 0
misc/yum-qubes-hooks.conf → package-managers/yum-qubes-hooks.conf


+ 0 - 0
misc/yum-qubes-hooks.py → package-managers/yum-qubes-hooks.py


+ 0 - 0
misc/qubes-r4.repo.in → package-managers/yum-qubes-r4.repo.in


+ 12 - 0
passwordless-root/Makefile

@@ -0,0 +1,12 @@
+SYSCONFDIR ?= /etc
+SUDOERSDIR = $(SYSCONFDIR)/sudoers.d
+POLKIT1DIR = $(SYSCONFDIR)/polkit-1
+
+.PHONY: install
+
+install:
+	install -d -m 0750 $(DESTDIR)$(SUDOERSDIR)
+	install -D -m 0440 qubes.sudoers $(DESTDIR)$(SUDOERSDIR)/qubes
+	install -D -m 0644 polkit-1-qubes-allow-all.pkla $(DESTDIR)$(POLKIT1DIR)/localauthority/50-local.d/qubes-allow-all.pkla
+	install -d -m 0750 $(DESTDIR)$(POLKIT1DIR)/rules.d
+	install -D -m 0644 polkit-1-qubes-allow-all.rules $(DESTDIR)$(POLKIT1DIR)/rules.d/00-qubes-allow-all.rules

+ 7 - 0
passwordless-root/debian/Makefile

@@ -0,0 +1,7 @@
+SYSCONFDIR ?= /etc
+PAMDIR ?= $(SYSCONFDIR)/pam.d
+
+.PHONY: install
+
+install:
+	install -D -m 0644 pam.d_su.qubes $(DESTDIR)$(PAMDIR)/su.qubes

+ 0 - 0
misc/pam.d_su.qubes → passwordless-root/debian/pam.d_su.qubes


+ 0 - 0
misc/polkit-1-qubes-allow-all.pkla → passwordless-root/polkit-1-qubes-allow-all.pkla


+ 0 - 0
misc/polkit-1-qubes-allow-all.rules → passwordless-root/polkit-1-qubes-allow-all.rules


+ 0 - 0
misc/qubes.sudoers → passwordless-root/qubes.sudoers


+ 4 - 4
patches.debian/0001-Revert-Use-sfdisk-instead-of-parted-to-resize-root-p.patch

@@ -13,13 +13,13 @@ karelzak/util-linux#532, which is fixed only in util-linux 2.31.1+
 
 This reverts commit 9792438b3f02161e03d89dfd527ca2459092b478.
 ---
- misc/resize-rootfs | 9 +++++++--
+ qubes-rpc/resize-rootfs | 9 +++++++--
  1 file changed, 7 insertions(+), 2 deletions(-)
 
-diff --git a/misc/resize-rootfs b/misc/resize-rootfs
+diff --git a/qubes-rpc/resize-rootfs b/qubes-rpc/resize-rootfs
 index 1c2fca3c..bebf1011 100755
---- a/misc/resize-rootfs
-+++ b/misc/resize-rootfs
+--- a/qubes-rpc/resize-rootfs
++++ b/qubes-rpc/resize-rootfs
 @@ -8,8 +8,13 @@ case "$(stat -Lc %t:%T /dev/mapper/dmroot)" in
          # nothing needed, xvda used directly
          ;;

+ 2 - 2
patches.debian/01_add_anacron.patch

@@ -1,7 +1,7 @@
 Index: core-agent-linux/misc/30_cron.conf
 ===================================================================
---- core-agent-linux.orig/misc/30_cron.conf    2017-01-06 22:47:57.855061937 +0000
-+++ core-agent-linux/misc/30_cron.conf 2017-01-07 01:31:16.382061937 +0000
+--- core-agent-linux.orig/filesystem/30_cron.conf    2017-01-06 22:47:57.855061937 +0000
++++ core-agent-linux/filesystem/30_cron.conf 2017-01-07 01:31:16.382061937 +0000
 @@ -1 +1,2 @@
  binds+=( '/var/spool/cron' )
 +binds+=( '/var/spool/anacron' )

+ 1 - 1
qubes-rpc/Makefile

@@ -42,7 +42,7 @@ install:
 	ln -s qvm-copy-to-vm.gnome $(DESTDIR)$(QUBESLIBDIR)/qvm-copy-to-vm.kde
 	ln -s qvm-copy-to-vm.gnome $(DESTDIR)$(QUBESLIBDIR)/qvm-move-to-vm.kde
 	install -t $(DESTDIR)$(QUBESLIBDIR) \
-		prepare-suspend \
+		prepare-suspend resize-rootfs \
 		qfile-agent qopen-in-vm qrun-in-vm qubes-sync-clock \
 		tar2qfile vm-file-editor xdg-icon
 	# Install qfile-unpacker as SUID, because it will fail to receive

+ 0 - 0
misc/resize-rootfs → qubes-rpc/resize-rootfs


+ 20 - 2
rpm_spec/core-agent.spec.in

@@ -291,11 +291,24 @@ usermod -p '' root
 %install
 
 make install-vm DESTDIR=$RPM_BUILD_ROOT
+make -C app-defaults DESTDIR=$RPM_BUILD_ROOT install
+make -C app-menu DESTDIR=$RPM_BUILD_ROOT install
+make -C boot/redhat DESTDIR=$RPM_BUILD_ROOT install
+make -C filesystem DESTDIR=$RPM_BUILD_ROOT install
+make -C misc DESTDIR=$RPM_BUILD_ROOT install
+make -C network DESTDIR=$RPM_BUILD_ROOT install
+make -C passwordless-root DESTDIR=$RPM_BUILD_ROOT install
+make -C sys-defaults DESTDIR=$RPM_BUILD_ROOT install
 make -C qubes-rpc DESTDIR=$RPM_BUILD_ROOT install
 make -C qubes-rpc/kde DESTDIR=$RPM_BUILD_ROOT install
 make -C qubes-rpc/nautilus DESTDIR=$RPM_BUILD_ROOT install
 make -C qubes-rpc/thunar DESTDIR=$RPM_BUILD_ROOT install
 
+make -C package-managers DESTDIR=$RPM_BUILD_ROOT install install-dnf
+%if 0%{?rhel} == 7
+make -C package-managers DESTDIR=$RPM_BUILD_ROOT install-yum
+%endif
+
 %if 0%{?rhel} >= 7
 sed -i \
         -e 's:-primary:-centos:' \
@@ -303,6 +316,9 @@ sed -i \
         $RPM_BUILD_ROOT/etc/yum.repos.d/qubes-*.repo
 %endif
 
+install -D -m 0644 boot/dracut-qubes.conf $RPM_BUILD_ROOT/usr/lib/dracut/dracut.conf.d/30-qubes.conf
+install -D -m 0644 boot/grub.qubes $RPM_BUILD_ROOT/etc/default/grub.qubes
+
 %triggerin -- initscripts
 if [ -e /etc/init/serial.conf ]; then
 	cp /usr/share/qubes/serial.conf /etc/init/serial.conf
@@ -409,7 +425,7 @@ do
         continue
     fi
 
-    if [ $(basename $f) == "50-qubes-misc.rules" ] ; then
+    if [ $(basename $f) == "50-qubes-mem-hotplug.rules" ] ; then
         continue
     fi
 
@@ -592,9 +608,11 @@ rm -f %{name}-%{version}
 %dir /etc/qubes/post-install.d
 /etc/qubes/post-install.d/README
 /etc/qubes/post-install.d/*.sh
+%config(noreplace) /etc/profile.d/qt_x11_no_mitshm.sh
 %config(noreplace) /etc/sudoers.d/qt_x11_no_mitshm
+%config(noreplace) /etc/sudoers.d/umask
 %config(noreplace) /etc/sysctl.d/20_tcp_timestamps.conf
-%config(noreplace) /etc/udev/rules.d/50-qubes-misc.rules
+%config(noreplace) /etc/udev/rules.d/50-qubes-mem-hotplug.rules
 %config(noreplace) /etc/qubes-suspend-module-blacklist
 %config(noreplace) /etc/yum.conf.d/qubes-proxy.conf
 %config(noreplace) /etc/yum.repos.d/qubes-r4.repo

+ 0 - 0
misc/20_tcp_timestamps.conf → sys-defaults/20_tcp_timestamps.conf


+ 12 - 0
sys-defaults/Makefile

@@ -0,0 +1,12 @@
+SYSCONFDIR ?= /etc
+SUDOERSDIR = $(SYSCONFDIR)/sudoers.d
+
+.PHONY: install
+
+install:
+	install -D -m 0644 profile.d_qt_x11_no_mitshm.sh $(DESTDIR)$(SYSCONFDIR)/profile.d/qt_x11_no_mitshm.sh
+	install -d -m 0750 $(DESTDIR)$(SUDOERSDIR)
+	install -D -m 0440 sudoers.d_qt_x11_no_mitshm $(DESTDIR)$(SUDOERSDIR)/qt_x11_no_mitshm
+	install -D -m 0440 sudoers.d_umask $(DESTDIR)$(SUDOERSDIR)/umask
+	install -D -m 0644 20_tcp_timestamps.conf $(DESTDIR)$(SYSCONFDIR)/sysctl.d/20_tcp_timestamps.conf
+	install -D -m 0644 dconf-db-local-dpi $(DESTDIR)$(SYSCONFDIR)/dconf/db/local.d/dpi

+ 0 - 0
misc/dconf-db-local-dpi → sys-defaults/dconf-db-local-dpi


+ 0 - 0
misc/profile.d_qt_x11_no_mitshm.sh → sys-defaults/profile.d_qt_x11_no_mitshm.sh


+ 0 - 0
misc/sudoers.d_qt_x11_no_mitshm → sys-defaults/sudoers.d_qt_x11_no_mitshm


+ 0 - 0
misc/sudoers.d_umask → sys-defaults/sudoers.d_umask