build: move/merge files
the control files were merged as appropriate, the rest are plain renames.
This commit is contained in:
parent
5de7886d45
commit
2d62d8a400
13 changed files with 38 additions and 33 deletions
1272
debian/changelog
vendored
Normal file
1272
debian/changelog
vendored
Normal file
File diff suppressed because it is too large
Load diff
31
debian/control.in
vendored
Normal file
31
debian/control.in
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
Package: pve-kernel-@KVNAME@
|
||||
Version: @KERNEL_VER@-@PKGREL@
|
||||
Section: admin
|
||||
Priority: optional
|
||||
Architecture: @ARCH@
|
||||
Provides: linux-image, linux-image-2.6
|
||||
Suggests: pve-firmware
|
||||
Depends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub-efi-arm64, initramfs-tools, busybox
|
||||
Maintainer: Proxmox Support Team <support@proxmox.com>
|
||||
Description: The Proxmox PVE Kernel Image
|
||||
This package contains the linux kernel and initial ramdisk used for booting
|
||||
|
||||
Package: pve-headers-@KVNAME@
|
||||
Version: @KERNEL_VER@-@PKGREL@
|
||||
Section: devel
|
||||
Priority: optional
|
||||
Architecture: @ARCH@
|
||||
Provides: linux-headers, linux-headers-2.6
|
||||
Depends: coreutils | fileutils (>= 4.0)
|
||||
Maintainer: Proxmox Support Team <support@proxmox.com>
|
||||
Description: The Proxmox PVE Kernel Headers
|
||||
This package contains the linux kernel headers
|
||||
|
||||
Package: linux-tools-4.13
|
||||
Architecture: any
|
||||
Section: devel
|
||||
Priority: optional
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}, linux-base
|
||||
Description: Linux kernel version specific tools for version 4.13
|
||||
This package provides the architecture dependent parts for kernel
|
||||
version locked tools (such as perf and x86_energy_perf_policy)
|
31
debian/copyright
vendored
Normal file
31
debian/copyright
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
This is a prepackaged version of the Linux kernel binary image.
|
||||
|
||||
This package was put together by Proxmox Server
|
||||
Solutions GmbH <support@proxmox.com>.
|
||||
|
||||
We use the RHEL7 kernel sources, available from:
|
||||
|
||||
ftp://ftp.redhat.com/redhat/rhel/
|
||||
|
||||
Linux is copyrighted by Linus Torvalds and others.
|
||||
|
||||
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 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.
|
||||
|
||||
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'.
|
||||
|
||||
|
||||
ZFS module is licensed under the Common Development and Distribution
|
||||
License (CDDL).
|
||||
|
60
debian/pve-headers.postinst.in
vendored
Normal file
60
debian/pve-headers.postinst.in
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Abort if any command returns an error value
|
||||
set -e
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
|
||||
# There are three sub-cases:
|
||||
if test "${2+set}" != set; then
|
||||
# We're being installed by an ancient dpkg which doesn't remember
|
||||
# which version was most recently configured, or even whether
|
||||
# there is a most recently configured version.
|
||||
:
|
||||
|
||||
elif test -z "$2" -o "$2" = "<unknown>"; then
|
||||
# The package has not ever been configured on this system, or was
|
||||
# purged since it was last configured.
|
||||
:
|
||||
|
||||
else
|
||||
# Version $2 is the most recently configured version of this
|
||||
# package.
|
||||
:
|
||||
|
||||
fi ;;
|
||||
abort-upgrade)
|
||||
# Back out of an attempt to upgrade this package FROM THIS VERSION
|
||||
# to version $2. Undo the effects of "prerm upgrade $2".
|
||||
:
|
||||
|
||||
;;
|
||||
abort-remove)
|
||||
if test "$2" != in-favour; then
|
||||
echo "$0: undocumented call to \`postinst $*'" 1>&2
|
||||
exit 0
|
||||
fi
|
||||
# Back out of an attempt to remove this package, which was due to
|
||||
# a conflict with package $3 (version $4). Undo the effects of
|
||||
# "prerm remove in-favour $3 $4".
|
||||
:
|
||||
|
||||
;;
|
||||
abort-deconfigure)
|
||||
if test "$2" != in-favour -o "$5" != removing; then
|
||||
echo "$0: undocumented call to \`postinst $*'" 1>&2
|
||||
exit 0
|
||||
fi
|
||||
# Back out of an attempt to deconfigure this package, which was
|
||||
# due to package $6 (version $7) which we depend on being removed
|
||||
# to make way for package $3 (version $4). Undo the effects of
|
||||
# "prerm deconfigure in-favour $3 $4 removing $6 $7".
|
||||
:
|
||||
|
||||
;;
|
||||
*) echo "$0: didn't understand being called with \`$1'" 1>&2
|
||||
exit 0;;
|
||||
esac
|
||||
|
||||
exit 0
|
25
debian/pve-kernel.postinst.in
vendored
Executable file
25
debian/pve-kernel.postinst.in
vendored
Executable file
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
|
||||
# Ignore all invocations except when called on to configure.
|
||||
exit 0 unless $ARGV[0] =~ /configure/;
|
||||
|
||||
# do nothing if run from proxmox installer
|
||||
exit 0 if -e "/proxmox_install_mode";
|
||||
|
||||
my $imagedir = "/boot";
|
||||
|
||||
my $version = "@@KVNAME@@";
|
||||
|
||||
system("depmod $version");
|
||||
|
||||
if (-d "/etc/kernel/postinst.d") {
|
||||
print STDERR "Examining /etc/kernel/postinst.d.\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version " .
|
||||
"--arg=$imagedir/vmlinuz-$version " .
|
||||
"/etc/kernel/postinst.d") &&
|
||||
die "Failed to process /etc/kernel/postinst.d";
|
||||
}
|
||||
|
||||
exit 0
|
46
debian/pve-kernel.postrm.in
vendored
Normal file
46
debian/pve-kernel.postrm.in
vendored
Normal file
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
|
||||
# Ignore all 'upgrade' invocations .
|
||||
exit 0 if $ARGV[0] =~ /upgrade/;
|
||||
|
||||
my $imagedir = "/boot";
|
||||
|
||||
my $version = "@@KVNAME@@";
|
||||
|
||||
if (-d "/etc/kernel/postrm.d") {
|
||||
print STDERR "Examining /etc/kernel/postrm.d.\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version " .
|
||||
"--arg=$imagedir/vmlinuz-$version " .
|
||||
"/etc/kernel/postrm.d") &&
|
||||
die "Failed to process /etc/kernel/postrm.d";
|
||||
}
|
||||
|
||||
unlink "$imagedir/initrd.img-$version";
|
||||
unlink "$imagedir/initrd.img-$version.bak";
|
||||
unlink "/var/lib/initramfs-tools/$version";
|
||||
|
||||
# Ignore all invocations except when called on to purge.
|
||||
exit 0 unless $ARGV[0] =~ /purge/;
|
||||
|
||||
my @files_to_remove = qw{
|
||||
modules.dep modules.isapnpmap modules.pcimap
|
||||
modules.usbmap modules.parportmap
|
||||
modules.generic_string modules.ieee1394map
|
||||
modules.ieee1394map modules.pnpbiosmap
|
||||
modules.alias modules.ccwmap modules.inputmap
|
||||
modules.symbols modules.ofmap
|
||||
modules.seriomap modules.*.bin
|
||||
modules.softdep modules.devname
|
||||
};
|
||||
|
||||
foreach my $extra_file (@files_to_remove) {
|
||||
for (glob("/lib/modules/$version/$extra_file")) {
|
||||
unlink;
|
||||
}
|
||||
}
|
||||
|
||||
system ("rmdir", "/lib/modules/$version") if -d "/lib/modules/$version";
|
||||
|
||||
exit 0
|
23
debian/pve-kernel.prerm.in
vendored
Executable file
23
debian/pve-kernel.prerm.in
vendored
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
|
||||
# Ignore all invocations uxcept when called on to remove
|
||||
exit 0 unless ($ARGV[0] && $ARGV[0] =~ /remove/) ;
|
||||
|
||||
# do nothing if run from proxmox installer
|
||||
exit 0 if -e "/proxmox_install_mode";
|
||||
|
||||
my $imagedir = "/boot";
|
||||
|
||||
my $version = "@@KVNAME@@";
|
||||
|
||||
if (-d "/etc/kernel/prerm.d") {
|
||||
print STDERR "Examining /etc/kernel/prerm.d.\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version " .
|
||||
"--arg=$imagedir/vmlinuz-$version " .
|
||||
"/etc/kernel/prerm.d") &&
|
||||
die "Failed to process /etc/kernel/prerm.d";
|
||||
}
|
||||
|
||||
exit 0
|
7
debian/rules
vendored
Executable file
7
debian/rules
vendored
Executable file
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/make -f
|
||||
# -*- makefile -*-
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
|
209
debian/scripts/abi-check
vendored
Executable file
209
debian/scripts/abi-check
vendored
Executable file
|
@ -0,0 +1,209 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
my $abinew = shift;
|
||||
my $abiold = shift;
|
||||
my $skipabi = shift;
|
||||
|
||||
$abinew =~ /abi-(.*)/;
|
||||
my $abinum = $1;
|
||||
|
||||
my $fail_exit = 1;
|
||||
my $EE = "EE:";
|
||||
my $errors = 0;
|
||||
my $abiskip = 0;
|
||||
|
||||
my $count;
|
||||
|
||||
print "II: Checking ABI...\n";
|
||||
|
||||
if ($skipabi) {
|
||||
print "WW: Explicitly asked to ignore ABI, running in no-fail mode\n";
|
||||
$fail_exit = 0;
|
||||
$abiskip = 1;
|
||||
$EE = "WW:";
|
||||
}
|
||||
|
||||
#if ($prev_abinum != $abinum) {
|
||||
# print "II: Different ABI's, running in no-fail mode\n";
|
||||
# $fail_exit = 0;
|
||||
# $EE = "WW:";
|
||||
#}
|
||||
#
|
||||
if (not -f "$abinew" or not -f "$abiold") {
|
||||
print "EE: Previous or current ABI file missing!\n";
|
||||
print " $abinew\n" if not -f "$abinew";
|
||||
print " $abiold\n" if not -f "$abiold";
|
||||
|
||||
# Exit if the ABI files are missing, but return status based on whether
|
||||
# skip ABI was indicated.
|
||||
if ("$abiskip" eq "1") {
|
||||
exit(0);
|
||||
} else {
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
my %symbols;
|
||||
my %symbols_ignore;
|
||||
my %modules_ignore;
|
||||
my %module_syms;
|
||||
|
||||
# See if we have any ignores
|
||||
my $ignore = 0;
|
||||
print " Reading symbols/modules to ignore...";
|
||||
|
||||
for $file ("abi-blacklist") {
|
||||
if (-f $file) {
|
||||
open(IGNORE, "< $file") or
|
||||
die "Could not open $file";
|
||||
while (<IGNORE>) {
|
||||
chomp;
|
||||
if ($_ =~ m/M: (.*)/) {
|
||||
$modules_ignore{$1} = 1;
|
||||
} else {
|
||||
$symbols_ignore{$_} = 1;
|
||||
}
|
||||
$ignore++;
|
||||
}
|
||||
close(IGNORE);
|
||||
}
|
||||
}
|
||||
print "read $ignore symbols/modules.\n";
|
||||
|
||||
sub is_ignored($$) {
|
||||
my ($mod, $sym) = @_;
|
||||
|
||||
die "Missing module name in is_ignored()" if not defined($mod);
|
||||
die "Missing symbol name in is_ignored()" if not defined($sym);
|
||||
|
||||
if (defined($symbols_ignore{$sym}) or defined($modules_ignore{$mod})) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
# Read new syms first
|
||||
print " Reading new symbols ($abinum)...";
|
||||
$count = 0;
|
||||
open(NEW, "< $abinew") or
|
||||
die "Could not open $abinew";
|
||||
while (<NEW>) {
|
||||
chomp;
|
||||
m/^(\S+)\s(.+)\s(0x[0-9a-f]+)\s(.+)$/;
|
||||
$symbols{$4}{'type'} = $1;
|
||||
$symbols{$4}{'loc'} = $2;
|
||||
$symbols{$4}{'hash'} = $3;
|
||||
$module_syms{$2} = 0;
|
||||
$count++;
|
||||
}
|
||||
close(NEW);
|
||||
print "read $count symbols.\n";
|
||||
|
||||
# Now the old symbols, checking for missing ones
|
||||
print " Reading old symbols...";
|
||||
$count = 0;
|
||||
open(OLD, "< $abiold") or
|
||||
die "Could not open $abiold";
|
||||
while (<OLD>) {
|
||||
chomp;
|
||||
m/^(\S+)\s(.+)\s(0x[0-9a-f]+)\s(.+)$/;
|
||||
$symbols{$4}{'old_type'} = $1;
|
||||
$symbols{$4}{'old_loc'} = $2;
|
||||
$symbols{$4}{'old_hash'} = $3;
|
||||
$count++;
|
||||
}
|
||||
close(OLD);
|
||||
|
||||
print "read $count symbols.\n";
|
||||
|
||||
print "II: Checking for missing symbols in new ABI...";
|
||||
$count = 0;
|
||||
foreach $sym (keys(%symbols)) {
|
||||
if (!defined($symbols{$sym}{'type'})) {
|
||||
print "\n" if not $count;
|
||||
printf(" MISS : %s%s\n", $sym,
|
||||
is_ignored($symbols{$sym}{'old_loc'}, $sym) ? " (ignored)" : "");
|
||||
$count++ if !is_ignored($symbols{$sym}{'old_loc'}, $sym);
|
||||
}
|
||||
}
|
||||
print " " if $count;
|
||||
print "found $count missing symbols\n";
|
||||
if ($count) {
|
||||
print "$EE Symbols gone missing (what did you do!?!)\n";
|
||||
$errors++;
|
||||
}
|
||||
|
||||
|
||||
print "II: Checking for new symbols in new ABI...";
|
||||
$count = 0;
|
||||
foreach $sym (keys(%symbols)) {
|
||||
if (!defined($symbols{$sym}{'old_type'})) {
|
||||
print "\n" if not $count;
|
||||
print " NEW : $sym\n";
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
print " " if $count;
|
||||
print "found $count new symbols\n";
|
||||
if ($count) {
|
||||
print "WW: Found new symbols. Not recommended unless ABI was bumped\n";
|
||||
}
|
||||
|
||||
print "II: Checking for changes to ABI...\n";
|
||||
$count = 0;
|
||||
my $moved = 0;
|
||||
my $changed_type = 0;
|
||||
my $changed_hash = 0;
|
||||
foreach $sym (keys(%symbols)) {
|
||||
if (!defined($symbols{$sym}{'old_type'}) or
|
||||
!defined($symbols{$sym}{'type'})) {
|
||||
next;
|
||||
}
|
||||
|
||||
# Changes in location don't hurt us, but log it anyway
|
||||
if ($symbols{$sym}{'loc'} ne $symbols{$sym}{'old_loc'}) {
|
||||
printf(" MOVE : %-40s : %s => %s\n", $sym, $symbols{$sym}{'old_loc'},
|
||||
$symbols{$sym}{'loc'});
|
||||
$moved++;
|
||||
}
|
||||
|
||||
# Changes to export type are only bad if new type isn't
|
||||
# EXPORT_SYMBOL. Changing things to GPL are bad.
|
||||
if ($symbols{$sym}{'type'} ne $symbols{$sym}{'old_type'}) {
|
||||
printf(" TYPE : %-40s : %s => %s%s\n", $sym, $symbols{$sym}{'old_type'}.
|
||||
$symbols{$sym}{'type'}, is_ignored($symbols{$sym}{'loc'}, $sym)
|
||||
? " (ignored)" : "");
|
||||
$changed_type++ if $symbols{$sym}{'type'} ne "EXPORT_SYMBOL"
|
||||
and !is_ignored($symbols{$sym}{'loc'}, $sym);
|
||||
}
|
||||
|
||||
# Changes to the hash are always bad
|
||||
if ($symbols{$sym}{'hash'} ne $symbols{$sym}{'old_hash'}) {
|
||||
printf(" HASH : %-40s : %s => %s%s\n", $sym, $symbols{$sym}{'old_hash'},
|
||||
$symbols{$sym}{'hash'}, is_ignored($symbols{$sym}{'loc'}, $sym)
|
||||
? " (ignored)" : "");
|
||||
$changed_hash++ if !is_ignored($symbols{$sym}{'loc'}, $sym);
|
||||
$module_syms{$symbols{$sym}{'loc'}}++;
|
||||
}
|
||||
}
|
||||
|
||||
print "WW: $moved symbols changed location\n" if $moved;
|
||||
print "$EE $changed_type symbols changed export type and weren't ignored\n" if $changed_type;
|
||||
print "$EE $changed_hash symbols changed hash and weren't ignored\n" if $changed_hash;
|
||||
|
||||
$errors++ if $changed_hash or $changed_type;
|
||||
if ($changed_hash) {
|
||||
print "II: Module hash change summary...\n";
|
||||
foreach $mod (sort { $module_syms{$b} <=> $module_syms{$a} } keys %module_syms) {
|
||||
next if ! $module_syms{$mod};
|
||||
printf(" %-40s: %d\n", $mod, $module_syms{$mod});
|
||||
}
|
||||
}
|
||||
|
||||
print "II: Done\n";
|
||||
|
||||
if ($errors) {
|
||||
exit($fail_exit);
|
||||
} else {
|
||||
exit(0);
|
||||
}
|
32
debian/scripts/find-firmware.pl
vendored
Executable file
32
debian/scripts/find-firmware.pl
vendored
Executable file
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
|
||||
my $dir = shift;
|
||||
|
||||
die "no directory to scan" if !$dir;
|
||||
|
||||
die "no such directory" if ! -d $dir;
|
||||
|
||||
die "strange directory name" if $dir !~ m|^(.*/)?(4.13.\d+\-\d+\-pve)(/+)?$|;
|
||||
|
||||
my $apiver = $2;
|
||||
|
||||
open(TMP, "find '$dir' -name '*.ko'|");
|
||||
while (defined(my $fn = <TMP>)) {
|
||||
chomp $fn;
|
||||
my $relfn = $fn;
|
||||
$relfn =~ s|^$dir/*||;
|
||||
|
||||
my $cmd = "/sbin/modinfo -F firmware '$fn'";
|
||||
open(MOD, "$cmd|");
|
||||
while (defined(my $fw = <MOD>)) {
|
||||
chomp $fw;
|
||||
print "$fw $relfn\n";
|
||||
}
|
||||
close(MOD);
|
||||
|
||||
}
|
||||
close TMP;
|
||||
|
||||
exit 0;
|
Loading…
Add table
Add a link
Reference in a new issue