Revert "Make version in package name independant of internal abi"

Unfortunately it is not sufficient to provide virtual packages
that exactly match the ABI name.  For example, 'reportbug kernel'
doesn't find the virtual package, and neither do dpkg commands
such as 'dpkg -l linux-image-$(uname -r)'.

svn path=/dists/sid/linux/; revision=22034
This commit is contained in:
Ben Hutchings 2014-11-04 04:47:19 +00:00
parent 8d627986a9
commit 6ceeb0fb7b
10 changed files with 39 additions and 63 deletions

View File

@ -60,8 +60,7 @@ class Gencontrol(Base):
makeflags.update({
'VERSION': self.version.linux_version,
'UPSTREAMVERSION': self.version.linux_upstream,
'ABINAME': self.abiname,
'ABINAME_INTERNAL': self.abiname_internal,
'ABINAME': self.abiname_version + self.abiname_part,
'SOURCEVERSION': self.version.complete,
})
@ -130,9 +129,7 @@ class Gencontrol(Base):
except KeyError:
abiname_part = self.abiname_part
makeflags['ABINAME'] = vars['abiname'] = \
self.version.linux_upstream + abiname_part
makeflags['ABINAME_INTERNAL'] = vars['abiname_internal'] = \
self.version.linux_upstream_3part + abiname_part
self.abiname_version + abiname_part
if foreign_kernel:
packages_headers_arch = []
@ -173,7 +170,7 @@ class Gencontrol(Base):
kw_env['KW_DEFCONFIG_DIR'] = installer_def_dir
kw_env['KW_CONFIG_DIR'] = installer_arch_dir
kw_proc = subprocess.Popen(
['kernel-wedge', 'gen-control', vars['abiname_internal']],
['kernel-wedge', 'gen-control', vars['abiname']],
stdout=subprocess.PIPE,
env=kw_env)
if not isinstance(kw_proc.stdout, io.IOBase):
@ -467,19 +464,21 @@ class Gencontrol(Base):
self.abiname_part = ''
else:
self.abiname_part = '-%s' % self.config['abi', ]['abiname']
self.abiname = self.version.linux_upstream + self.abiname_part
self.abiname_internal = self.version.linux_upstream_3part + self.abiname_part
# We need to keep at least three version components to avoid
# userland breakage (e.g. #742226, #745984).
self.abiname_version = re.sub('^(\d+\.\d+)(?=-|$)', r'\1.0',
self.version.linux_upstream)
self.vars = {
'upstreamversion': self.version.linux_upstream,
'version': self.version.linux_version,
'source_upstream': self.version.upstream,
'source_package': self.changelog[0].source,
'abiname': self.abiname,
'abiname_internal': self.abiname_internal,
'abiname': self.abiname_version + self.abiname_part,
}
self.config['version', ] = {'source': self.version.complete,
'upstream': self.version.linux_upstream,
'abiname': self.abiname}
'abiname': (self.abiname_version +
self.abiname_part)}
distribution = self.changelog[0].distribution
if distribution in ('unstable', ):

View File

@ -161,10 +161,8 @@ $
if d['modifier'] is not None:
assert not d['update']
self.linux_upstream = u'-'.join((d['version'], d['modifier']))
self.linux_upstream_3part = u'-'.join((d['version'] + '.0', d['modifier']))
else:
self.linux_upstream = d['version']
self.linux_upstream_3part = d['version'] + '.0'
self.linux_upstream_full = self.linux_upstream + (d['update'] or u'')
self.linux_dfsg = d['dfsg']
self.linux_revision_experimental = match.group('revision_experimental') and True

66
debian/rules.real vendored
View File

