5
0
mirror of git://git.proxmox.com/git/qemu-server.git synced 2025-08-03 04:21:54 +03:00

reorganize source code layout

Moves this repo closer to our others, having a top-level src folder
where all relevant sources and assets are included and a debian/
folder with the packaging metadata.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht
2025-06-17 09:13:02 +02:00
parent 7bd23e21d6
commit 54396a397e
355 changed files with 218 additions and 172 deletions

View File

@ -3,19 +3,6 @@ include /usr/share/dpkg/default.mk
PACKAGE=qemu-server
BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
DESTDIR=
PREFIX=/usr
SBINDIR=$(PREFIX)/sbin
LIBDIR=$(PREFIX)/lib/$(PACKAGE)
MANDIR=$(PREFIX)/share/man
DOCDIR=$(PREFIX)/share/doc
MAN1DIR=$(MANDIR)/man1/
MAN5DIR=$(MANDIR)/man5/
BASHCOMPLDIR=$(PREFIX)/share/bash-completion/completions/
ZSHCOMPLDIR=$(PREFIX)/share/zsh/vendor-completions/
export PERLDIR=$(PREFIX)/share/perl5
PERLINCDIR=$(PERLDIR)/asm-x86_64
GITVERSION:=$(shell git rev-parse HEAD)
DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_BUILD_ARCH).deb
@ -24,8 +11,6 @@ DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
DEBS=$(DEB) $(DBG_DEB)
-include /usr/share/pve-doc-generator/pve-doc-generator.mk
all:
.PHONY: tidy
@ -36,57 +21,12 @@ tidy:
dinstall: deb
dpkg -i $(DEB)
qm.bash-completion:
PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::qm; PVE::CLI::qm->generate_bash_completions();" >$@.tmp
mv $@.tmp $@
qmrestore.bash-completion:
PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::qmrestore; PVE::CLI::qmrestore->generate_bash_completions();" >$@.tmp
mv $@.tmp $@
qm.zsh-completion:
PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::qm; PVE::CLI::qm->generate_zsh_completions();" >$@.tmp
mv $@.tmp $@
qmrestore.zsh-completion:
PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::qmrestore; PVE::CLI::qmrestore->generate_zsh_completions();" >$@.tmp
mv $@.tmp $@
PKGSOURCES=qm qm.1 qmrestore qmrestore.1 qmextract qm.conf.5 qm.bash-completion qmrestore.bash-completion \
qm.zsh-completion qmrestore.zsh-completion cpu-models.conf.5
.PHONY: install
install: $(PKGSOURCES)
install -d $(DESTDIR)/$(SBINDIR)
install -d $(DESTDIR)$(LIBDIR)
install -d $(DESTDIR)/$(MAN1DIR)
install -d $(DESTDIR)/$(MAN5DIR)
install -d $(DESTDIR)/usr/share/$(PACKAGE)
install -m 0644 -D qm.bash-completion $(DESTDIR)/$(BASHCOMPLDIR)/qm
install -m 0644 -D qmrestore.bash-completion $(DESTDIR)/$(BASHCOMPLDIR)/qmrestore
install -m 0644 -D qm.zsh-completion $(DESTDIR)/$(ZSHCOMPLDIR)/_qm
install -m 0644 -D qmrestore.zsh-completion $(DESTDIR)/$(ZSHCOMPLDIR)/_qmrestore
install -m 0644 -D bootsplash.jpg $(DESTDIR)/usr/share/$(PACKAGE)
$(MAKE) -C PVE install
$(MAKE) -C qmeventd install
$(MAKE) -C query-machine-capabilities install
$(MAKE) -C qemu-configs install
$(MAKE) -C vm-network-scripts install
install -m 0755 qm $(DESTDIR)$(SBINDIR)
install -m 0755 qmrestore $(DESTDIR)$(SBINDIR)
install -D -m 0644 modules-load.conf $(DESTDIR)/etc/modules-load.d/qemu-server.conf
install -m 0755 qmextract $(DESTDIR)$(LIBDIR)
install -m 0644 qm.1 $(DESTDIR)/$(MAN1DIR)
install -m 0644 qmrestore.1 $(DESTDIR)/$(MAN1DIR)
install -m 0644 cpu-models.conf.5 $(DESTDIR)/$(MAN5DIR)
install -m 0644 qm.conf.5 $(DESTDIR)/$(MAN5DIR)
cd $(DESTDIR)/$(MAN5DIR); ln -s -f qm.conf.5.gz vm.conf.5.gz
$(BUILDDIR):
rm -rf $(BUILDDIR) $(BUILDDIR).tmp
rsync -a * $(BUILDDIR).tmp
echo "git clone git://git.proxmox.com/git/qemu-server.git\\ngit checkout $(GITVERSION)" > $(BUILDDIR).tmp/debian/SOURCE
mv $(BUILDDIR).tmp $(BUILDDIR)
rm -rf $@ $@.tmp
cp -a src $@.tmp
cp -a debian $@.tmp/
echo "git clone git://git.proxmox.com/git/qemu-server.git\\ngit checkout $(GITVERSION)" > $@.tmp/debian/SOURCE
mv $@.tmp $@
.PHONY: deb
deb: $(DEBS)
@ -104,11 +44,6 @@ $(DSC): $(BUILDDIR)
sbuild: $(DSC)
sbuild $(DSC)
.PHONY: test
test:
PVE_GENERATING_DOCS=1 perl -I. ./qm verifyapi
$(MAKE) -C test
.PHONY: upload
upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
upload: $(DEB)
@ -116,9 +51,7 @@ upload: $(DEB)
.PHONY: clean
clean:
$(MAKE) -C test $@
rm -rf $(PACKAGE)-*/ *.deb *.build *.buildinfo *.changes *.dsc $(PACKAGE)_*.tar.?z
rm -f *.xml.tmp *.1 *.5 *.8 *{synopsis,opts}.adoc docinfo.xml
.PHONY: distclean

