From 6778e5437a150ef3cfca9ecd2fdc8ab823202acc Mon Sep 17 00:00:00 2001 From: jiangcuo Date: Sat, 19 Oct 2024 14:21:48 +0800 Subject: [PATCH] add pve-qemu zfsonlinux pve-common package --- .gitmodules | 9 ++ .../pve-common/patches/001-add-for-port.patch | 26 ++++ .../changelog/001-add-changlog-8.1.0-1.patch | 17 +++ packages/pve-common/pve-common | 1 + packages/pve-qemu/.DS_Store | Bin 0 -> 6148 bytes .../patches/001-add-pve-port-version.patch | 128 ++++++++++++++++++ packages/pve-qemu/pve-qemu | 1 + packages/pve-qemu/series | 1 + ...Update-makefile-for-all-architecture.patch | 61 +++++++++ packages/zfsonlinux/series | 1 + packages/zfsonlinux/zfsonlinux | 1 + 11 files changed, 246 insertions(+) create mode 100644 packages/pve-common/patches/001-add-for-port.patch create mode 100644 packages/pve-common/patches/changelog/001-add-changlog-8.1.0-1.patch create mode 160000 packages/pve-common/pve-common create mode 100644 packages/pve-qemu/.DS_Store create mode 100644 packages/pve-qemu/patches/001-add-pve-port-version.patch create mode 160000 packages/pve-qemu/pve-qemu create mode 100644 packages/pve-qemu/series create mode 100644 packages/zfsonlinux/patches/001-Update-makefile-for-all-architecture.patch create mode 100644 packages/zfsonlinux/series create mode 160000 packages/zfsonlinux/zfsonlinux diff --git a/.gitmodules b/.gitmodules index e4b0710..c889ad2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/packages/pve-common/patches/001-add-for-port.patch b/packages/pve-common/patches/001-add-for-port.patch new file mode 100644 index 0000000..556b19d --- /dev/null +++ b/packages/pve-common/patches/001-add-for-port.patch @@ -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($$$$$) { diff --git a/packages/pve-common/patches/changelog/001-add-changlog-8.1.0-1.patch b/packages/pve-common/patches/changelog/001-add-changlog-8.1.0-1.patch new file mode 100644 index 0000000..2e91e0e --- /dev/null +++ b/packages/pve-common/patches/changelog/001-add-changlog-8.1.0-1.patch @@ -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 Wed, 07 Jun 2023 13:12:18 +0200 ++ ++libpve-common-perl (8.1.0-1) bookworm; urgency=medium ++ ++ * tools: remove mknod syscall# ++ ++ -- Jiangcuo Tue, 21 Nov 2023 13:04:21 +0100 + + libpve-common-perl (8.0.1) bookworm; urgency=medium + diff --git a/packages/pve-common/pve-common b/packages/pve-common/pve-common new file mode 160000 index 0000000..f291dcd --- /dev/null +++ b/packages/pve-common/pve-common @@ -0,0 +1 @@ +Subproject commit f291dcd4935fa656356559e1f88f4e52c7a4ae08 diff --git a/packages/pve-qemu/.DS_Store b/packages/pve-qemu/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..58bf2887d403032ebfb8a8b7cc424807015a344b GIT binary patch literal 6148 zcmeHKOG-mQ5Ue%<18%a+a<1SFh7eDX3n)=^AyL%0ek;$Fqow+TB)qs0+( zJYFqczXo8--TgH%2QZ^M;>*L>{M>zH7nLz0op(Ip0q>vdx9#)GsQP@uxtDmw9X_x* z=5HVK*7G!FrGONW0#ZNQc&@8FMq*{#_mUQM@)%C(5G3l@xKCGT>HKABMo%gpWhxJ57DIf(- z6`169?*0FU{=@u#O43dWNP&N)fK6BH)snANy>;|*-fJ8EmhLrsx*OL)VTg82jCRb8 fx8p?=WnJ?%&wJsJ7mri^f33g)9%L1p literal 0 HcmV?d00001 diff --git a/packages/pve-qemu/patches/001-add-pve-port-version.patch b/packages/pve-qemu/patches/001-add-pve-port-version.patch new file mode 100644 index 0000000..87902ac --- /dev/null +++ b/packages/pve-qemu/patches/001-add-pve-port-version.patch @@ -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 () { + + 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 diff --git a/packages/pve-qemu/pve-qemu b/packages/pve-qemu/pve-qemu new file mode 160000 index 0000000..7446610 --- /dev/null +++ b/packages/pve-qemu/pve-qemu @@ -0,0 +1 @@ +Subproject commit 74466103898a3df6d343b22660474c18b6e930ac diff --git a/packages/pve-qemu/series b/packages/pve-qemu/series new file mode 100644 index 0000000..93b47a1 --- /dev/null +++ b/packages/pve-qemu/series @@ -0,0 +1 @@ +patches/001-add-pve-port-version.patch diff --git a/packages/zfsonlinux/patches/001-Update-makefile-for-all-architecture.patch b/packages/zfsonlinux/patches/001-Update-makefile-for-all-architecture.patch new file mode 100644 index 0000000..c3415f0 --- /dev/null +++ b/packages/zfsonlinux/patches/001-Update-makefile-for-all-architecture.patch @@ -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) diff --git a/packages/zfsonlinux/series b/packages/zfsonlinux/series new file mode 100644 index 0000000..fbf9b43 --- /dev/null +++ b/packages/zfsonlinux/series @@ -0,0 +1 @@ +patches/001-Update-makefile-for-all-architecture.patch diff --git a/packages/zfsonlinux/zfsonlinux b/packages/zfsonlinux/zfsonlinux new file mode 160000 index 0000000..e70c0fd --- /dev/null +++ b/packages/zfsonlinux/zfsonlinux @@ -0,0 +1 @@ +Subproject commit e70c0fd2f7b62ad96f50c9ec93f765648102668a