diff --git a/Makefile b/Makefile index 8a77000d..22008229 100644 --- a/Makefile +++ b/Makefile @@ -7,20 +7,10 @@ LIBDIR ?= $(PREFIX)/lib SYSCONFDIR?=/etc QMDIR=/usr/lib/qm SPECFILE=rpm/qm.spec -SPECFILE_SUBPACKAGE_KVM=rpm/kvm/qm-kvm.spec -SPECFILE_SUBPACKAGE_SOUND=rpm/sound/sound.spec -SPECFILE_SUBPACKAGE_VIDEO=rpm/video/video.spec -SPECFILE_SUBPACKAGE_RADIO=rpm/radio/radio.spec -SPECFILE_SUBPACKAGE_DVB=rpm/dvb/dvb.spec -SPECFILE_SUBPACKAGE_TTY7=rpm/tty7/tty7.spec -SPECFILE_SUBPACKAGE_TEXT2SPEECH=rpm/text2speech/text2speech.spec -SPECFILE_SUBPACKAGE_INPUT=rpm/input/input.spec -SPECFILE_SUBPACKAGE_IMG_WINDOWMANAGER=rpm/windowmanager/windowmanager.spec -SPECFILE_SUBPACKAGE_TTYUSB0=rpm/ttyUSB0/ttyUSB0.spec -SPECFILE_SUBPACKAGE_IMG_TEMPDIR=rpm/img_tempdir/img_tempdir.spec -SPECFILE_SUBPACKAGE_ROS2_ROLLING=rpm/ros2/rolling/ros2_rolling.spec -RPM_TOPDIR ?= $(PWD)/rpmbuild -VERSION ?= $(shell cat VERSION) +SUBSYS := subsystems/kvm subsystems/windowmanager subsystems/sound subsystems/video subsystems/radio subsystems/dvb subsystems/tty7 subsystems/input subsystems/ttyUSB0 subsystems/text2speech subsystems/img_tempdir subsystems/ros2 +export RPM_TOPDIR ?= $(PWD)/rpmbuild +export VERSION ?= $(shell cat VERSION) +export ROOTDIR ?= $(PWD) # Default help target .PHONY: help @@ -74,17 +64,6 @@ dist: ## - Creates the QM distribution package --transform s/qm/qm-${VERSION}/ \ -f /tmp/v${VERSION}.tar.gz ../qm mv /tmp/v${VERSION}.tar.gz ./rpm - tar cvz \ - --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ - --dereference \ - --transform s/qm/qm-kvm-${VERSION}/ \ - -f /tmp/qm-kvm-${VERSION}.tar.gz \ - ../qm/README.md \ - ../qm/SECURITY.md \ - ../qm/LICENSE \ - ../qm/ \ - ../qm/etc/containers/systemd/qm.container.d/qm_dropin_mount_bind_kvm.conf - mv /tmp/qm-kvm-${VERSION}.tar.gz ./rpm .PHONY: rpm rpm: clean dist ## - Creates a local RPM package, useful for development @@ -95,126 +74,11 @@ rpm: clean dist ## - Creates a local RPM package, useful for develop --define="_topdir ${RPM_TOPDIR}" \ --define="version ${VERSION}" \ ${SPECFILE} - -.PHONY: kvm_subpackage -kvm_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_KVM} - -.PHONY: text2speech_subpackage -text2speech_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_TEXT2SPEECH} - -.PHONY: ros2_rolling_subpackage -ros2_rolling_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_ROS2_ROLLING} - -.PHONY: sound_subpackage -sound_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_SOUND} - -.PHONY: video_subpackage -video_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_VIDEO} - -.PHONY: radio_subpackage -radio_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_RADIO} - -.PHONY: dvb_subpackage -dvb_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_DVB} - -.PHONY: tty7_subpackage -tty7_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_TTY7} - -.PHONY: input_subpackage -input_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_INPUT} - -.PHONY: ttyUSB0_subpackage -ttyUSB0_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_TTYUSB0} - -.PHONY: img_tempdir_subpackage -img_tempdir_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_IMG_TEMPDIR} - -.PHONY: windowmanager_subpackage -windowmanager_subpackage: clean dist ## - Creates a local RPM package, useful for development - mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} - tools/version-update -v ${VERSION} - cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES - rpmbuild -ba \ - --define="_topdir ${RPM_TOPDIR}" \ - --define="version ${VERSION}" \ - ${SPECFILE_SUBPACKAGE_IMG_WINDOWMANAGER} + for dir in $(SUBSYS); do \ + if [ -f $$dir/Makefile ]; then \ + $(MAKE) -C $$dir -f Makefile rpm; \ + fi; \ + done install-policy: all ## - Install selinux policies only semodule -i ${TARGETS}.pp.bz2 diff --git a/rpm/ros2/rolling/ros2_rolling.spec b/rpm/ros2/rolling/ros2_rolling.spec index 2007b0f3..88137945 100644 --- a/rpm/ros2/rolling/ros2_rolling.spec +++ b/rpm/ros2/rolling/ros2_rolling.spec @@ -5,7 +5,7 @@ %global ros2_container %{rootfs_qm}/%{_sysconfdir}/containers/systemd/ Name: qm-ros2-rolling -Version: 0 +Version: 0.6.9 Release: 1%{?dist} Summary: Subpackage container for quadlet container to ROS2 Rolling environment License: GPL-2.0-only @@ -36,7 +36,8 @@ containers managed by Podman and systemd within the QM environment. mkdir -p %{buildroot}%{ros2_container} # Install the ROS2 Rolling container file -install -m 644 subsystems/ros2/ros2-rolling.container %{buildroot}%{ros2_container} + +install -m 644 subsystems/ros2/etc/containers/systemd/ros2-rolling.container %{buildroot}%{ros2_container} %files %license LICENSE diff --git a/rpm/sound/sound.spec b/rpm/sound/sound.spec index be87855f..e7f24a02 100644 --- a/rpm/sound/sound.spec +++ b/rpm/sound/sound.spec @@ -31,9 +31,9 @@ install -d %{buildroot}%{_sysconfdir}/containers/containers.conf.d install -d %{buildroot}%{_sysconfdir}/qm/containers/containers.conf.d install -d %{buildroot}%{rootfs_qm}%{_sysconfdir}/containers/systemd -install -m 644 subsystems/audio/audio.container %{buildroot}%{rootfs_qm}%{_sysconfdir}/containers/systemd/audio.container install -m 644 etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_snd.conf %{buildroot}%{_sysconfdir}/containers/containers.conf.d/qm_dropin_mount_bind_snd.conf install -m 644 etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_snd.conf %{buildroot}%{_sysconfdir}/qm/containers/containers.conf.d/qm_dropin_mount_bind_snd.conf +install -m 644 subsystems/sound/etc/containers/systemd/audio.container %{buildroot}%{rootfs_qm}%{_sysconfdir}/containers/systemd/audio.container %files %license LICENSE diff --git a/rpm/text2speech/text2speech.spec b/rpm/text2speech/text2speech.spec index 59cafa6a..113ce89a 100644 --- a/rpm/text2speech/text2speech.spec +++ b/rpm/text2speech/text2speech.spec @@ -4,7 +4,7 @@ %global rootfs_qm %{_prefix}/lib/qm/rootfs/ Name: qm-text2speech -Version: 0.6.8 +Version: 0 Release: 1%{?dist} Summary: Drop-in configuration for QM containers to mount bind License: GPL-2.0-only diff --git a/rpm/video/video.spec b/rpm/video/video.spec index 4a785d7e..de25e573 100644 --- a/rpm/video/video.spec +++ b/rpm/video/video.spec @@ -23,7 +23,7 @@ install -d %{buildroot}%{_sysconfdir}/qm/containers/containers.conf.d install -d %{buildroot}%{_sysconfdir}/containers/systemd/ install -m 644 etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_video.conf \ %{buildroot}%{_sysconfdir}/qm/containers/containers.conf.d/qm_dropin_mount_bind_video.conf -install -m 644 etc/containers/systemd/rear-camera.container \ +install -m 644 subsystems/video/etc/containers/systemd/rear-camera.container \ %{buildroot}%{_sysconfdir}/containers/systemd/rear-camera.container %files diff --git a/rpm/windowmanager/windowmanager.spec b/rpm/windowmanager/windowmanager.spec index cf33a0bb..e5822432 100644 --- a/rpm/windowmanager/windowmanager.spec +++ b/rpm/windowmanager/windowmanager.spec @@ -18,9 +18,9 @@ This sub-package installs an experimental window manager for the QM environment. %install install -d %{buildroot}/%{_sysconfdir}/pam.d/ install -d %{buildroot}%{_sysconfdir}/containers/containers.conf.d -install -m 644 ./qm-windowmanager/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_window_manager.conf \ +install -m 644 ./subsystems/windowmanager/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_window_manager.conf \ %{buildroot}/%{_sysconfdir}/containers/containers.conf.d/ -install -m 644 ./qm-windowmanager/etc/pam.d/wayland %{buildroot}/%{_sysconfdir}/pam.d/ +install -m 644 ./subsystems/windowmanager/etc/pam.d/wayland %{buildroot}/%{_sysconfdir}/pam.d/ %files %license LICENSE diff --git a/subsystems/dvb/Makefile b/subsystems/dvb/Makefile new file mode 100644 index 00000000..6de0df21 --- /dev/null +++ b/subsystems/dvb/Makefile @@ -0,0 +1,26 @@ +SPECFILE_SUBPACKAGE_DVB=rpm/dvb/dvb.spec + +.PHONY: dist +dist: ## - Creates the QM dvb package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-dvb-${VERSION}/ \ + -f /tmp/qm-dvb-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../qm/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_dvb.conf + cd $(ROOTDIR) && mv /tmp/qm-dvb-${VERSION}.tar.gz ./rpm + +.PHONY: rpm +rpm: dist ## - Creates a local RPM package, useful for development + mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + tools/version-update -v ${VERSION} + cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_DVB} + diff --git a/subsystems/img_tempdir/Makefile b/subsystems/img_tempdir/Makefile new file mode 100644 index 00000000..bff1a218 --- /dev/null +++ b/subsystems/img_tempdir/Makefile @@ -0,0 +1,26 @@ +SPECFILE_SUBPACKAGE_IMG_TEMPDIR=rpm/img_tempdir/img_tempdir.spec + +.PHONY: dist +dist: ## - Creates the QM img_tempdir package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-img_tempdir-${VERSION}/ \ + -f /tmp/qm-img_tempdir-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../qm/etc/qm/containers/containers.conf.d/qm_dropin_img_tempdir.conf + cd $(ROOTDIR) && mv /tmp/qm-img_tempdir-${VERSION}.tar.gz ./rpm + +.PHONY: rpm +rpm: dist ## - Creates a local RPM package, useful for development + mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + tools/version-update -v ${VERSION} + cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_IMG_TEMPDIR} + diff --git a/subsystems/input/Makefile b/subsystems/input/Makefile new file mode 100644 index 00000000..e38b86e8 --- /dev/null +++ b/subsystems/input/Makefile @@ -0,0 +1,25 @@ +SPECFILE_SUBPACKAGE_INPUT=rpm/input/input.spec + +.PHONY: dist +dist: ## - Creates the QM input package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-input-${VERSION}/ \ + -f /tmp/qm-input-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../qm/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_input.conf + cd $(ROOTDIR) && mv /tmp/qm-input-${VERSION}.tar.gz ./rpm + +.PHONY: rpm +rpm: dist ## - Creates a local RPM package, useful for development + mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + tools/version-update -v ${VERSION} + cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_INPUT} diff --git a/subsystems/kvm/Makefile b/subsystems/kvm/Makefile new file mode 100644 index 00000000..7a6161f4 --- /dev/null +++ b/subsystems/kvm/Makefile @@ -0,0 +1,26 @@ +SPECFILE_SUBPACKAGE_KVM=rpm/kvm/qm-kvm.spec + +.PHONY: dist +dist: ## - Creates the QM kvm package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-kvm-${VERSION}/ \ + -f /tmp/qm-kvm-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../qm/etc/containers/systemd/qm.container.d/qm_dropin_mount_bind_kvm.conf + cd $(ROOTDIR) && mv /tmp/qm-kvm-${VERSION}.tar.gz ./rpm + +.PHONY: rpm +rpm: dist ## - Creates a local RPM windowmanager package, useful for development + cd $(ROOTDIR) && mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + cd $(ROOTDIR) && tools/version-update -v ${VERSION} + cd $(ROOTDIR) && cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + cd $(ROOTDIR) && rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_IMG_WINDOWMANAGER} + diff --git a/subsystems/radio/Makefile b/subsystems/radio/Makefile new file mode 100644 index 00000000..6cf3378d --- /dev/null +++ b/subsystems/radio/Makefile @@ -0,0 +1,27 @@ +SPECFILE_SUBPACKAGE_RADIO=rpm/radio/radio.spec + +.PHONY: dist +dist: ## - Creates the QM radio package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-radio-${VERSION}/ \ + -f /tmp/qm-radio-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../qm/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_radio.conf + cd $(ROOTDIR) && mv /tmp/qm-radio-${VERSION}.tar.gz ./rpm + + +.PHONY: rpm + rpm: dist ## - Creates a local RPM package, useful for development + mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + tools/version-update -v ${VERSION} + cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_RADIO} + diff --git a/subsystems/ros2/Makefile b/subsystems/ros2/Makefile new file mode 100644 index 00000000..aec27832 --- /dev/null +++ b/subsystems/ros2/Makefile @@ -0,0 +1,27 @@ +SPECFILE_SUBPACKAGE_ROS2_ROLLING=rpm/ros2/rolling/ros2_rolling.spec + +.PHONY: dist +dist: ## - Creates the QM ros2 package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-ros2-${VERSION}/ \ + -f /tmp/qm-ros2-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../qm/subsystems/ros2/etc/containers/systemd/ros2-rolling.container + cd $(ROOTDIR) && mv /tmp/qm-ros2-${VERSION}.tar.gz ./rpm + + +.PHONY: rpm +rpm: dist ## - Creates a local RPM package, useful for development + cd $(ROOTDIR) && mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + cd $(ROOTDIR) && tools/version-update -v ${VERSION} + cd $(ROOTDIR) && cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + cd $(ROOTDIR) && rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_ROS2_ROLLING} + diff --git a/subsystems/ros2/ros2-rolling.container b/subsystems/ros2/etc/containers/systemd/ros2-rolling.container similarity index 100% rename from subsystems/ros2/ros2-rolling.container rename to subsystems/ros2/etc/containers/systemd/ros2-rolling.container diff --git a/subsystems/ros2/ContainerFile b/subsystems/ros2/usr/share/qm/ContainerFile similarity index 100% rename from subsystems/ros2/ContainerFile rename to subsystems/ros2/usr/share/qm/ContainerFile diff --git a/subsystems/sound/Makefile b/subsystems/sound/Makefile new file mode 100644 index 00000000..3650b857 --- /dev/null +++ b/subsystems/sound/Makefile @@ -0,0 +1,27 @@ +SPECFILE_SUBPACKAGE_SOUND=rpm/sound/sound.spec + +.PHONY: dist +dist: ## - Creates the QM kvm package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-sound-${VERSION}/ \ + -f /tmp/qm-sound-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../qm/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_snd.conf \ + ../qm/subsystems/sound/etc/containers/systemd/audio.container + cd $(ROOTDIR) && mv /tmp/qm-sound-${VERSION}.tar.gz ./rpm + +.PHONY: rpm +rpm: dist ## - Creates a local RPM package, useful for development + mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + tools/version-update -v ${VERSION} + cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_SOUND} + diff --git a/subsystems/audio/audio.container b/subsystems/sound/etc/containers/systemd/audio.container similarity index 100% rename from subsystems/audio/audio.container rename to subsystems/sound/etc/containers/systemd/audio.container diff --git a/subsystems/audio/ContainerFile b/subsystems/sound/usr/share/qm/ContainerFile similarity index 100% rename from subsystems/audio/ContainerFile rename to subsystems/sound/usr/share/qm/ContainerFile diff --git a/subsystems/text2speech/Makefile b/subsystems/text2speech/Makefile new file mode 100644 index 00000000..d31fde1c --- /dev/null +++ b/subsystems/text2speech/Makefile @@ -0,0 +1,24 @@ +SPECFILE_SUBPACKAGE_TEXT2SPEECH=rpm/text2speech/text2speech.spec + +.PHONY: dist +dist: ## - Creates the QM input package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-text2speech-${VERSION}/ \ + -f /tmp/qm-text2speech-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ + cd $(ROOTDIR) && mv /tmp/qm-text2speech-${VERSION}.tar.gz ./rpm + +.PHONY: rpm +rpm: dist ## - Creates a local RPM package, useful for development + cd $(ROOTDIR) && mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + cd $(ROOTDIR) && tools/version-update -v ${VERSION} + cd $(ROOTDIR) && cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + cd $(ROOTDIR) && rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_TEXT2SPEECH} diff --git a/subsystems/tty7/Makefile b/subsystems/tty7/Makefile new file mode 100644 index 00000000..49606fed --- /dev/null +++ b/subsystems/tty7/Makefile @@ -0,0 +1,26 @@ +SPECFILE_SUBPACKAGE_TTY7=rpm/tty7/tty7.spec + +.PHONY: dist +dist: ## - Creates the QM tty7 package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-tty7-${VERSION}/ \ + -f /tmp/qm-tty7-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../qm/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_tty7.conf + cd $(ROOTDIR) && mv /tmp/qm-tty7-${VERSION}.tar.gz ./rpm + +.PHONY: rpm +rpm: dist ## - Creates a local RPM package, useful for development + cd $(ROOTDIR) && mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + cd $(ROOTDIR) && tools/version-update -v ${VERSION} + cd $(ROOTDIR) && cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + cd $(ROOTDIR) && rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_TTY7} + diff --git a/subsystems/ttyUSB0/Makefile b/subsystems/ttyUSB0/Makefile new file mode 100644 index 00000000..0be0e92b --- /dev/null +++ b/subsystems/ttyUSB0/Makefile @@ -0,0 +1,26 @@ +SPECFILE_SUBPACKAGE_TTYUSB0=rpm/ttyUSB0/ttyUSB0.spec + +.PHONY: dist +dist: ## - Creates the QM ttyUSB0 package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-ttyUSB0-${VERSION}/ \ + -f /tmp/qm-ttyUSB0-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../qm/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_ttyUSB0.conf + cd $(ROOTDIR) && mv /tmp/qm-ttyUSB0-${VERSION}.tar.gz ./rpm + +.PHONY: rpm +rpm: dist ## - Creates a local RPM package, useful for development + cd $(ROOTDIR) && mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + cd $(ROOTDIR) && tools/version-update -v ${VERSION} + cd $(ROOTDIR) && cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + cd $(ROOTDIR) && rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_TTYUSB0} + diff --git a/subsystems/video/Makefile b/subsystems/video/Makefile new file mode 100644 index 00000000..8a04d16f --- /dev/null +++ b/subsystems/video/Makefile @@ -0,0 +1,27 @@ +SPECFILE_SUBPACKAGE_VIDEO=rpm/video/video.spec + +.PHONY: dist +dist: ## - Creates the QM video package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/qm-video-${VERSION}/ \ + -f /tmp/qm-video-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../qm/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_video.conf \ + ../qm/subsystems/video/etc/containers/systemd/rear-camera.container + cd $(ROOTDIR) && mv /tmp/qm-video-${VERSION}.tar.gz ./rpm + +.PHONY: rpm +rpm: dist ## - Creates a local RPM package, useful for development + mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + tools/version-update -v ${VERSION} + cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_VIDEO} + diff --git a/etc/containers/systemd/rear-camera.container b/subsystems/video/etc/containers/systemd/rear-camera.container similarity index 100% rename from etc/containers/systemd/rear-camera.container rename to subsystems/video/etc/containers/systemd/rear-camera.container diff --git a/etc/containers/systemd/ContainerFile.rear-camera b/subsystems/video/usr/share/qm/ContainerFile.rear-camera similarity index 100% rename from etc/containers/systemd/ContainerFile.rear-camera rename to subsystems/video/usr/share/qm/ContainerFile.rear-camera diff --git a/subsystems/windowmanager/Makefile b/subsystems/windowmanager/Makefile new file mode 100644 index 00000000..6e00c3ba --- /dev/null +++ b/subsystems/windowmanager/Makefile @@ -0,0 +1,27 @@ +SPECFILE_SUBPACKAGE_IMG_WINDOWMANAGER=rpm/windowmanager/windowmanager.spec + +.PHONY: dist +dist: ## - Creates the QM windowmanager package + cd $(ROOTDIR) && tar cvz \ + --exclude-from=build-aux/exclude_from_tar_gz_subpackage_kvm.txt \ + --dereference \ + --transform s/qm/windowmanager-${VERSION}/ \ + -f /tmp/qm-windowmanager-${VERSION}.tar.gz \ + ../qm/README.md \ + ../qm/SECURITY.md \ + ../qm/LICENSE \ + ../qm/ \ + ../subsystems/windowmanager/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_window_manager.conf + + cd $(ROOTDIR) && mv /tmp/qm-windowmanager-${VERSION}.tar.gz ./rpm + +.PHONY: rpm +rpm: dist ## - Creates a local windowmanager package, useful for development + mkdir -p ${RPM_TOPDIR}/{RPMS,SRPMS,BUILD,SOURCES} + tools/version-update -v ${VERSION} + cp ./rpm/v${VERSION}.tar.gz ${RPM_TOPDIR}/SOURCES + rpmbuild -ba \ + --define="_topdir ${RPM_TOPDIR}" \ + --define="version ${VERSION}" \ + ${SPECFILE_SUBPACKAGE_IMG_WINDOWMANAGER} + diff --git a/qm-windowmanager/etc/containers/systemd/gnome_mutter.container b/subsystems/windowmanager/etc/containers/systemd/gnome_mutter.container similarity index 100% rename from qm-windowmanager/etc/containers/systemd/gnome_mutter.container rename to subsystems/windowmanager/etc/containers/systemd/gnome_mutter.container diff --git a/qm-windowmanager/etc/containers/systemd/session-activate.container b/subsystems/windowmanager/etc/containers/systemd/session-activate.container similarity index 100% rename from qm-windowmanager/etc/containers/systemd/session-activate.container rename to subsystems/windowmanager/etc/containers/systemd/session-activate.container diff --git a/qm-windowmanager/etc/containers/systemd/wayland-extra-devices.conf b/subsystems/windowmanager/etc/containers/systemd/wayland-extra-devices.conf similarity index 100% rename from qm-windowmanager/etc/containers/systemd/wayland-extra-devices.conf rename to subsystems/windowmanager/etc/containers/systemd/wayland-extra-devices.conf diff --git a/qm-windowmanager/etc/containers/systemd/weston_terminal.container b/subsystems/windowmanager/etc/containers/systemd/weston_terminal.container similarity index 100% rename from qm-windowmanager/etc/containers/systemd/weston_terminal.container rename to subsystems/windowmanager/etc/containers/systemd/weston_terminal.container diff --git a/qm-windowmanager/etc/pam.d/wayland b/subsystems/windowmanager/etc/pam.d/wayland similarity index 100% rename from qm-windowmanager/etc/pam.d/wayland rename to subsystems/windowmanager/etc/pam.d/wayland diff --git a/qm-windowmanager/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_window_manager.conf b/subsystems/windowmanager/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_window_manager.conf similarity index 100% rename from qm-windowmanager/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_window_manager.conf rename to subsystems/windowmanager/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_window_manager.conf diff --git a/qm-windowmanager/etc/systemd/system/qm-dbus.socket b/subsystems/windowmanager/etc/systemd/system/qm-dbus.socket similarity index 100% rename from qm-windowmanager/etc/systemd/system/qm-dbus.socket rename to subsystems/windowmanager/etc/systemd/system/qm-dbus.socket diff --git a/qm-windowmanager/etc/systemd/system/wayland-session.service b/subsystems/windowmanager/etc/systemd/system/wayland-session.service similarity index 100% rename from qm-windowmanager/etc/systemd/system/wayland-session.service rename to subsystems/windowmanager/etc/systemd/system/wayland-session.service diff --git a/qm-windowmanager/usr/lib/tmpfiles.d/wayland-xdg-directory.conf b/subsystems/windowmanager/usr/lib/tmpfiles.d/wayland-xdg-directory.conf similarity index 100% rename from qm-windowmanager/usr/lib/tmpfiles.d/wayland-xdg-directory.conf rename to subsystems/windowmanager/usr/lib/tmpfiles.d/wayland-xdg-directory.conf diff --git a/qm-windowmanager/usr/share/qm/manage-pam-selinux-systemd-user-config b/subsystems/windowmanager/usr/share/qm/manage-pam-selinux-systemd-user-config similarity index 100% rename from qm-windowmanager/usr/share/qm/manage-pam-selinux-systemd-user-config rename to subsystems/windowmanager/usr/share/qm/manage-pam-selinux-systemd-user-config diff --git a/qm-windowmanager/usr/share/qm/mutter/ContainerFile b/subsystems/windowmanager/usr/share/qm/mutter/ContainerFile similarity index 100% rename from qm-windowmanager/usr/share/qm/mutter/ContainerFile rename to subsystems/windowmanager/usr/share/qm/mutter/ContainerFile diff --git a/qm-windowmanager/usr/share/qm/session-activate/ContainerFile b/subsystems/windowmanager/usr/share/qm/session-activate/ContainerFile similarity index 100% rename from qm-windowmanager/usr/share/qm/session-activate/ContainerFile rename to subsystems/windowmanager/usr/share/qm/session-activate/ContainerFile diff --git a/qm-windowmanager/usr/share/qm/session-activate/qm_windowmanager_activate_session b/subsystems/windowmanager/usr/share/qm/session-activate/qm_windowmanager_activate_session similarity index 100% rename from qm-windowmanager/usr/share/qm/session-activate/qm_windowmanager_activate_session rename to subsystems/windowmanager/usr/share/qm/session-activate/qm_windowmanager_activate_session diff --git a/qm-windowmanager/usr/share/qm/weston/ContainerFile b/subsystems/windowmanager/usr/share/qm/weston/ContainerFile similarity index 100% rename from qm-windowmanager/usr/share/qm/weston/ContainerFile rename to subsystems/windowmanager/usr/share/qm/weston/ContainerFile