View File

@ -1,5 +0,0 @@
.PHONY: install
install:
install -d -m 0755 ${DESTDIR}${PERLDIR}/PVE/API2
install -D -m 0644 Qemu.pm ${DESTDIR}${PERLDIR}/PVE/API2/Qemu.pm
$(MAKE) -C Qemu install

View File

@ -1,6 +0,0 @@
SOURCES=Agent.pm CPU.pm Machine.pm
.PHONY: install
install:
install -d -m 0755 ${DESTDIR}${PERLDIR}/PVE/API2/Qemu
for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/API2/Qemu/$$i; done

View File

@ -1,8 +0,0 @@
SOURCES=qm.pm qmrestore.pm
.PHONY: install
install: ${SOURCES}
install -d -m 0755 ${DESTDIR}${PERLDIR}/PVE/CLI
for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/CLI/$$i; done

View File

@ -1,5 +0,0 @@
SOURCES=NoWrite.pm
.PHONY: install
install: ${SOURCES}
for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/QemuConfig/$$i; done

View File

@ -1,4 +0,0 @@
.PHONY: install
install:
install -D -m 0644 QemuServer.pm ${DESTDIR}${PERLDIR}/PVE/VZDump/QemuServer.pm

View File

@ -1,12 +0,0 @@
DESTDIR=
USRSHAREDIR=$(DESTDIR)/usr/share/qemu-server
.PHONY: install
install: pve-usb.cfg pve-q35.cfg pve-q35-4.0.cfg
install -d $(USRSHAREDIR)
install -m 0644 pve-usb.cfg $(USRSHAREDIR)
install -m 0644 pve-q35.cfg $(USRSHAREDIR)
install -m 0644 pve-q35-4.0.cfg $(USRSHAREDIR)
.PHONY: clean
clean:

View File

