add pve-qemu zfsonlinux pve-common package

This commit is contained in:
jiangcuo 2024-10-19 14:21:48 +08:00
parent 916b8381e5
commit 6778e5437a
11 changed files with 246 additions and 0 deletions

9
.gitmodules vendored
View File

@ -4,3 +4,12 @@
[submodule "packages/qemu-server/qemu-server"]
path = packages/qemu-server/qemu-server
url = https://git.proxmox.com/git/qemu-server.git
[submodule "packages/zfsonlinux/zfsonlinux"]
path = packages/zfsonlinux/zfsonlinux
url = https://git.proxmox.com/git/zfsonlinux.git
[submodule "packages/pve-qemu/pve-qemu"]
path = packages/pve-qemu/pve-qemu
url = https://git.proxmox.com/git/pve-qemu.git
[submodule "packages/pve-common/pve-common"]
path = packages/pve-common/pve-common
url = https://git.proxmox.com/git/pve-common

View File

@ -0,0 +1,26 @@
diff --git a/src/PVE/Syscall.pm b/src/PVE/Syscall.pm
index 9ef3d5d..d7b0b3f 100644
--- a/src/PVE/Syscall.pm
+++ b/src/PVE/Syscall.pm
@@ -16,7 +16,6 @@ BEGIN {
openat => &SYS_openat,
close => &SYS_close,
mkdirat => &SYS_mkdirat,
- mknod => &SYS_mknod,
faccessat => &SYS_faccessat,
setresuid => &SYS_setresuid,
fchownat => &SYS_fchownat,
diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm
index bd305bd..2aab9e2 100644
--- a/src/PVE/Tools.pm
+++ b/src/PVE/Tools.pm
@@ -1753,7 +1753,8 @@ sub mkdirat($$$) {
sub mknod($$$) {
my ($filename, $mode, $dev) = @_;
- return syscall(PVE::Syscall::mknod, $filename, int($mode), int($dev)) == 0;
+ die "https://github.com/jiangcuo/Proxmox-Arm64/issues/58";
+ #return syscall(PVE::Syscall::SYS_mknod, $filename, int($mode), int($dev)) == 0;
}
sub fchownat($$$$$) {

View File

@ -0,0 +1,17 @@
diff --git a/debian/changelog b/debian/changelog
index e628a2a..ff213c4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -158,6 +158,12 @@ libpve-common-perl (8.0.2) bookworm; urgency=medium
* remove unused SysFSTools::pci_cleanup_mdev_device
-- Proxmox Support Team <support@proxmox.com> Wed, 07 Jun 2023 13:12:18 +0200
+
+libpve-common-perl (8.1.0-1) bookworm; urgency=medium
+
+ * tools: remove mknod syscall#
+
+ -- Jiangcuo <jiangcuo@bingsin.com> Tue, 21 Nov 2023 13:04:21 +0100
libpve-common-perl (8.0.1) bookworm; urgency=medium

@ -0,0 +1 @@
Subproject commit f291dcd4935fa656356559e1f88f4e52c7a4ae08

BIN
packages/pve-qemu/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,128 @@
diff --git a/Makefile b/Makefile
index f23b041..8a5d68d 100644
--- a/Makefile
+++ b/Makefile
@@ -22,25 +22,6 @@ ifeq ($(shell test -f "$(SRCDIR)/configure" && echo 1 || echo 0), 0)
cd $(SRCDIR); meson subprojects download
endif
-PC_BIOS_FW_PURGE_LIST_IN = \
- hppa-firmware.img \
- hppa-firmware64.img \
- openbios-ppc \
- openbios-sparc32 \
- openbios-sparc64 \
- palcode-clipper \
- s390-ccw.img \
- s390-netboot.img \
- u-boot.e500 \
- .*[a-zA-Z0-9]\.dtb \
- .*[a-zA-Z0-9]\.dts \
- qemu_vga.ndrv \
- slof.bin \
- opensbi-riscv.*-generic-fw_dynamic.bin \
-
-BLOB_PURGE_SED_CMDS = $(foreach FILE,$(PC_BIOS_FW_PURGE_LIST_IN),-e "/$(FILE)/d")
-BLOB_PURGE_FILTER = $(foreach FILE,$(PC_BIOS_FW_PURGE_LIST_IN),-e "$(FILE)")
-
$(BUILDDIR): submodule
# check if qemu/ was used for a build
# if so, please run 'make distclean' in the submodule and try again
@@ -49,8 +30,6 @@ $(BUILDDIR): submodule
cp -a $(SRCDIR) $@.tmp
cp -a debian $@.tmp/debian
rm -rf $@.tmp/roms/edk2 # packaged separately
- find $@.tmp/pc-bios -type f | grep $(BLOB_PURGE_FILTER) | xargs rm -f
- sed -i $(BLOB_PURGE_SED_CMDS) $@.tmp/pc-bios/meson.build
echo "git clone git://git.proxmox.com/git/pve-qemu.git\\ngit checkout $(GITVERSION)" > $@.tmp/debian/SOURCE
mv $@.tmp $@
diff --git a/debian/control b/debian/control
index b228c00..01c6621 100644
--- a/debian/control
+++ b/debian/control
@@ -13,6 +13,7 @@ Build-Depends: debhelper-compat (= 13),
libfdt-dev,
libgbm-dev,
libglusterfs-dev (>= 5.2-2),
+ libgtk-3-dev,
libgnutls28-dev,
libiscsi-dev (>= 1.12.0),
libjpeg-dev,
diff --git a/debian/parse-machines.pl b/debian/parse-machines.pl
index a0f449c..e179f9b 100755
--- a/debian/parse-machines.pl
+++ b/debian/parse-machines.pl
@@ -14,11 +14,11 @@ while (<STDIN>) {
s/^\s+//;
my @machine = split(/\s+/);
- next if $machine[0] !~ m/^pc-(i440fx|q35)-(.+)$/;
+ next if $machine[0] !~ m/^virt-(.+)$/;
push @$machines, {
'id' => $machine[0],
- 'type' => $1,
- 'version' => $2,
+ 'type' => 'virt',
+ 'version' => $1,
};
}
diff --git a/debian/pve-qemu-kvm.links b/debian/pve-qemu-kvm.links
index 7314aa4..2c4b8e1 100644
--- a/debian/pve-qemu-kvm.links
+++ b/debian/pve-qemu-kvm.links
@@ -1,6 +1,5 @@
# also use aarch64 for 32 bit arm
usr/bin/qemu-system-aarch64 usr/bin/qemu-system-arm
-usr/bin/qemu-system-x86_64 usr/bin/kvm
# qemu-system-i386 and qemu-system-x86_64 provides the same hardware emulation
usr/bin/qemu-system-x86_64 usr/bin/qemu-system-i386
# upstream provides a qemu man page,
diff --git a/debian/rules b/debian/rules
index 51f56c5..2988432 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,7 +12,7 @@ PACKAGE=pve-qemu-kvm
destdir := $(CURDIR)/debian/$(PACKAGE)
flagfile := $(destdir)/usr/share/kvm/recognized-CPUID-flags-x86_64
-machinefile := $(destdir)/usr/share/kvm/machine-versions-x86_64.json
+machinefile := $(destdir)/usr/share/kvm/machine-versions-aarch64.json
# default QEMU out-of-tree build directory is ./build
BUILDDIR=build
@@ -35,7 +35,7 @@ endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
cp -f /usr/share/misc/config.guess config.guess
endif
-
+ echo "usr/bin/qemu-system-${HOST_CPU} usr/bin/kvm" >> debian/pve-qemu-kvm.links
# guest-agent is only required for guest systems
./configure \
--disable-download \
@@ -43,14 +43,13 @@ endif
--localstatedir=/var \
--prefix=/usr \
--sysconfdir=/etc \
- --target-list=$(HOST_CPU)-softmmu,aarch64-softmmu \
--with-suffix="kvm" \
--with-pkgversion="${DEB_SOURCE}_${DEB_VERSION_UPSTREAM_REVISION}" \
--audio-drv-list="alsa" \
--datadir=/usr/share \
--libexecdir=/usr/lib/kvm \
--disable-capstone \
- --disable-gtk \
+ --enable-gtk \
--disable-guest-agent \
--disable-guest-agent-msi \
--disable-libnfs \
@@ -121,7 +120,7 @@ install: build
# CPU flags are static for QEMU version, allows avoiding more costly checks
$(destdir)/usr/bin/qemu-system-x86_64 -cpu help | ./debian/parse-cpu-flags.pl > $(flagfile)
- $(destdir)/usr/bin/qemu-system-x86_64 -machine help | ./debian/parse-machines.pl > $(machinefile)
+ $(destdir)/usr/bin/qemu-system-aarch64 -machine help | ./debian/parse-machines.pl > $(machinefile)
# Build architecture-independent files here.
binary-indep: build install

@ -0,0 +1 @@
Subproject commit 74466103898a3df6d343b22660474c18b6e930ac

1
packages/pve-qemu/series Normal file
View File

@ -0,0 +1 @@
patches/001-add-pve-port-version.patch

View File

@ -0,0 +1,61 @@
diff --git a/Makefile b/Makefile
index 82630da..8c47b77 100644
--- a/Makefile
+++ b/Makefile
@@ -1,29 +1,31 @@
include /usr/share/dpkg/default.mk
# source form https://github.com/zfsonlinux/
+ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
PACKAGE = zfs-linux
SRCDIR = upstream
BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
ORIG_SRC_TAR = $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
-ZFS_DEB1= libnvpair3linux_$(DEB_VERSION)_amd64.deb
+ZFS_DEB1= libnvpair3linux_$(DEB_VERSION)_$(ARCH).deb
ZFS_DEB_BINARY = \
-libpam-zfs_$(DEB_VERSION)_amd64.deb \
-libuutil3linux_$(DEB_VERSION)_amd64.deb \
-libzfs4linux_$(DEB_VERSION)_amd64.deb \
-libzfsbootenv1linux_$(DEB_VERSION)_amd64.deb \
-libzpool5linux_$(DEB_VERSION)_amd64.deb \
-zfs-test_$(DEB_VERSION)_amd64.deb \
-zfsutils-linux_$(DEB_VERSION)_amd64.deb \
-zfs-zed_$(DEB_VERSION)_amd64.deb
+libpam-zfs_$(DEB_VERSION)_$(ARCH).deb \
+libuutil3linux_$(DEB_VERSION)_$(ARCH).deb \
+libzfs4linux_$(DEB_VERSION)_$(ARCH).deb \
+libzfsbootenv1linux_$(DEB_VERSION)_$(ARCH).deb \
+libzpool5linux_$(DEB_VERSION)_$(ARCH).deb \
+zfs-test_$(DEB_VERSION)_$(ARCH).deb \
+zfsutils-linux_$(DEB_VERSION)_$(ARCH).deb \
+zfs-zed_$(DEB_VERSION)_$(ARCH).deb
-ZFS_DBG_DEBS = $(patsubst %_$(DEB_VERSION)_amd64.deb, %-dbgsym_$(DEB_VERSION)_amd64.deb, $(ZFS_DEB1) $(ZFS_DEB_BINARY))
+ZFS_DBG_DEBS = $(patsubst %_$(DEB_VERSION)_$(ARCH).deb, %-dbgsym_$(DEB_VERSION)_$(ARCH).deb, $(ZFS_DEB1) $(ZFS_DEB_BINARY))
ZFS_DEB2= $(ZFS_DEB_BINARY) \
-libzfslinux-dev_$(DEB_VERSION)_amd64.deb \
-python3-pyzfs_$(DEB_VERSION)_amd64.deb \
+libzfslinux-dev_$(DEB_VERSION)_$(ARCH).deb \
+python3-pyzfs_$(DEB_VERSION)_$(ARCH).deb \
pyzfs-doc_$(DEB_VERSION)_all.deb \
spl_$(DEB_VERSION)_all.deb \
zfs-initramfs_$(DEB_VERSION)_all.deb
@@ -62,7 +64,12 @@ zfs: $(DEBS)
$(ZFS_DEB2) $(ZFS_DBG_DEBS): $(ZFS_DEB1)
$(ZFS_DEB1): $(BUILDDIR)
cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
+ifeq ($(ARCH), loong64)
+ echo "Architecture is loongarch64. Skipping lintian."
+else
lintian $(DEBS)
+endif
+
$(ORIG_SRC_TAR): $(BUILDDIR)
tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)

View File

@ -0,0 +1 @@
patches/001-Update-makefile-for-all-architecture.patch

@ -0,0 +1 @@
Subproject commit e70c0fd2f7b62ad96f50c9ec93f765648102668a