Compare commits

...

73 Commits

Author SHA1 Message Date
Thomas Lamprecht
e96564cc84 d/control: wrap-and-sort -tkn
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-11-20 11:42:18 +01:00
Thomas Lamprecht
1f91c45839 bump version to 8.3.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-11-20 11:42:11 +01:00
Thomas Lamprecht
73261d652c d/copyright: update years
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-17 07:39:22 +02:00
Thomas Lamprecht
c65b162555 bump version to 8.2.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-17 07:38:35 +02:00
Fabian Grünbichler
1eea6248bf apt hook: disable on remove
and (re-)enable on install. adapted from apt-listbugs/apt-listchanges, which
solve the issue of removing (instead of purging) the conffile and hook binary
providing package in the same fashion.

Suggested-by: Fiona Ebner <f.ebner@proxmox.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
2024-04-16 17:03:13 +02:00
Fabian Grünbichler
e291a8cc4c d/control: wrap-and-sort
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2024-03-07 09:32:54 +01:00
Fabian Grünbichler
562233f4fe proxmox-ve: add systemd-sys to depends
Proxmox VE only works with systemd as PID1, encode it in the meta dependencies
to prevent accidentally switching the (default) init system on the package
level.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2024-03-07 09:25:39 +01:00
Thomas Lamprecht
493beb5f94 drop postinst/rm, moved to meta package for default-kernel
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-11-23 10:51:38 +01:00
Thomas Lamprecht
334c1dc288 bump version to 8.1.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-11-23 10:34:46 +01:00
Fabian Grünbichler
06586cceb4 bump version to 8.0.2
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-08-01 12:18:54 +02:00
Fabian Grünbichler
8b8bb0fb55 switch to new proxmox-kernel (meta) packages
and force upgrade of proxmox-kernel-helper/pve-manager with support for the new
package names.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-08-01 12:18:54 +02:00
Thomas Lamprecht
38b4f5f2b9 bump version to 8.0.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-12 11:10:18 +02:00
Thomas Lamprecht
2af920f2ba switch dependency over to proxmox-kernel-helper package
this got split out from the kernel meta package due to clashing with
multiple versions of that package, and with the split we took the
chance to rename it to something less pve centric, as it's reused by
all Proxmox projects that require a kernel.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-12 10:14:01 +02:00
Thomas Lamprecht
507ad33f3c d/control: normalize via wrap-and-sort -tkn
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-12 09:45:09 +02:00
Thomas Lamprecht
3daa6d1c1b add .gitignore file
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:39:13 +02:00
Thomas Lamprecht
c82724795c buildsys: drop passing arch to upload for arch-all package
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:36:28 +02:00
Thomas Lamprecht
1882eab361 bump version to 8.0.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:35:45 +02:00
Thomas Lamprecht
47e90efb39 depend on 6.2 by default
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:35:45 +02:00
Thomas Lamprecht
f8fa16d247 d/control: define compat level via build-depends and raise to 13
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:35:45 +02:00
Thomas Lamprecht
478ad35420 d/control: drop dependency on vncterm and spiceterm
pve-manager, which already depends on them, is the better place for
this.