@ -1,32 +0,0 @@
DESTDIR=
PREFIX=/usr
SBINDIR=${PREFIX}/sbin
SERVICEDIR=/lib/systemd/system
MANDIR=${PREFIX}/share/man
export NOVIEW=1
include /usr/share/pve-doc-generator/pve-doc-generator.mk
CC ?= gcc
CFLAGS += -O2 -Werror -Wall -Wextra -Wpedantic -Wtype-limits -Wl,-z,relro -std=gnu11
CFLAGS += $(shell pkg-config --cflags json-c glib-2.0)
LDFLAGS += $(shell pkg-config --libs json-c glib-2.0)
qmeventd: qmeventd.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
docs: qmeventd.8
.PHONY: install
install: qmeventd docs
install -d ${DESTDIR}/${SBINDIR}
install -d ${DESTDIR}${SERVICEDIR}
install -d ${DESTDIR}${MANDIR}/man8
install -m 0644 qmeventd.service ${DESTDIR}${SERVICEDIR}
install -m 0755 qmeventd ${DESTDIR}${SBINDIR}
install -m 0644 qmeventd.8 ${DESTDIR}/${MANDIR}/man8
.PHONY: clean
clean:
$(MAKE) cleanup-docgen
rm -rf qmeventd

22
src/Makefile Normal file
View File

@ -0,0 +1,22 @@
all:
.PHONY: install
install:
$(MAKE) -C PVE install
$(MAKE) -C bin install
$(MAKE) -C qmeventd install
$(MAKE) -C query-machine-capabilities install
$(MAKE) -C usr install
.PHONY: test
test:
$(MAKE) -C test
$(MAKE) -C bin $@
.PHONY: clean
clean:
$(MAKE) -C test $@
$(MAKE) -C bin $@
.PHONY: distclean
distclean: clean

9
src/PVE/API2/Makefile Normal file
View File

@ -0,0 +1,9 @@
DESTDIR=
PREFIX=/usr
PERLDIR=$(PREFIX)/share/perl5
.PHONY: install
install:
install -d -m 0755 $(DESTDIR)$(PERLDIR)/PVE/API2
install -D -m 0644 Qemu.pm $(DESTDIR)$(PERLDIR)/PVE/API2/Qemu.pm
$(MAKE) -C Qemu install

View File

@ -0,0 +1,10 @@
DESTDIR=
PREFIX=/usr
PERLDIR=$(PREFIX)/share/perl5
SOURCES=Agent.pm CPU.pm Machine.pm
.PHONY: install
install:
install -d -m 0755 $(DESTDIR)$(PERLDIR)/PVE/API2/Qemu
for i in $(SOURCES); do install -D -m 0644 $$i $(DESTDIR)$(PERLDIR)/PVE/API2/Qemu/$$i; done

12
src/PVE/CLI/Makefile Normal file
View File

@ -0,0 +1,12 @@
DESTDIR=
PREFIX=/usr
PERLDIR=$(PREFIX)/share/perl5
SOURCES=qm.pm qmrestore.pm
.PHONY: install
install: $(SOURCES)
install -d -m 0755 $(DESTDIR)$(PERLDIR)/PVE/CLI
for i in $(SOURCES); do install -D -m 0644 $$i $(DESTDIR)$(PERLDIR)/PVE/CLI/$$i; done

View File

@ -1,3 +1,7 @@
DESTDIR=
PREFIX=/usr
PERLDIR=$(PREFIX)/share/perl5
PERLSOURCE = \
QemuServer.pm \
QemuMigrate.pm \
@ -6,8 +10,8 @@ PERLSOURCE = \
.PHONY: install
install:
install -d ${DESTDIR}${PERLDIR}/PVE
install -m 0644 ${PERLSOURCE} ${DESTDIR}${PERLDIR}/PVE/
install -d $(DESTDIR)$(PERLDIR)/PVE
install -m 0644 $(PERLSOURCE) $(DESTDIR)$(PERLDIR)/PVE/
$(MAKE) -C VZDump install
$(MAKE) -C API2 install
$(MAKE) -C CLI install

