Browse Source

vm: kernel-placeholder package to inhibit real kernel pkg in VM (#645)

Some packages depends on kernel (ex fuse, pulseaudio), but kernel in VM is
managed by dom0. Any hack like exlude or so on will break some things, so
install empty placeholder package to fulfill dependencies.
Marek Marczykowski 12 years ago
parent
commit
077c74782c
3 changed files with 26 additions and 1 deletions
  1. 6 1
      Makefile
  2. 19 0
      rpm_spec/core-vm-kernel-placeholder.spec
  3. 1 0
      rpm_spec/core-vm.spec

+ 6 - 1
Makefile

@@ -14,10 +14,12 @@ help:
 
 rpms:	
 	rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-vm.spec
+	rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-vm-kernel-placeholder.spec
 	rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-dom0.spec
 	rpm --addsign \
 		$(RPMS_DIR)/x86_64/qubes-core-dom0-$(VERSION_DOM0)*.rpm \
-		$(RPMS_DIR)/x86_64/qubes-core-vm-*$(VERSION_VM)*.rpm
+		$(RPMS_DIR)/x86_64/qubes-core-vm-*$(VERSION_VM)*.rpm \
+		$(RPMS_DIR)/x86_64/qubes-core-vm-kernel-placeholder-*.rpm
 
 rpms-vaio-fixes:
 	rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-dom0-vaio-fixes.spec
@@ -29,6 +31,7 @@ update-repo-current:
 	for vmrepo in ../yum/current-release/current/vm/* ; do \
 		dist=$$(basename $$vmrepo) ;\
 		ln -f $(RPMS_DIR)/x86_64/qubes-core-vm-*$(VERSION_VM)*$$dist*.rpm $$vmrepo/rpm/ ;\
+		ln -f $(RPMS_DIR)/x86_64/qubes-core-vm-kernel-placeholder-*$$dist*.rpm $$vmrepo/rpm/ ;\
 	done
 
 update-repo-current-testing:
@@ -37,6 +40,7 @@ update-repo-current-testing:
 	for vmrepo in ../yum/current-release/current-testing/vm/* ; do \
 		dist=$$(basename $$vmrepo) ;\
 		ln -f $(RPMS_DIR)/x86_64/qubes-core-vm-*$(VERSION_VM)*$$dist*.rpm $$vmrepo/rpm/ ;\
+		ln -f $(RPMS_DIR)/x86_64/qubes-core-vm-kernel-placeholder-*$$dist*.rpm $$vmrepo/rpm/ ;\
 	done
 
 update-repo-unstable:
@@ -45,6 +49,7 @@ update-repo-unstable:
 	for vmrepo in ../yum/current-release/unstable/vm/* ; do \
 		dist=$$(basename $$vmrepo) ;\
 		ln -f $(RPMS_DIR)/x86_64/qubes-core-vm-*$(VERSION_VM)*$$dist*.rpm $$vmrepo/rpm/ ;\
+		ln -f $(RPMS_DIR)/x86_64/qubes-core-vm-kernel-placeholder-*$$dist*.rpm $$vmrepo/rpm/ ;\
 	done
 
 update-repo-installer:

+ 19 - 0
rpm_spec/core-vm-kernel-placeholder.spec

@@ -0,0 +1,19 @@
+# We don't install kernel pkg in VM, but some other pkgs depends on it.
+# Done as separate subpackage because yum allows multiple versions of kernel
+# pkg installed simultaneusly - and of course we don't want multiple versions
+# of qubes-core-vm
+Name:       qubes-core-vm-kernel-placeholder
+Summary:    Placeholder for kernel package as it is managed by Dom0
+Version:	1.0
+Release:	1%{dist}
+Vendor:		Invisible Things Lab
+License:	GPL
+Group:		Qubes
+URL:		http://www.qubes-os.org
+#  choose the oldest Qubes-supported VM kernel
+Provides:   kernel = 3.2.7
+
+%description
+Placeholder for kernel package as it is managed by Dom0.
+
+%files

+ 1 - 0
rpm_spec/core-vm.spec

@@ -39,6 +39,7 @@ Requires:	/usr/bin/mimeopen
 Requires:   ethtool
 Requires:   tinyproxy
 Requires:   ntpdate
+Requires:   qubes-core-vm-kernel-placeholder
 Provides:   qubes-core-vm
 Obsoletes:  qubes-core-commonvm
 Obsoletes:  qubes-core-appvm