Plus, those two are a bit dated and nowadays the termproxy + xterm.js
stack provides better UX and more features.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:35:45 +02:00
Thomas Lamprecht
818f19584e d/control: add missing ${misc:Depends}
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:35:45 +02:00
Thomas Lamprecht
02b5e38ec9 d/control: drop ancient conflict/replace entries
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:35:45 +02:00
Thomas Lamprecht
f344e0078b buildsys: derive upload dist automatically
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:35:45 +02:00
Thomas Lamprecht
fb843ee998 buildsys: add DSC & sbuild convenience target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:23:17 +02:00
Thomas Lamprecht
7dea9dbcfd buildsys: make build-dir generation atomic
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:22:38 +02:00
Thomas Lamprecht
bea910049e d/rules: use dh wildcard rule
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 20:20:53 +02:00
Thomas Lamprecht
e0046a0b97 makefile: convert to use simple parenthesis
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-24 19:59:46 +02:00
Thomas Lamprecht
e881fdc445 update copyright years
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-02-24 14:01:16 +01:00
Thomas Lamprecht
d5af89b61f bump version to 7.3-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-20 15:21:02 +01:00
Thomas Lamprecht
bd27514a7d d/copyright: update years
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-20 15:00:36 +02:00
Thomas Lamprecht
c825ecc893 bump version to 7.2-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-20 15:00:15 +02:00
Thomas Lamprecht
a1fb08a751 depend on 5.15 by default
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-20 14:57:53 +02:00
Thomas Lamprecht
19f547bbf8 bump version to 7.1-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-20 11:08:15 +02:00
Thomas Lamprecht
e818cd6a9e d/control: alternatively allow 5.15 kernel to satisfy dependency
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-20 11:06:54 +02:00
Stoiko Ivanov
68a17f6889 apt-hook: add check preventing the removal of pinned kernels
the $file_read_firstline helper code is copied from PVE::Tools, since
we do not want to depend on pve-common being in good shape when the
apt hook is executed

Co-authored-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-02-22 13:31:59 +01:00
Stoiko Ivanov
5f7b19c9c9 apt-hook: verify that fd is numeric
since we read it from the environment

Co-authored-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-02-22 13:31:59 +01:00
Stoiko Ivanov
ddba61a15c apt-hook: fix perlcritic warnings
Co-authored-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-02-22 13:31:59 +01:00
Thomas Lamprecht
fbc2871267 buildsys: change upload dist to bullseye
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-11 21:49:35 +01:00
Thomas Lamprecht
f24839d56a bump version to 7.1-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-11 21:47:05 +01:00
Thomas Lamprecht
389cf5a138 depend on 5.13 based kernel as new default
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-11 21:45:52 +01:00
Thomas Lamprecht
b9f84e76cc bump version to 7.0-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-24 13:53:45 +02:00
Fabian Grünbichler
beb329a237 add grub.d snippet
to set distributor and disable os-prober. this allows us to drop grub
cfg handling from the installer except for the ZFS on / use case.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-06-24 13:10:14 +02:00
Thomas Lamprecht
41a63e43e1 bump version to 7.0-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-24 12:20:49 +02:00
Thomas Lamprecht
02046aabbe d/control: switch over to 5.11 kernel as default
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-24 12:20:39 +02:00
Thomas Lamprecht
f1c22b1866 update copyright and fixup license to AGPLv3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-24 12:16:09 +02:00
Thomas Lamprecht
8109ea5a55 debian: bump debhelper compat level to 12
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-24 12:13:24 +02:00
Thomas Lamprecht
286285a9a4 bump version to 6.4-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-28 10:29:16 +02:00
Thomas Lamprecht
5f427af566 bump version to 6.3-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-25 11:47:30 +01:00
Fabian Grünbichler
3a0fd3b7d2 bump version to 6.2-2
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-09-17 17:09:47 +02:00
Fabian Grünbichler
cb0a97d1c0 remove archive keys from proxmox-ve
and depend on proxmox-archive-keyring instead, which ships them for all
Proxmox products.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-09-17 17:09:47 +02:00
Thomas Lamprecht
9cd3d26ebc bump version to 6.2-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 10:22:25 +02:00
Stoiko Ivanov
f0d99493c8 buildsys: fix lintian warnings for pve-headers
fix 'empty-binary-package' [0] and 'extended-description-line-too-long' [1]
lintian warnings for the pve-headers metapackage.