@ -38,7 +38,7 @@ include debian/rules.defs
stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@
setup_env := env -u ABINAME -u ABINAME_INTERNAL -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION
setup_env := env -u ABINAME -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION
setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTOR="$(DISTRIBUTOR)" DISTRIBUTION_VERSION="$(SOURCEVERSION)" KBUILD_BUILD_TIMESTAMP="$(DISTRIBUTOR) $(SOURCEVERSION) ($(SOURCE_DATE_UTC_ISO))" KBUILD_BUILD_USER="$(word 1,$(subst @, ,$(MAINTAINER)))" KBUILD_BUILD_HOST="$(word 2,$(subst @, ,$(MAINTAINER)))"
MAKE_CLEAN = $(setup_env) $(MAKE)
@ -54,7 +54,6 @@ endif
binary-arch-arch: install-libc-dev_$(ARCH)
binary-arch-featureset: install-headers_$(ARCH)_$(FEATURESET)
binary-arch-flavour: install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
binary-arch-flavour: install-image-udeb_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
ifeq ($(DEBUG),True)
binary-arch-flavour: install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
endif
@ -135,7 +134,7 @@ $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/source_$(FEA
mkdir '$(DIR)'
cp '$(CONFIG)' '$(DIR)/.config'
echo 'override ARCH = $(KERNEL_ARCH)' >> '$(DIR)/.kernelvariables'
echo 'override KERNELRELEASE = $(ABINAME_INTERNAL)$(LOCALVERSION_IMAGE)' >> '$(DIR)/.kernelvariables'
echo 'override KERNELRELEASE = $(ABINAME)$(LOCALVERSION_IMAGE)' >> '$(DIR)/.kernelvariables'
echo 'CCACHE = ccache' >> '$(DIR)/.kernelvariables'
echo 'CC = $$(if $$(DEBIAN_KERNEL_USE_CCACHE),$$(CCACHE)) $$(CROSS_COMPILE)$(COMPILER)' >> '$(DIR)/.kernelvariables'
# TODO: Should we set CROSS_COMPILE always?
@ -250,7 +249,6 @@ install-headers_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source_$(FEATURESET)
+$(MAKE_SELF) install-base
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REAL_VERSION = $(ABINAME)$(LOCALVERSION)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): ABI_VERSION = $(ABINAME_INTERNAL)$(LOCALVERSION)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME = linux-headers-$(REAL_VERSION)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME_COMMON = linux-headers-$(ABINAME)-common$(LOCALVERSION_HEADERS)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME_KBUILD = linux-kbuild-$(VERSION)
@ -261,7 +259,6 @@ install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): SOURCE_DIR = $(BUILD_DIR)/buil
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REF_DIR = $(BUILD_DIR)/source_$(FEATURESET)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_DIR = debian/$(PACKAGE_NAME)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DIR = $(PACKAGE_DIR)/$(BASE_DIR)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): MODULES_DIR = $(PACKAGE_DIR)/lib/modules/$(ABI_VERSION)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
dh_testdir
dh_testroot
@ -293,9 +290,9 @@ install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(
dh_link /usr/lib/$(PACKAGE_NAME_KBUILD)/scripts $(BASE_DIR)/scripts
mkdir -p $(MODULES_DIR)
ln -s /usr/src/$(PACKAGE_NAME) $(MODULES_DIR)/build
ln -s /usr/src/$(PACKAGE_NAME_COMMON) $(MODULES_DIR)/source
mkdir -p $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)
ln -s /usr/src/$(PACKAGE_NAME) $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/build
ln -s /usr/src/$(PACKAGE_NAME_COMMON) $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/source
+$(MAKE_SELF) install-base INSTALLDOCS_ARGS="--link-doc=$(PACKAGE_NAME_COMMON)"
@ -337,11 +334,9 @@ install-support:
+$(MAKE_SELF) install-base
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): REAL_VERSION = $(ABINAME)$(LOCALVERSION)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): ABI_VERSION = $(ABINAME_INTERNAL)$(LOCALVERSION)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): PACKAGE_NAME = linux-image-$(REAL_VERSION)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): PACKAGE_DIR = debian/$(PACKAGE_NAME)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): BOOT_DIR = $(PACKAGE_DIR)/boot
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): MODULES_DIR = $(PACKAGE_DIR)/lib/modules/$(ABI_VERSION)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): INSTALL_DIR = $(PACKAGE_DIR)/boot
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DIR = $(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DH_OPTIONS = -p$(PACKAGE_NAME)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
@ -351,34 +346,34 @@ install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain:
dh_testroot
dh_prep
dh_installdirs 'boot'
install -m644 '$(DIR)/$(IMAGE_FILE)' $(BOOT_DIR)/$(IMAGE_INSTALL_STEM)-$(ABI_VERSION)
install -m644 '$(DIR)/$(IMAGE_FILE)' $(INSTALL_DIR)/$(IMAGE_INSTALL_STEM)-$(REAL_VERSION)
+$(MAKE_SELF) \
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_dt \
DIR='$(DIR)' PACKAGE_DIR='$(PACKAGE_DIR)' ABI_VERSION='$(ABI_VERSION)'
DIR='$(DIR)' PACKAGE_DIR='$(PACKAGE_DIR)' REAL_VERSION='$(REAL_VERSION)'
ifeq ($(MODULES),True)
+$(MAKE_CLEAN) -C $(DIR) modules_install DEPMOD='$(CURDIR)/debian/bin/no-depmod' INSTALL_MOD_PATH='$(CURDIR)'/$(PACKAGE_DIR) INSTALL_MOD_STRIP=1
ifeq ($(DEBUG),True)
set -o pipefail; \
find $(PACKAGE_DIR) -name '*.ko' | sed 's|$(MODULES_DIR)/kernel/||' | while read module ; do \
$(CROSS_COMPILE)objcopy --add-gnu-debuglink=$(DIR)/$$module $(MODULES_DIR)/kernel/$$module || exit; \
find $(PACKAGE_DIR) -name '*.ko' | sed 's|$(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/kernel/||' | while read module ; do \
$(CROSS_COMPILE)objcopy --add-gnu-debuglink=$(DIR)/$$module $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/kernel/$$module || exit; \
done
endif
cp $(DIR)/.config $(BOOT_DIR)/config-$(ABI_VERSION)
cp $(DIR)/System.map $(BOOT_DIR)/System.map-$(ABI_VERSION)
rm -f $(MODULES_DIR)/build
rm -f $(MODULES_DIR)/source
cp $(DIR)/.config $(PACKAGE_DIR)/boot/config-$(REAL_VERSION)
cp $(DIR)/System.map $(PACKAGE_DIR)/boot/System.map-$(REAL_VERSION)
rm -f $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/build
rm -f $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/source
rm $(PACKAGE_DIR)/lib/firmware -rf
endif
dh_installdebconf
+$(MAKE_SELF) \
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_bug \
PACKAGE_DIR='$(PACKAGE_DIR)' PACKAGE_NAME='$(PACKAGE_NAME)' ABI_VERSION='$(ABI_VERSION)'
PACKAGE_DIR='$(PACKAGE_DIR)' PACKAGE_NAME='$(PACKAGE_NAME)' REAL_VERSION='$(REAL_VERSION)'
+$(MAKE_SELF) install-base GENCONTROL_ARGS='-Vkernel:Recommends='"$$( \
if grep -q '^CONFIG_SMP=y' $(DIR)/.config; then \
printf irqbalance,; \
fi)"
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_dt: DT_INSTALL_DIR = $(PACKAGE_DIR)/usr/lib/linux-image-$(ABI_VERSION)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_dt: DT_INSTALL_DIR = $(PACKAGE_DIR)/usr/lib/linux-image-$(REAL_VERSION)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_dt:
ifneq ($(filter arm64 armel armhf,$(ARCH)),)
+$(MAKE_CLEAN) -C $(DIR) dtbs
@ -397,14 +392,12 @@ install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_bug:
dh_installdirs usr/share/bug/$(PACKAGE_NAME)
dh_install debian/templates/image.plain.bug/* usr/share/bug/$(PACKAGE_NAME)
chmod 755 $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/script
printf "RELEASE='$(ABI_VERSION)'\nDISTRIBUTOR='$(DISTRIBUTOR)'\nSOURCEVERSION='$(SOURCEVERSION)'\n" > $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/info
printf "RELEASE='$(REAL_VERSION)'\nDISTRIBUTOR='$(DISTRIBUTOR)'\nSOURCEVERSION='$(SOURCEVERSION)'\n" > $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/info
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REAL_VERSION = $(ABINAME)$(LOCALVERSION)
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): ABI_VERSION = $(ABINAME_INTERNAL)$(LOCALVERSION)
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME = linux-image-$(REAL_VERSION)-dbg
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_DIR = debian/$(PACKAGE_NAME)
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DEBUG_DIR = $(PACKAGE_DIR)/usr/lib/debug
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): MODULES_DIR = $(DEBUG_DIR)/lib/modules/$(ABI_VERSION)
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DIR = $(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DH_OPTIONS = -p$(PACKAGE_NAME)
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
@ -413,39 +406,26 @@ install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_
dh_prep
dh_installdirs usr/lib/debug usr/lib/debug/boot usr/share/lintian/overrides/
dh_lintian
install -m644 $(DIR)/vmlinux $(DEBUG_DIR)/boot/vmlinux-$(ABI_VERSION)
install -m644 $(DIR)/vmlinux $(DEBUG_DIR)/boot/vmlinux-$(REAL_VERSION)
ifeq ($(MODULES),True)
+$(MAKE_CLEAN) -C $(DIR) modules_install DEPMOD='$(CURDIR)/debian/bin/no-depmod' INSTALL_MOD_PATH='$(CURDIR)'/$(DEBUG_DIR)
find $(MODULES_DIR)/ -mindepth 1 -maxdepth 1 \! -name kernel -exec rm {} \+
find $(DEBUG_DIR)/lib/modules/$(REAL_VERSION)/ -mindepth 1 -maxdepth 1 \! -name kernel -exec rm {} \+
rm $(DEBUG_DIR)/lib/firmware -rf
endif
# Add symlinks to vmlinux from the locations expected by kdump-tools,
# systemtap and others
ln -s boot/vmlinux-$(ABI_VERSION) $(DEBUG_DIR)/
mkdir -p $(MODULES_DIR)
ln -s ../../../boot/vmlinux-$(ABI_VERSION) $(MODULES_DIR)/vmlinux
ln -s boot/vmlinux-$(REAL_VERSION) $(DEBUG_DIR)/
mkdir -p $(DEBUG_DIR)/lib/modules/$(REAL_VERSION)
ln -s ../../../boot/vmlinux-$(REAL_VERSION) $(DEBUG_DIR)/lib/modules/$(REAL_VERSION)/vmlinux
+$(MAKE_SELF) install-base
install-image-udeb_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): REAL_VERSION = $(ABINAME)$(LOCALVERSION)
install-image-udeb_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): ABI_VERSION = $(ABINAME_INTERNAL)$(LOCALVERSION)
install-image-udeb_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): PACKAGE_INPUT = debian/linux-image-$(REAL_VERSION)
install-image-udeb_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): BOOT_INPUT = $(PACKAGE_INPUT)/boot/$(IMAGE_INSTALL_STEM)-$(ABI_VERSION)
install-image-udeb_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): MODULES_INPUT = $(PACKAGE_INPUT)/lib/modules/$(ABI_VERSION)
install-image-udeb_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
install-image-udeb_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain:
mkdir -p $(BUILD_DIR)/udeb/boot $(BUILD_DIR)/udeb/lib/modules
ln -sf $(abspath $(BOOT_INPUT)) $(BUILD_DIR)/udeb/boot/$(IMAGE_INSTALL_STEM)-$(ABI_VERSION)
ln -sf $(abspath $(MODULES_INPUT)) $(BUILD_DIR)/udeb/lib/modules/$(ABI_VERSION)
install-udeb_$(ARCH): export KW_DEFCONFIG_DIR=debian/installer
install-udeb_$(ARCH): export KW_CONFIG_DIR=debian/installer/$(ARCH)
install-udeb_$(ARCH): export SOURCEDIR=$(BUILD_DIR)/udeb
install-udeb_$(ARCH): DH_OPTIONS=$(PACKAGE_NAMES:%=-p%)
install-udeb_$(ARCH):
dh_testdir
dh_prep
kernel-wedge install-files $(ABINAME_INTERNAL)
kernel-wedge install-files $(ABINAME)
kernel-wedge check $(PACKAGE_NAMES)
dh_fixperms
dh_gencontrol

View File

@ -1,6 +1,5 @@
Package: linux-headers-@abiname@@localversion@
Depends: linux-headers-@abiname@-common@localversion_headers@ (= ${binary:Version}), linux-kbuild-@version@, ${misc:Depends}
Provides: linux-headers-@abiname_internal@@localversion@
Description: Header files for Linux @abiname@@localversion@
This package provides the architecture-specific kernel header files
for Linux kernel @abiname@@localversion@, generally

View File

@ -1,5 +1,5 @@
Package: linux-image-@abiname@@localversion@
Provides: linux-modules-@abiname@@localversion@, linux-image-@abiname_internal@@localversion@
Provides: linux-modules-@abiname@@localversion@
Pre-Depends: debconf | debconf-2.0
Depends: kmod | module-init-tools, linux-base (>= 3~), ${misc:Depends}
Recommends: firmware-linux-free (>= 3~), ${kernel:Recommends}

View File

@ -1,5 +1,5 @@
Package: linux-image-@abiname@@localversion@
Provides: linux-image, linux-image-@abiname_internal@@localversion@
Provides: linux-image
Suggests: linux-doc-@version@
Depends: ${misc:Depends}
Description: Linux @upstreamversion@ for @class@

View File

@ -11,7 +11,7 @@ my $capb = capb('backup', 'escape');
$|=1;
# Predefined values:
my $version = "@abiname_internal@@localversion@";
my $version = "@abiname@@localversion@";
my $arch = "@arch@";
my $link_in_boot = "";
my $no_symlink = "";

View File

@ -19,7 +19,7 @@ if ( ! $@ )
$|=1;
# Predefined values:
my $version = "@abiname_internal@@localversion@";
my $version = "@abiname@@localversion@";
my $link_in_boot = "";
my $kimage = "@image-stem@";
my $postrm_hook = ''; #Normally we do not

View File

@ -10,7 +10,7 @@ my $capb=capb("backup");
$|=1;
# Predefined values:
my $version = "@abiname_internal@@localversion@";
my $version = "@abiname@@localversion@";
my $kimage = "@image-stem@";
my $preinst_hook = ''; #Normally we do not
my $package_name = "linux-image-$version";

View File

@ -8,7 +8,7 @@ my $capb=capb("backup");
$|=1;
# Predefined values:
my $version = "@abiname_internal@@localversion@";
my $version = "@abiname@@localversion@";
my $kimage = "@image-stem@";
my $prerm_hook = ''; #Normally we do not
my $package_name = "linux-image-$version";