View File

@ -0,0 +1,9 @@
DESTDIR=
PREFIX=/usr
PERLDIR=$(PREFIX)/share/perl5
SOURCES=NoWrite.pm
.PHONY: install
install: $(SOURCES)
for i in $(SOURCES); do install -D -m 0644 $$i $(DESTDIR)$(PERLDIR)/PVE/QemuConfig/$$i; done

View File

@ -1,3 +1,7 @@
DESTDIR=
PREFIX=/usr
PERLDIR=$(PREFIX)/share/perl5
SOURCES=PCI.pm \
RNG.pm \
USB.pm \
@ -16,5 +20,5 @@ SOURCES=PCI.pm \
Virtiofs.pm
.PHONY: install
install: ${SOURCES}
for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/QemuServer/$$i; done
install: $(SOURCES)
for i in $(SOURCES); do install -D -m 0644 $$i $(DESTDIR)$(PERLDIR)/PVE/QemuServer/$$i; done

7
src/PVE/VZDump/Makefile Normal file
View File

@ -0,0 +1,7 @@
DESTDIR=
PREFIX=/usr
PERLDIR=$(PREFIX)/share/perl5
.PHONY: install
install:
install -D -m 0644 QemuServer.pm $(DESTDIR)$(PERLDIR)/PVE/VZDump/QemuServer.pm

67
src/bin/Makefile Normal file
View File

@ -0,0 +1,67 @@
PACKAGE ?= qemu-server
DESTDIR=
PREFIX=/usr
SBINDIR=$(PREFIX)/sbin
LIBDIR=$(PREFIX)/lib/$(PACKAGE)
MANDIR=$(PREFIX)/share/man
MAN1DIR=$(MANDIR)/man1/
MAN5DIR=$(MANDIR)/man5/
BASHCOMPLDIR=$(PREFIX)/share/bash-completion/completions/
ZSHCOMPLDIR=$(PREFIX)/share/zsh/vendor-completions/
PERL_DOC_INC_DIRS=..
-include /usr/share/pve-doc-generator/pve-doc-generator.mk
all:
qm.bash-completion:
PVE_GENERATING_DOCS=1 perl -I.. -T -e "use PVE::CLI::qm; PVE::CLI::qm->generate_bash_completions();" >$@.tmp
mv $@.tmp $@
qmrestore.bash-completion:
PVE_GENERATING_DOCS=1 perl -I.. -T -e "use PVE::CLI::qmrestore; PVE::CLI::qmrestore->generate_bash_completions();" >$@.tmp
mv $@.tmp $@
qm.zsh-completion:
PVE_GENERATING_DOCS=1 perl -I.. -T -e "use PVE::CLI::qm; PVE::CLI::qm->generate_zsh_completions();" >$@.tmp
mv $@.tmp $@
qmrestore.zsh-completion:
PVE_GENERATING_DOCS=1 perl -I.. -T -e "use PVE::CLI::qmrestore; PVE::CLI::qmrestore->generate_zsh_completions();" >$@.tmp
mv $@.tmp $@
PKGSOURCES=qm qm.1 qmrestore qmrestore.1 qmextract qm.conf.5 qm.bash-completion qmrestore.bash-completion \
qm.zsh-completion qmrestore.zsh-completion cpu-models.conf.5
.PHONY: install
install: $(PKGSOURCES)
install -d $(DESTDIR)/$(SBINDIR)
install -d $(DESTDIR)$(LIBDIR)
install -d $(DESTDIR)/$(MAN1DIR)
install -d $(DESTDIR)/$(MAN5DIR)
install -d $(DESTDIR)/usr/share/$(PACKAGE)
install -m 0644 -D qm.bash-completion $(DESTDIR)/$(BASHCOMPLDIR)/qm
install -m 0644 -D qmrestore.bash-completion $(DESTDIR)/$(BASHCOMPLDIR)/qmrestore
install -m 0644 -D qm.zsh-completion $(DESTDIR)/$(ZSHCOMPLDIR)/_qm
install -m 0644 -D qmrestore.zsh-completion $(DESTDIR)/$(ZSHCOMPLDIR)/_qmrestore
install -m 0755 qm $(DESTDIR)$(SBINDIR)
install -m 0755 qmrestore $(DESTDIR)$(SBINDIR)
install -m 0755 qmextract $(DESTDIR)$(LIBDIR)
install -m 0644 qm.1 $(DESTDIR)/$(MAN1DIR)
install -m 0644 qmrestore.1 $(DESTDIR)/$(MAN1DIR)
install -m 0644 cpu-models.conf.5 $(DESTDIR)/$(MAN5DIR)
install -m 0644 qm.conf.5 $(DESTDIR)/$(MAN5DIR)
cd $(DESTDIR)/$(MAN5DIR); ln -s -f qm.conf.5.gz vm.conf.5.gz
.PHONY: test
test:
PVE_GENERATING_DOCS=1 perl -I.. ./qm verifyapi
.PHONY: clean
clean:
rm -f *.xml.tmp *.1 *.5 *.8 *{synopsis,opts}.adoc docinfo.xml
.PHONY: distclean
distclean: clean