[0] https://lintian.debian.org/tags/empty-binary-package.html
[1] https://lintian.debian.org/tags/description-synopsis-starts-with-article.html

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-02-13 09:17:03 +01:00
Stoiko Ivanov
a8b63fcacd buildsys: fix lintian warning for proxmox-ve
fix 'description-synopsis-starts-with-article' lintian warning by
simply dropping the article.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-02-13 09:17:03 +01:00
Stoiko Ivanov
93ff6d5a3a buildsys: run lintian for all packages
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-02-13 09:17:03 +01:00
Thomas Lamprecht
f8f6a14356 bump version to 6.1-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-12-04 07:09:38 +01:00
Alwin Antreich
21a4a75bcc Update kernel links for install CD (rescue boot)
Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2019-12-04 07:08:09 +01:00
Thomas Lamprecht
abd397e4eb bump version to 6.1-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-26 07:48:26 +01:00
Thomas Lamprecht
7b6433213a depend on 5.3 based kernel
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-26 07:48:08 +01:00
Thomas Lamprecht
7711797b66 bump version to 6.0-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-10 20:22:18 +02:00
Thomas Lamprecht
32772d2b9d make d/rules executable
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-10 20:22:13 +02:00
Fabian Grünbichler
f2e1165515 add dependency on pve-kernel-helper
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-07-10 20:20:55 +02:00
Stoiko Ivanov
9fc7740010 remove efiboot
it got moved along with the new pveesptool to pve-kernel-meta
2019-07-10 20:20:55 +02:00
Thomas Lamprecht
c6246f2ad8 bump version to 6.0-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-28 12:33:50 +02:00
Thomas Lamprecht
e8d7705f09 d/postinst: drop old release key fixups
They where for Proxmox VE 5 based on Stretch

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-28 11:23:08 +02:00
Thomas Lamprecht
d3caafe256 fixup: whitespace and chmod changes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-28 11:19:08 +02:00
Stoiko Ivanov
b8b010d603 add efiboot and autoremoval kernel postinst hooks
In order to add support for booting with ZFS on Root on EFI systems this
patch uses systemd-boot as boot loader.

The rationale for not using grub is that there have been quite a few problems
observed with grub and ZFS, e.g. certain RAID-controllers only having a 32bit
implementation in grub, but ZFS writing the kernelimage or initrd after 2TB
rendering a system unbootable.

Additionally grub only supports a certain subset of zpool features, which
either forces users to not use newer features, or to create an additional small
boot-pool, with the reduced feature set (which seems currently the suggestion
from ZFS-upstream [0,1]).

the kernel-hook scripts are adapted from debian's versions for:
* marking kernels as NeverAutoRemove (/etc/kernel/postinst.d/apt-auto-removal)
* calling update-grub (/etc/kernel/postinst.d/zz-update-grub)
* generating systemd-boot loader entries
  (/usr/lib/kernel/install.d/90-loaderentry.install)

the list of kernels kept installed and configured for booting with systemd-boot
contains:
* the currently running kernel
* the kernel being installed
* the 2 newest kernels (determined by package-name, i.e. ABI-version)
* the latest kernel from each series (e.g. 4.13, 4.15, 5.0) by keeping the
  respective meta-packages installed

the implementation diverges from systemd's boot loader specification [0] in the
following places:
* adding support for multiple ESPs - all bootable disks of a RAID get configured
  with an 512M ESP - the hookscript installs the kernels to all of them
* the ESP(s) are not kept mounted, rather they get mounted and umounted by
  the script:
  * Should the system crash, this should make sure that the ESPs fs does not get
    corrupted
  * Keeping it mounted results in a boot-error, if the ESP, which is usually
    mounted is not available (because the disk died)
* kernels and initrds get installed into 'EFI/proxmox/$kver' instead
  of '$machineid/$kver'

Since copying the necessary kernels needs a logic for cleaning up space in
the ESP, this presents an opportunity to also be more selective about which
kernels are marked as NeverAutoRemove, instead of keeping all versions installed
which results in full disks for our users occasionally.

[0] https://github.com/zfsonlinux/zfs/wiki/Ubuntu-18.04-Root-on-ZFS
[1] https://zfsonlinux.topicbox.com/groups/zfs-discuss/Tfe475cd19433f050
[2] https://systemd.io/BOOT_LOADER_SPECIFICATION
2019-06-28 09:04:35 +02:00
Fabian Grünbichler
58490c5ba5 apthook: detect upgrades from PVE 6.x to 7.0
and refer to the upgrade documentation.

Add this now already to ensure _all_ users have it when the time for
7.0 comes in some years...

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-26 20:59:53 +02:00
Thomas Lamprecht
5e3606fc4a bump version to 6.0-0+2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-28 11:49:55 +02:00
Thomas Lamprecht
28779af0e5 d/control: pve-headers needs to depend on pve-headers-5.0 now
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-28 11:48:33 +02:00
Thomas Lamprecht
8f29ed8a17 buildsys: switch upload dist over to buster
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-23 18:18:00 +02:00
Thomas Lamprecht
eca4314348 bump version to 6.0-0+1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-22 21:48:51 +02:00
Thomas Lamprecht
ce346b41f2 remove dependency on essential libc
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-22 21:48:16 +02:00
Thomas Lamprecht
8e09c00ac8 depdent on pve-kernel-5.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-22 21:47:55 +02:00
19 changed files with 353 additions and 134 deletions

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
/*.build
/*.buildinfo
/*.changes
/*.deb
/*.dsc
/*.tar*
/proxmox-ve-*/

View File

@ -1,35 +1,51 @@
include /usr/share/dpkg/pkg-info.mk
include /usr/share/dpkg/default.mk
PACKAGE=proxmox-ve
GITVERSION:=$(shell git rev-parse HEAD)
PVE_DEB=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
PVE_HEADERS_DEB=pve-headers_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION)
DSC=$(PACKAGE)_$(DEB_VERSION).dsc
BUILD_DIR=build
PVE_DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb
PVE_HEADERS_DEB=pve-headers_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb
DEBS=${PVE_DEB} ${PVE_HEADERS_DEB}
DEBS=$(PVE_DEB) $(PVE_HEADERS_DEB)
all: deb
deb: ${DEBS}
deb: $(DEBS)
${PVE_HEADERS_DEB}: ${PVE_DEB}
${PVE_DEB}: debian
rm -rf ${BUILD_DIR}
mkdir -p ${BUILD_DIR}/debian
cp -ar debian/* ${BUILD_DIR}/debian/
echo "git clone git://git.proxmox.com/git/proxmox-ve.git\\ngit checkout ${GITVERSION}" > ${BUILD_DIR}/debian/SOURCE
cd ${BUILD_DIR}; dpkg-buildpackage -b -uc -us
lintian ${PVE_DEB}
$(BUILDDIR): debian
rm -rf $@ $@.tmp
mkdir -p $@.tmp/debian
cp -a debian/ $@.tmp/
echo "git clone git://git.proxmox.com/git/proxmox-ve.git\\ngit checkout $(GITVERSION)" > $@.tmp/debian/SOURCE
mv $@.tmp $@
$(PVE_HEADERS_DEB): $(PVE_DEB)
$(PVE_DEB): $(BUILDDIR)
cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
lintian $(DEBS)
dsc: $(DSC)
$(MAKE) clean
$(MAKE) $(DSC)
lintian $(DSC)
$(DSC): $(BUILDDIR)
cd $(BUILDDIR); dpkg-buildpackage -S -uc -us
sbuild: $(DSC)
sbuild $(DSC)
.PHONY: upload
upload: ${DEBS}
tar cf - ${DEBS}|ssh repoman@repo.proxmox.com -- upload --product pve --dist stretch --arch ${ARCH}
upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
upload: $(DEBS)
tar cf - $(DEBS)|ssh repoman@repo.proxmox.com -- upload --product pve --dist $(UPLOAD_DIST)
.PHONY: distclean
distclean: clean
.PHONY: clean
clean:
rm -rf *~ ${BUILD_DIR} *.deb *.dsc *.changes *.buildinfo
rm -rf *~ $(PACKAGE)-[0-9]*/ $(PACKAGE)*.tar.* *.deb *.dsc *.changes *.build *.buildinfo

View File