View File

31
src/qmeventd/Makefile Normal file
View File

@ -0,0 +1,31 @@
DESTDIR=
PREFIX=/usr
SBINDIR=$(PREFIX)/sbin
SERVICEDIR=$(PREFIX)/lib/systemd/system
MANDIR=$(PREFIX)/share/man
-include /usr/share/pve-doc-generator/pve-doc-generator.mk
CC ?= gcc
CFLAGS += -O2 -Werror -Wall -Wextra -Wpedantic -Wtype-limits -Wl,-z,relro -std=gnu11
CFLAGS += $(shell pkg-config --cflags json-c glib-2.0)
LDFLAGS += $(shell pkg-config --libs json-c glib-2.0)
qmeventd: qmeventd.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
docs: qmeventd.8
.PHONY: install
install: qmeventd docs
install -d $(DESTDIR)/$(SBINDIR)
install -m 0755 qmeventd $(DESTDIR)/$(SBINDIR)
install -d $(DESTDIR)/$(SERVICEDIR)
install -m 0644 qmeventd.service $(DESTDIR)/$(SERVICEDIR)
install -d $(DESTDIR)/$(MANDIR)/man8
install -m 0644 qmeventd.8 $(DESTDIR)/$(MANDIR)/man8
.PHONY: clean
clean:
$(MAKE) cleanup-docgen
rm -rf qmeventd

View File

@ -1,7 +1,7 @@
DESTDIR=
PREFIX=/usr
BINDIR=${PREFIX}/libexec/qemu-server
SERVICEDIR=/lib/systemd/system
BINDIR=$(PREFIX)/libexec/qemu-server
SERVICEDIR=$(PREFIX)/lib/systemd/system
CC ?= gcc
CFLAGS += -O2 -fanalyzer -Werror -Wall -Wextra -Wpedantic -Wtype-limits -Wl,-z,relro -std=gnu11
@ -11,9 +11,10 @@ query-machine-capabilities: query-machine-capabilities.c
.PHONY: install
install: query-machine-capabilities
install -d ${DESTDIR}/${BINDIR}
install -m 0755 query-machine-capabilities ${DESTDIR}${BINDIR}
install -m 0644 pve-query-machine-capabilities.service ${DESTDIR}${SERVICEDIR}
install -d $(DESTDIR)/$(BINDIR)
install -m 0755 query-machine-capabilities $(DESTDIR)$(BINDIR)
install -d $(DESTDIR)/$(SERVICEDIR)
install -m 0644 pve-query-machine-capabilities.service $(DESTDIR)$(SERVICEDIR)
.PHONY: clean
clean:

Some files were not shown because too many files have changed in this diff Show More