@ -15,20 +15,36 @@ my $log = sub {
print "W: ($hook_name) $line";
};
if (!defined $fd || $fd == 0) {
if (!defined $fd || $fd == 0 || $fd !~ /^\d+$/) {
$log->("APT_HOOK_INFO_FD not correctly defined, skipping apt-pve-hook checks\n");
exit 0;
}
open(my $fh, "<&=${fd}") or die "E: could not open APT_HOOK_INFO_FD (${fd}) - $!\n";
open(my $fh, "<&=", $fd) or die "E: could not open APT_HOOK_INFO_FD (${fd}) - $!\n";
my $cleanup = sub {
my ($rc) = @_;
my ($rc, $confirm) = @_;
close($fh);
if ($confirm) {
my $line = <STDIN>;
}
exit $rc;
};
my $file_read_firstline = sub {
my ($filename) = @_;
my $fh = IO::File->new($filename, "r");
return undef if !$fh;
my $res = <$fh>;
chomp $res if $res;
$fh->close;
return $res;
};
chomp (my $ver = <$fh>);
if ($ver ne "VERSION 2") {
$log->("apt-pve-hook misconfigured, expecting hook protocol version 2\n");
@ -50,23 +66,50 @@ while (my $line = <$fh>) {
next;
}
if ($pkg eq 'proxmox-ve' && $action eq '**REMOVE**') {
if (-e $check_file) {
$log->("'$check_file' exists, proceeding with removal of package '${check_package}'\n");
unlink $check_file;
} else {
$log->("!! WARNING !!\n");
$log->("You are attempting to remove the meta-package '${check_package}'!\n");
if ($pkg eq 'proxmox-ve') {
if ($action eq '**REMOVE**') {
if (-e $check_file) {
$log->("'$check_file' exists, proceeding with removal of package '${check_package}'\n");
unlink $check_file;
} else {
$log->("!! WARNING !!\n");
$log->("You are attempting to remove the meta-package '${check_package}'!\n");
$log->("\n");
$log->("If you really want to permanently remove '${check_package}' from your system, run the following command\n");
$log->("\ttouch '${check_file}'\n");
$log->("run apt purge ${check_package} to remove the meta-package\n");
$log->("and repeat your apt invocation.\n");
$log->("\n");
$log->("If you are unsure why '$check_package' would be removed, please verify\n");
$log->("\t- your APT repository settings\n");
$log->("\t- that you are using 'apt full-upgrade' to upgrade your system\n");
$cleanup->(1);
}
} elsif ($action eq '**CONFIGURE**' && $dir eq '<' && $old =~ /^6\./ && $new =~ /^7\./) {
$log->("!! ATTENTION !!\n");
$log->("You are attempting to upgrade from proxmox-ve '$old' to proxmox-ve '$new'. Please make sure to read the Upgrade notes at\n");
$log->("\thttps://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0\n");
$log->("before proceeding with this operation.\n");
$log->("\n");
$log->("If you really want to permanently remove '${check_package}' from your system, run the following command\n");
$log->("\ttouch '${check_file}'\n");
$log->("run apt purge ${check_package} to remove the meta-package\n");
$log->("and repeat your apt invocation.\n");
$log->("\n");
$log->("If you are unsure why '$check_package' would be removed, please verify\n");
$log->("\t- your APT repository settings\n");
$log->("\t- that you are using 'apt full-upgrade' to upgrade your system\n");
$cleanup->(1);
$log->("Press enter to continue, or C^c to abort.\n");
$cleanup->(0, 1);
}
}
if ($pkg =~ /^pve-kernel-/) {
if ($action eq '**REMOVE**') {
my $next_boot_ver = $file_read_firstline->("/etc/kernel/next-boot-pin");
my $pinned_ver = $file_read_firstline->("/etc/kernel/proxmox-boot-pin");
my $remove_pinned_ver = ($next_boot_ver && $pkg =~ /$next_boot_ver$/);
$remove_pinned_ver ||= ($pinned_ver && $pkg =~ /$pinned_ver$/);
if ($remove_pinned_ver) {
$log->("!! WARNING !!\n");
$log->("You are attempting to remove the currently pinned kernel '${pkg}'!\n");
$log->("\n");
$log->("If you really do not need the version anymore unpin it by running\n");
$log->("\tproxmox-boot-tool kernel unpin'\n");
$log->("and repeat your apt invocation.\n");
$cleanup->(1);
}
}
}
}

171
debian/changelog vendored
View File

@ -1,3 +1,174 @@
proxmox-ve (8.3.0) bookworm; urgency=medium
* bump for Proxmox VE 8.3
-- Proxmox Support Team <support@proxmox.com> Wed, 20 Nov 2024 11:42:06 +0100
proxmox-ve (8.2.0) bookworm; urgency=medium
* drop postinst/rm scripts that managed the links to the current default
kernel for fallback use, this moved to the new separate meta package for
default-kernel
* add systemd-sys to depends to better encode that Proxmox VE only works
with systemd as PID1
* disable the apt hook, that ensures that Proxmox VE is not deinstalled by
accident due to some botched repository configuration from the user, when
the meta package is actually removed to avoid issues on purge.
-- Proxmox Support Team <support@proxmox.com> Wed, 17 Apr 2024 07:38:30 +0200
proxmox-ve (8.1.0) bookworm; urgency=medium
* bump for Proxmox VE 8.1
-- Proxmox Support Team <support@proxmox.com> Thu, 23 Nov 2023 09:25:11 +0100
proxmox-ve (8.0.2) bookworm; urgency=medium
* switch to new Proxmox kernel meta packages
* make pve-headers transitional to switch to proxmox-default-headers
-- Proxmox Support Team <support@proxmox.com> Tue, 01 Aug 2023 11:39:53 +0200
proxmox-ve (8.0.1) bookworm; urgency=medium
* switch dependency over to proxmox-kernel-helper package (again)
-- Proxmox Support Team <support@proxmox.com> Mon, 12 Jun 2023 11:10:13 +0200
proxmox-ve (8.0.0) bookworm; urgency=medium
* re-build for Proxmox VE 8 / Debian 12 Bookworm
* depene on Linux Kernel 6.2 by default
* switch to native versioning scheme
-- Proxmox Support Team <support@proxmox.com> Wed, 24 May 2023 20:06:19 +0200
proxmox-ve (7.4-1) bullseye; urgency=medium
* depend on proxmox-kernel-helper
* bump version for Proxmox VE 7.4
-- Proxmox Support Team <support@proxmox.com> Mon, 20 Mar 2023 21:19:15 +0100
proxmox-ve (7.3-1) bullseye; urgency=medium
* bump version for Proxmox VE 7.3
-- Proxmox Support Team <support@proxmox.com> Sun, 20 Nov 2022 15:19:55 +0100
proxmox-ve (7.2-1) bullseye; urgency=medium
* depend on Linux Kernel 5.15 by default
* bump version for Proxmox VE 7.2
-- Proxmox Support Team <support@proxmox.com> Wed, 20 Apr 2022 15:00:11 +0200
proxmox-ve (7.1-2) bullseye; urgency=medium
* apt-hook: make code more robust for some input to avoid spurious
warnings
* apt-hook: add check preventing the removal of pinned kernels
* d/control: alternatively allow 5.15 kernel to satisfy kernel dependency
-- Proxmox Support Team <support@proxmox.com> Wed, 20 Apr 2022 11:07:46 +0200
proxmox-ve (7.1-1) bullseye; urgency=medium
* depend on Linux Kernel 5.13 by default
* bump version for Proxmox VE 7.1
-- Proxmox Support Team <support@proxmox.com> Thu, 11 Nov 2021 21:46:59 +0100
proxmox-ve (7.0-2) bullseye; urgency=medium
* add grub.d snippet set distributor and disable os-prober
-- Proxmox Support Team <support@proxmox.com> Thu, 24 Jun 2021 13:53:40 +0200
proxmox-ve (7.0-1) bullseye; urgency=medium
* depend on Linux Kernel 5.11 by default
* re-build for Proxmox VE 7 / Debian Bullseye
-- Proxmox Support Team <support@proxmox.com> Mon, 24 May 2021 12:18:54 +0200
proxmox-ve (6.4-1) pve; urgency=medium
* bump version for Proxmox VE 6.4
-- Proxmox Support Team <support@proxmox.com> Wed, 28 Apr 2021 10:29:10 +0200
proxmox-ve (6.3-1) pve; urgency=medium
* bump version for Proxmox VE 6.3
-- Proxmox Support Team <support@proxmox.com> Wed, 25 Nov 2020 11:47:22 +0100
proxmox-ve (6.2-2) pve; urgency=medium
* split out APT repository keys into own package 'proxmox-archive-keyring'
-- Proxmox Support Team <support@proxmox.com> Thu, 6 Aug 2020 16:57:31 +0200
proxmox-ve (6.2-1) pve; urgency=medium
* depend on Linux LTS Kernel 5.4 by default
-- Proxmox Support Team <support@proxmox.com> Wed, 06 May 2020 10:22:11 +0200
proxmox-ve (6.1-2) pve; urgency=medium
* ensure rescue kernel links point over to new 5.3 kernel
-- Proxmox Support Team <support@proxmox.com> Wed, 04 Dec 2019 07:09:33 +0100
proxmox-ve (6.1-1) pve; urgency=medium
* depend on Linux Kernel 5.3 by default
* make pve-headers depend on pve-headers-5.3
-- Proxmox Support Team <support@proxmox.com> Tue, 26 Nov 2019 07:48:12 +0100
proxmox-ve (6.0-2) pve; urgency=medium
* move efiboot and kernel autoremoval postinst hooks to kernel-meta
-- Proxmox Support Team <support@proxmox.com> Wed, 10 Jul 2019 20:21:33 +0200
proxmox-ve (6.0-1) pve; urgency=medium
* add efiboot and kernel autoremoval postinst hooks
-- Proxmox Support Team <support@proxmox.com> Fri, 28 Jun 2019 11:25:40 +0200
proxmox-ve (6.0-0+2) pve; urgency=medium
* make pve-headers depend on pve-headers-5.0
-- Proxmox Support Team <support@proxmox.com> Tue, 28 May 2019 11:49:14 +0200
proxmox-ve (6.0-0+1) pve; urgency=medium
* switch over /boot/pve/vmlinuz and /boot/pve/initrd symlinks to point to
5.0 kernel version series
* re build for Debian Buster / PVE 6
-- Proxmox Support Team <support@proxmox.com> Wed, 22 May 2019 21:45:24 +0200
proxmox-ve (5.4-1) unstable; urgency=medium
* bump version for PVE 5.4

1
debian/compat vendored
View File

@ -1 +0,0 @@
10

32
debian/control vendored
View File

@ -1,30 +1,26 @@
Source: proxmox-ve
Section: admin
Priority: optional
Build-Depends: debhelper (>=10~),
lintian,
Maintainer: Proxmox Support Team <support@proxmox.com>
Build-Depends: debhelper-compat (= 13), lintian,
Standards-Version: 4.6.2
Homepage: https://www.proxmox.com
Package: proxmox-ve
Architecture: all
Provides: proxmox-virtual-environment,
Conflicts: proxmox-ve-3.10.0,
proxmox-virtual-environment,
pve-kernel,
Replaces: proxmox-ve-3.10.0,
proxmox-virtual-environment,
pve-kernel,
Depends: apt,
libc6 (>= 2.7-18),
openssh-client,
openssh-server,
pve-kernel-4.15,
pve-manager,
proxmox-archive-keyring,
proxmox-default-kernel,
proxmox-kernel-helper (>= 8.0.3),
pve-manager (>= 8.0.4),
pve-qemu-kvm,
qemu-server,
spiceterm,
vncterm,
Description: The Proxmox Virtual Environment
systemd-sysv,
${misc:Depends},
Description: Proxmox Virtual Environment
The Proxmox Virtual Environment is an easy to use Open Source
virtualization platform for running Virtual Appliances and Virtual
Machines. This is a meta package which will install everything
@ -32,6 +28,8 @@ Description: The Proxmox Virtual Environment
Package: pve-headers
Architecture: all
Depends: pve-headers-4.15,
Description: Default Proxmox VE Kernel Headers
This is a virtual package which will install the kernel headers for the current default kernel.
Depends: proxmox-default-headers, ${misc:Depends},
Section: oldlibs
Description: Default Proxmox Kernel Headers (transitional package)
This is a dummy transitional package to transition to proxmox-default-headers.
It can be safely removed.

23
debian/copyright vendored
View File

@ -1,21 +1,14 @@
Copyright (C) 2016 Proxmox Server Solutions GmbH
Copyright (C) 2016 - 2024 Proxmox Server Solutions GmbH <support@proxmox.com>
This software is written by Proxmox Server Solutions GmbH <support@proxmox.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 dated June, 1991.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
GNU Affero General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301 USA
The complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL-2'.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

2
debian/grub/proxmox-ve.cfg vendored Normal file
View File

@ -0,0 +1,2 @@
GRUB_DISTRIBUTOR="Proxmox VE"
GRUB_DISABLE_OS_PROBER=true

21
debian/postinst vendored
View File

@ -1,21 +0,0 @@
#! /bin/sh
# Abort if any command returns an error value
set -e
case "$1" in
configure)
# cleanup - remove Proxmox Release Key key from /etc/apt/trusted.gpg
/usr/bin/apt-key --keyring /etc/apt/trusted.gpg del 9887F95A >/dev/null 2>&1 || /bin/true
# cleanup - remove old stretch-incompatible variant of installing release key
rm -f /etc/apt/trusted.gpg.d/proxmox-ve.gpg /etc/apt/trusted.gpg.d/proxmox-ve.gpg~
# setup kernel links for installation CD (rescue boot)
mkdir -p /boot/pve
ln -sf /boot/pve/vmlinuz-4.15 /boot/pve/vmlinuz
ln -sf /boot/pve/initrd.img-4.15 /boot/pve/initrd.img
;;
esac
exit 0

19
debian/postrm vendored
View File

@ -1,19 +0,0 @@
#! /bin/sh
# Abort if any command returns an error value
set -e
case "$1" in
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
# remove kernel symlinks
rm -f /boot/pve/vmlinuz
rm -f /boot/pve/initrd.img
rmdir --ignore-fail-on-non-empty /boot/pve/ || true
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,3 @@
debian/apthook/10pveapthook etc/apt/apt.conf.d/
debian/apthook/pve-apt-hook usr/share/proxmox-ve/
debian/proxmox-ve-release-5.x.gpg etc/apt/trusted.gpg.d/
debian/proxmox-ve-release-6.x.gpg etc/apt/trusted.gpg.d/
debian/grub/proxmox-ve.cfg etc/default/grub.d/

View File

@ -1 +0,0 @@
proxmox-ve: package-installs-apt-keyring etc/apt/trusted.gpg.d/proxmox-ve-release-*

3
debian/proxmox-ve.maintscript vendored Normal file
View File

@ -0,0 +1,3 @@
# moved to proxmox-archive-keyring under more generic paths
rm_conffile /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg 6.2-2~~
rm_conffile /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg 6.2-2~~

35
debian/proxmox-ve.postrm vendored Normal file
View File

@ -0,0 +1,35 @@
#! /bin/sh
set -e
hook=/etc/apt/apt.conf.d/10pveapthook
case "$1" in
purge)
rm -f $hook.disabled
;;
remove)
if test -f $hook; then
mv $hook $hook.disabled
fi
;;
abort-install)
if test "x$2" != "x" && test -f $hook
then
mv $hook $hook.disabled
fi
;;
upgrade|failed-upgrade|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
esac
#DEBHELPER#
exit 0

13
debian/proxmox-ve.preinst vendored Normal file
View File

@ -0,0 +1,13 @@
#!/bin/sh
set -e
hook=/etc/apt/apt.conf.d/10pveapthook
if test -f $hook.disabled
then
mv $hook.disabled $hook
fi
#DEBHELPER#
exit 0

24
debian/rules vendored Normal file → Executable file
View File

@ -4,25 +4,5 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
install:
dh_install
dh_installdocs
dh_lintian
dh_installchangelogs
dh_installman
dh_strip_nondeterminism
dh_compress
dh_fixperms
binary: install
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
.PHONY: build clean
build clean:
%:
dh $@

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (native)