diff --git a/debian/README.source b/debian/README.source index 570353a1f..ad841face 100644 --- a/debian/README.source +++ b/debian/README.source @@ -31,9 +31,8 @@ features/ and debian/. Patches are in the standard kernel patch format (unified diff to be applied with patch -p1) and generally have DEP-3 headers. -The series file 'series-all' is used for all configurations and a -series file 'series-' is used for each optional -featureset. +The series file 'series' is used for all configurations and a series +file 'series-' is used for each optional featureset. If you want to generate a source tree with all patches applied, run make -f debian/rules source diff --git a/debian/changelog b/debian/changelog index 5d9f08126..f0612155c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -129,6 +129,87 @@ linux-2.6 (3.3~rc6-1~experimental.1) experimental; urgency=low -- Ben Hutchings Sun, 04 Mar 2012 20:27:42 +0000 +linux (3.2.23-1) unstable; urgency=low + + * New upstream stable update: + http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.22 + - nilfs2: ensure proper cache clearing for gc-inodes + - ath9k_hw: avoid possible infinite loop in ar9003_get_pll_sqsum_dvc + http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.23 + - splice: fix racy pipe->buffers uses + - NFC: Prevent multiple buffer overflows in NCI (CVE-2012-3364) + - NFC: Return from rawsock_release when sk is NULL + - md/raid5: Do not add data_offset before call to is_badblock + - md/raid5: In ops_run_io, inc nr_pending before calling + md_wait_for_blocked_rdev + - md/raid10: fix failure when trying to repair a read error. + - udf: Improve sanity checking of filesystem metadata (CVE-2012-3400) + + udf: Avoid run away loop when partition table length is corrupted + + udf: Fortify loading of sparing table + - l2tp: fix a race in l2tp_ip_sendmsg() + - netpoll: fix netpoll_send_udp() bugs + - Btrfs: run delayed directory updates during log replay + - ocfs2: clear unaligned io flag when dio fails + - aio: make kiocb->private NUll in init_sync_kiocb() + - mm: Hold a file reference in madvise_remove + + [ Ben Hutchings ] + * linux-libc-dev: Fix redundant 'GNU glibc' in description (Closes: #631228) + * README.source: Correct name of main patch series file + * [sh] Fix up store queue code for subsys_interface changes (Closes: #680025) + * scsi: Silence unnecessary warnings about ioctl to partition + (Closes: #656899) + * Update Czech debconf template translations (Michal Simunek) + (Closes: #679674) + * linux-image: Remove versioned relations where stable version is new enough + * udf: Improve table length check to avoid possible overflow + * CIFS: Respect negotiated MaxMpxCount (deferred from 3.2.14) + * epoll: clear the tfile_check_list on -ELOOP (CVE-2012-3375) + * nouveau: Update to support Fermi (NVC0+) acceleration (Closes: #679566) + - Refactor sub-channel use + - Bump version to 1.0.0 + * e100: ucode is optional in some cases + * [x86] drm/i915: prefer wide & slow to fast & narrow in DP configs + (Closes: #658662) + * cipso: don't follow a NULL pointer when setsockopt() is called + * [x86] hwmon: Enable SENSORS_SCH5636 as module (Closes: #680934) + * atl1c: fix issue of transmit queue 0 timed out + * raid5: delayed stripe fix (Closes: #680366) + * fs: Remove easily user-triggerable BUG from generic_setlease + * tcp: drop SYN+FIN messages + * fifo: Do not restart open() if it already found a partner (Closes: #678852) + * [rt] linux-source: Include -rt version suffix + * [rt] Update to 3.2.23-rt37: + - Latency histogramms: Cope with backwards running local trace clock + - Latency histograms: Adjust timer, if already elapsed when programmed + - Disable RT_GROUP_SCHED in PREEMPT_RT_FULL + - Latency histograms: Detect another yet overlooked sharedprio condition + - slab: Prevent local lock deadlock + - fs, jbd: pull your plug when waiting for space + - perf: Make swevent hrtimer run in irq instead of softirq + - cpu/rt: Rework cpu down for PREEMPT_RT + - cpu/rt: Fix cpu_hotplug variable initialization + - workqueue: Revert workqueue: Fix PF_THREAD_BOUND abuse + - workqueue: Revert workqueue: Fix cpuhotplug trainwreck + + [ Arnaud Patard ] + * [mipsel] add r8169 to d-i udeb. + + -- Ben Hutchings Sun, 22 Jul 2012 23:25:47 +0100 + +linux (3.2.21-3) unstable; urgency=low + + * driver core: remove __must_check from device_create_file + (fixes FTBFS on sparc) + * i2400m: Disable I2400M_SDIO; hardware did not reach production + * apparmor: remove advertising the support of network rules from + compat iface (Closes: #676515) + * xen/netfront: teardown the device before unregistering it (Closes: #675190) + * linux-{doc,manual,source,support}: Mark as capable of satisfying + relations from foreign packages (Multi-Arch: foreign) (Closes: #679202) + + -- Ben Hutchings Thu, 28 Jun 2012 04:58:18 +0100 + linux (3.2.21-2) unstable; urgency=low * [i386] cpufreq/gx: Fix the compile error diff --git a/debian/config/config b/debian/config/config index bca5bbbca..b0aa9e46a 100644 --- a/debian/config/config +++ b/debian/config/config @@ -1554,8 +1554,7 @@ CONFIG_EEPROM_93CX6=m ## ## file: drivers/misc/iwmc3200top/Kconfig ## -# CONFIG_IWMC3200TOP_DEBUG is not set -# CONFIG_IWMC3200TOP_DEBUGFS is not set +# CONFIG_IWMC3200TOP is not set ## ## file: drivers/misc/lis3lv02d/Kconfig @@ -2159,8 +2158,7 @@ CONFIG_WAN_ROUTER_DRIVERS=m ## file: drivers/net/wimax/i2400m/Kconfig ## CONFIG_WIMAX_I2400M_USB=m -CONFIG_WIMAX_I2400M_SDIO=m -CONFIG_WIMAX_IWMC3200_SDIO=y +# CONFIG_WIMAX_I2400M_SDIO is not set CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 ## diff --git a/debian/config/defines b/debian/config/defines index b186eea0d..43777879b 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -48,8 +48,3 @@ gcc-4.6: gcc-4.6 # initramfs-generators initramfs-fallback: linux-initramfs-tool initramfs-tools: initramfs-tools (>= 0.99~) - -# bootloaders -elilo: elilo (>= 3.12-3.1~) -lilo: lilo (>= 22.8-8.2~) -s390-tools: s390-tools (>= 1.8.3-2~) diff --git a/debian/config/kernelarch-x86/config b/debian/config/kernelarch-x86/config index 94e1b0aab..c410aa303 100644 --- a/debian/config/kernelarch-x86/config +++ b/debian/config/kernelarch-x86/config @@ -476,6 +476,7 @@ CONFIG_SENSORS_LM92=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_SCH5636=m CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47B397=m diff --git a/debian/installer/mipsel/modules/mipsel-loongson-2f/nic-modules b/debian/installer/mipsel/modules/mipsel-loongson-2f/nic-modules index 53e333ba0..361c75a24 100644 --- a/debian/installer/mipsel/modules/mipsel-loongson-2f/nic-modules +++ b/debian/installer/mipsel/modules/mipsel-loongson-2f/nic-modules @@ -1 +1,2 @@ 8139too +r8169 diff --git a/debian/patches/bugfix/all/net-e100-ucode-is-optional-in-some-cases.patch b/debian/patches/bugfix/all/net-e100-ucode-is-optional-in-some-cases.patch new file mode 100644 index 000000000..3599fe709 --- /dev/null +++ b/debian/patches/bugfix/all/net-e100-ucode-is-optional-in-some-cases.patch @@ -0,0 +1,106 @@ +From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= +Date: Thu, 19 Jul 2012 06:28:40 +0000 +Subject: net: e100: ucode is optional in some cases +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +commit 8b0d2f9ed3d8e92feada7c5d70fa85be46e6f948 upstream. + +commit 9ac32e1b firmware: convert e100 driver to request_firmware() + +did a straight conversion of the in-driver ucode to external +files. This introduced the possibility of the driver failing +to enable an interface due to missing ucode. There was no +evaluation of the importance of the ucode at the time. + +Based on comments in earlier versions of this driver, and in +the source code for the FreeBSD fxp driver, we can assume that +the ucode implements the "CPU Cycle Saver" feature on supported +adapters. Although generally wanted, this is an optional +feature. The ucode source is not available, preventing it from +being included in free distributions. This creates unnecessary +problems for the end users. Doing a network install based on a +free distribution installer requires the user to download and +insert the ucode into the installer. + +Making the ucode optional when possible improves the user +experience and driver usability. + +The ucode for some adapters include a bugfix, making it +essential. We continue to fail for these adapters unless the +ucode is available. + +Signed-off-by: Bjørn Mork +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/intel/e100.c | 40 ++++++++++++++++++++++++++++--------- + 1 file changed, 31 insertions(+), 9 deletions(-) + +diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c +index ada720b..535f94f 100644 +--- a/drivers/net/ethernet/intel/e100.c ++++ b/drivers/net/ethernet/intel/e100.c +@@ -1249,20 +1249,35 @@ static const struct firmware *e100_request_firmware(struct nic *nic) + const struct firmware *fw = nic->fw; + u8 timer, bundle, min_size; + int err = 0; ++ bool required = false; + + /* do not load u-code for ICH devices */ + if (nic->flags & ich) + return NULL; + +- /* Search for ucode match against h/w revision */ +- if (nic->mac == mac_82559_D101M) ++ /* Search for ucode match against h/w revision ++ * ++ * Based on comments in the source code for the FreeBSD fxp ++ * driver, the FIRMWARE_D102E ucode includes both CPUSaver and ++ * ++ * "fixes for bugs in the B-step hardware (specifically, bugs ++ * with Inline Receive)." ++ * ++ * So we must fail if it cannot be loaded. ++ * ++ * The other microcode files are only required for the optional ++ * CPUSaver feature. Nice to have, but no reason to fail. ++ */ ++ if (nic->mac == mac_82559_D101M) { + fw_name = FIRMWARE_D101M; +- else if (nic->mac == mac_82559_D101S) ++ } else if (nic->mac == mac_82559_D101S) { + fw_name = FIRMWARE_D101S; +- else if (nic->mac == mac_82551_F || nic->mac == mac_82551_10) ++ } else if (nic->mac == mac_82551_F || nic->mac == mac_82551_10) { + fw_name = FIRMWARE_D102E; +- else /* No ucode on other devices */ ++ required = true; ++ } else { /* No ucode on other devices */ + return NULL; ++ } + + /* If the firmware has not previously been loaded, request a pointer + * to it. If it was previously loaded, we are reinitializing the +@@ -1273,10 +1288,17 @@ static const struct firmware *e100_request_firmware(struct nic *nic) + err = request_firmware(&fw, fw_name, &nic->pdev->dev); + + if (err) { +- netif_err(nic, probe, nic->netdev, +- "Failed to load firmware \"%s\": %d\n", +- fw_name, err); +- return ERR_PTR(err); ++ if (required) { ++ netif_err(nic, probe, nic->netdev, ++ "Failed to load firmware \"%s\": %d\n", ++ fw_name, err); ++ return ERR_PTR(err); ++ } else { ++ netif_info(nic, probe, nic->netdev, ++ "CPUSaver disabled. Needs \"%s\": %d\n", ++ fw_name, err); ++ return NULL; ++ } + } + + /* Firmware should be precisely UCODE_SIZE (words) plus three bytes diff --git a/debian/patches/bugfix/all/rt2800-disable-powersaving-as-default.patch b/debian/patches/bugfix/all/rt2800-disable-powersaving-as-default.patch deleted file mode 100644 index a353f03b7..000000000 --- a/debian/patches/bugfix/all/rt2800-disable-powersaving-as-default.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Johannes Stezenbach -Date: Wed Jan 19 04:43:34 EST 2011 -Subject: [PATCH RFC] rt2800: disable powersaving as default - -Powersaving is broken on rt2800usb (the hardware cannot do timed wakeup -to receive beacons) and also on rt2800pci currently (auto-wakeup irq -does no seem to work, for reasons so far unknown). - -Signed-off-by: Johannes Stezenbach - -diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c -index b7d91d5..b846fd9 100644 ---- a/drivers/net/wireless/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/rt2x00/rt2800lib.c -@@ -3229,10 +3229,9 @@ int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev) - u16 eeprom; - - /* -- * Disable powersaving as default on PCI devices. -+ * Disable powersaving as default. - */ -- if (rt2x00_is_pci(rt2x00dev) || rt2x00_is_soc(rt2x00dev)) -- rt2x00dev->hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; -+ rt2x00dev->hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; - - /* - * Initialize all hw fields. diff --git a/debian/patches/bugfix/all/udf-Improve-table-length-check-to-avoid-possible-underflow.patch b/debian/patches/bugfix/all/udf-Improve-table-length-check-to-avoid-possible-underflow.patch new file mode 100644 index 000000000..2c6588a86 --- /dev/null +++ b/debian/patches/bugfix/all/udf-Improve-table-length-check-to-avoid-possible-underflow.patch @@ -0,0 +1,29 @@ +From: Jan Kara +Date: Tue, 10 Jul 2012 17:58:04 +0200 +Subject: udf: Improve table length check to avoid possible overflow + +When a partition table length is corrupted to be close to 1 << 32, the +check for its length may overflow on 32-bit systems and we will think +the length is valid. Later on the kernel can crash trying to read beyond +end of buffer. Fix the check to avoid possible overflow. + +CC: stable@vger.kernel.org +Reported-by: Ben Hutchings +Signed-off-by: Jan Kara +--- + fs/udf/super.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/fs/udf/super.c b/fs/udf/super.c +index 8a75838..dcbf987 100644 +--- a/fs/udf/super.c ++++ b/fs/udf/super.c +@@ -1340,7 +1340,7 @@ static int udf_load_logicalvol(struct super_block *sb, sector_t block, + BUG_ON(ident != TAG_IDENT_LVD); + lvd = (struct logicalVolDesc *)bh->b_data; + table_len = le32_to_cpu(lvd->mapTableLength); +- if (sizeof(*lvd) + table_len > sb->s_blocksize) { ++ if (table_len > sb->s_blocksize - sizeof(*lvd)) { + udf_err(sb, "error loading logical volume descriptor: " + "Partition table too long (%u > %lu)\n", table_len, + sb->s_blocksize - sizeof(*lvd)); diff --git a/debian/patches/bugfix/x86/drm-i915-prefer-wide-slow-to-fast-narrow-in-DP-confi.patch b/debian/patches/bugfix/x86/drm-i915-prefer-wide-slow-to-fast-narrow-in-DP-confi.patch new file mode 100644 index 000000000..349441658 --- /dev/null +++ b/debian/patches/bugfix/x86/drm-i915-prefer-wide-slow-to-fast-narrow-in-DP-confi.patch @@ -0,0 +1,33 @@ +From: Jesse Barnes +Date: Thu, 21 Jun 2012 15:13:50 -0700 +Subject: drm/i915: prefer wide & slow to fast & narrow in DP configs + +commit 2514bc510d0c3aadcc5204056bb440fa36845147 upstream. + +High frequency link configurations have the potential to cause trouble +with long and/or cheap cables, so prefer slow and wide configurations +instead. This patch has the potential to cause trouble for eDP +configurations that lie about available lanes, so if we run into that we +can make it conditional on eDP. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45801 +Tested-by: peter@colberg.org +Signed-off-by: Jesse Barnes +Signed-off-by: Daniel Vetter +--- + drivers/gpu/drm/i915/intel_dp.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/i915/intel_dp.c ++++ b/drivers/gpu/drm/i915/intel_dp.c +@@ -726,8 +726,8 @@ intel_dp_mode_fixup(struct drm_encoder * + bpp = adjusted_mode->private_flags & INTEL_MODE_DP_FORCE_6BPC ? 18 : 24; + mode_rate = intel_dp_link_required(mode->clock, bpp); + +- for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) { +- for (clock = 0; clock <= max_clock; clock++) { ++ for (clock = 0; clock <= max_clock; clock++) { ++ for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) { + int link_avail = intel_dp_max_data_rate(intel_dp_link_clock(bws[clock]), lane_count); + + if (mode_rate <= link_avail) { diff --git a/debian/patches/features/all/rt/check-series b/debian/patches/features/all/rt/check-series deleted file mode 100755 index a25c5292f..000000000 --- a/debian/patches/features/all/rt/check-series +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/sh - -debian_series=debian/patches/series-rt -rt_series="$(mktemp)" - -trap 'rm "$rt_series"' INT QUIT EXIT - -# Remove comments and empty lines. Drop localversion patch as uname version -# shouldn't be touched. Reformat to match series format. -sed -r -e 's/ *#.*//; /^$/d; /^....-(localversion\.patch|Linux-.*-REBASE)\.patch$/d; s,.*,features/all/rt/&,' "debian/patches/features/all/rt/series" > "$rt_series" - -# removed lines are OK if the rt patch contains fixes that are applied on -# featureset=none kernels, too. -diff -u --label "debian/patches/features/all/rt/series" --label "debian/patches/series/base-extra" "$rt_series" "$debian_series" diff --git a/debian/patches/features/all/rt/convert-series b/debian/patches/features/all/rt/convert-series new file mode 100755 index 000000000..a1cff6081 --- /dev/null +++ b/debian/patches/features/all/rt/convert-series @@ -0,0 +1,5 @@ +#!/bin/sh + +# Add directory prefix to all filenames, but leave comments and +# empty lines unchanged. +sed -r -e 's,^[^# \t],features/all/rt/&,' "debian/patches/features/all/rt/series" > debian/patches/series-rt diff --git a/debian/patches/series b/debian/patches/series index f8f3a11b5..b0d146ae9 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -35,7 +35,6 @@ bugfix/all/dm-Deal-with-merge_bvec_fn-in-component-devices-bett.patch features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch debian/sched-autogroup-disabled.patch -#+ bugfix/all/rt2800-disable-powersaving-as-default.patch features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch debian/cgroups-Document-the-Debian-memory-resource-controll.patch bugfix/ia64/nouveau-ACPI-support-is-dependent-on-X86.patch @@ -53,3 +52,6 @@ features/all/wacom/0030-wacom-ignore-new-style-Wacom-multi-touch-packets-on-.pat bugfix/ia64/IA64-Export-asm-cmpxchg.h-to-userland.patch bugfix/x86/zsmalloc-Finish-conversion-to-a-separate-module.patch features/all/cpu-devices/Partially-revert-cpufreq-Add-support-for-x86-cpuinfo.patch +bugfix/all/udf-Improve-table-length-check-to-avoid-possible-underflow.patch +bugfix/all/net-e100-ucode-is-optional-in-some-cases.patch +bugfix/x86/drm-i915-prefer-wide-slow-to-fast-narrow-in-DP-confi.patch diff --git a/debian/po/cs.po b/debian/po/cs.po index 69c3e4ab3..e83ca25ab 100644 --- a/debian/po/cs.po +++ b/debian/po/cs.po @@ -1,14 +1,14 @@ # Czech PO debconf template translation of linux. # Copyright (C) 2010 Michal Simunek # This file is distributed under the same license as the linux package. -# Michal Simunek , 2010. +# Michal Simunek , 2010 - 2012. # msgid "" msgstr "" -"Project-Id-Version: linux-2.6 2.6.32-18\n" +"Project-Id-Version: linux 3.2.21-3\n" "Report-Msgid-Bugs-To: linux@packages.debian.org\n" -"POT-Creation-Date: 2010-07-25 10:32+0200\n" -"PO-Revision-Date: 2010-07-26 18:02+0200\n" +"POT-Creation-Date: 2011-07-04 04:24+0100\n" +"PO-Revision-Date: 2012-06-30 13:02+0200\n" "Last-Translator: Michal Simunek \n" "Language-Team: Czech \n" "Language: cs\n" @@ -16,20 +16,6 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#. Type: error -#. Description -#: ../linux-base.templates:8001 ../templates/temp.image.plain/templates:5001 -msgid "" -"If the boot loader needs to be updated whenever a new kernel is installed, " -"the boot loader package should install a script in /etc/kernel/postinst.d. " -"Alternately, you can specify the command to update the boot loader by " -"setting the 'postinst_hook' variable in /etc/kernel-img.conf." -msgstr "" -"Pokud je nutné aktualizovat zavaděč kdykoli je nainstalováno nové jádro, " -"balíček zavaděče nainstalovuje skript v /etc/kernel/postinst.d. " -"Můžete také zadat příkaz k aktualizaci zavaděče nastavením proměnné " -"'postinst_hook' v /etc/kernel-img.conf." - #. Type: boolean #. Description #: ../templates/temp.image.plain/templates:2001 @@ -139,15 +125,17 @@ msgstr "" #. Type: error #. Description #: ../templates/temp.image.plain/templates:5001 -msgid "Boot loader configuration must be updated" -msgstr "Nastavení zavaděče musí být aktualizováno" +msgid "Ramdisk configuration must be updated" +msgstr "Nastavení ramdisku musí být aktualizováno" #. Type: error #. Description #: ../templates/temp.image.plain/templates:5001 msgid "" -"Kernel packages no longer update a default boot loader. You should remove " -"'do_bootloader = yes' from /etc/kernel-img.conf." +"Kernel packages will no longer run a specific ramdisk creator. The ramdisk " +"creator package must install a script in /etc/kernel/postinst.d, and you " +"should remove the line beginning 'ramdisk =' from /etc/kernel-img.conf." msgstr "" -"Jaderný balíček již neaktualizuje výchozí zavaděč. Odstraňte " -"'do_bootloader = yes' z /etc/kernel-img.conf." +"Jaderný balíček již nespouští konkrétního tvůrce ramdisku. Balíček s tvůrcem " +"ramdisku musí do adresáře /etc/kernel/postinst.d nainstalovat skript, a vy " +"byste měli ze souboru /etc/kernel-img.conf odstranit řádek začínající 'ramdisk ='." diff --git a/debian/rules b/debian/rules index 655a7181b..cb885511d 100755 --- a/debian/rules +++ b/debian/rules @@ -51,8 +51,8 @@ TAR_ORIG_NAME = $(SOURCE)_$(VERSION_UPSTREAM).orig.tar.xz TAR_ORIG = $(firstword $(wildcard ../$(TAR_ORIG_NAME)) $(wildcard ../orig/$(TAR_ORIG_NAME))) orig: $(DIR_ORIG) - rsync --delete --exclude /debian --exclude .svk --exclude .svn --link-dest=$(DIR_ORIG)/ -a $(DIR_ORIG)/ . - QUILT_PATCHES='$(CURDIR)/debian/patches' quilt push --quiltrc - -a -q --fuzz=0 + rsync --delete --exclude /debian --exclude .svk --exclude .svn --exclude .git --link-dest=$(DIR_ORIG)/ -a $(DIR_ORIG)/ . + QUILT_PATCHES='$(CURDIR)/debian/patches' QUILT_PC=.pc quilt push --quiltrc - -a -q --fuzz=0 $(DIR_ORIG): ifeq ($(TAR_ORIG),) @@ -64,7 +64,7 @@ endif maintainerclean: rm -f debian/config.defines.dump debian/control debian/control.md5sum debian/rules.gen - rm -rf $(filter-out debian .svk .svn, $(wildcard * .[^.]*)) + rm -rf $(filter-out debian .svk .svn .git, $(wildcard * .[^.]*)) clean: debian/control dh_testdir diff --git a/debian/rules.real b/debian/rules.real index 6a4fb978f..de91968b9 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -21,6 +21,13 @@ ifneq (,$(filter experimental UNRELEASED,$(DISTRIBUTION))) export KW_CHECK_NONFATAL = y endif +# Set Multi-Arch fields only when built in a suite that supports it +ifneq (,$(DEB_HOST_MULTIARCH)) +DEFINE_MULTIARCH = -Vlinux:Multi-Arch=$(1) +else +DEFINE_MULTIARCH = -Vlinux:Multi-Arch= +endif + include debian/rules.defs stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@ @@ -65,7 +72,7 @@ $(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(KCONFIG) define copy_source mkdir -p '$(1)' -cp -al $(filter-out debian .pc .svk .svn, $(wildcard * .[^.]*)) '$(1)' +cp -al $(filter-out debian .pc .svk .svn .git, $(wildcard * .[^.]*)) '$(1)' endef $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2: DIR = $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION) @@ -80,19 +87,19 @@ $(BUILD_DIR)/linux-patch-$(UPSTREAMVERSION)-%.patch.bz2: $(STAMPS_DIR)/source_no set -o pipefail; \ (cd '$(BUILD_DIR)'; \ set +e; \ - diff -urN -p -x debian -x .pc -x .svk -x .svn source_none source_$*; \ + diff -urN -p -x debian -x .pc -x .svk -x .svn -x .git source_none source_$*; \ test $$? -eq 1) | \ filterdiff --remove-timestamps --strip=1 --addoldprefix=a/ --addnewprefix=b/ | \ bzip2 -c >$@ || \ (rm -f $@; exit 1) define patch_cmd -cd '$(DIR)' && QUILT_PATCHES='$(CURDIR)/debian/patches' QUILT_SERIES=series-$(1) quilt push --quiltrc - -a -q --fuzz=0 +cd '$(DIR)' && QUILT_PATCHES='$(CURDIR)/debian/patches' QUILT_SERIES=series-$(1) QUILT_PC=.pc quilt push --quiltrc - -a -q --fuzz=0 endef $(STAMPS_DIR)/source: test -d .pc - set +e; quilt unapplied --quiltrc - >/dev/null && echo 'Patch series not fully applied'; test $$? -eq 1 + set +e; QUILT_PC=.pc quilt unapplied --quiltrc - >/dev/null && echo 'Patch series not fully applied'; test $$? -eq 1 @$(stamp) $(STAMPS_DIR)/source_%: SOURCE_DIR=$(BUILD_DIR)/source @@ -193,7 +200,7 @@ install-doc: $(STAMPS_DIR)/build-doc | \ cpio -pd --preserve-modification-time '$(CURDIR)/$(OUT_DIR)/html' gzip -9qfr $(OUT_DIR)/Documentation - +$(MAKE_SELF) install-base + +$(MAKE_SELF) install-base GENCONTROL_ARGS='$(call DEFINE_MULTIARCH,foreign)' install-manual: PACKAGE_NAME = linux-manual-$(VERSION) install-manual: DIR=$(BUILD_DIR)/build-doc @@ -201,7 +208,7 @@ install-manual: DH_OPTIONS = -p$(PACKAGE_NAME) install-manual: $(STAMPS_DIR)/build-doc dh_prep find $(DIR)/Documentation/DocBook/man/ -name '*.9' | xargs dh_installman - +$(MAKE_SELF) install-base + +$(MAKE_SELF) install-base GENCONTROL_ARGS='$(call DEFINE_MULTIARCH,foreign)' install-headers_$(ARCH): PACKAGE_NAMES = linux-headers-$(ABINAME)-all linux-headers-$(ABINAME)-all-$(ARCH) install-headers_$(ARCH): DH_OPTIONS = $(foreach p, $(PACKAGE_NAMES), -p$(p)) @@ -311,12 +318,9 @@ ifneq (,$(DEB_HOST_MULTIARCH)) # Move include/asm to arch-specific directory mkdir -p $(OUT_DIR)/include/$(DEB_HOST_MULTIARCH) mv $(OUT_DIR)/include/asm $(OUT_DIR)/include/$(DEB_HOST_MULTIARCH)/ - echo linux-libc-dev:Multi-Arch=same >>debian/$(PACKAGE_NAME).substvars -else - echo linux-libc-dev:Multi-Arch= >>debian/$(PACKAGE_NAME).substvars endif - +$(MAKE_SELF) install-base + +$(MAKE_SELF) install-base GENCONTROL_ARGS='$(call DEFINE_MULTIARCH,same)' install-support: PACKAGE_NAME = linux-support-$(ABINAME) install-support: DH_OPTIONS = -p$(PACKAGE_NAME) @@ -331,7 +335,7 @@ install-support: cp debian/lib/python/debian_linux/*.py $(PACKAGE_DIR)$(PACKAGE_ROOT)/lib/python/debian_linux dh_python2 dh_link $(PACKAGE_ROOT) /usr/src/$(PACKAGE_NAME) - +$(MAKE_SELF) install-base + +$(MAKE_SELF) install-base GENCONTROL_ARGS='$(call DEFINE_MULTIARCH,foreign)' install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): REAL_VERSION = $(ABINAME)$(LOCALVERSION) install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): PACKAGE_NAME = linux-image-$(REAL_VERSION) @@ -501,6 +505,6 @@ install-source: $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2 $(foreach F dh_testdir dh_testroot dh_install '$^' /usr/src - +$(MAKE_SELF) install-base + +$(MAKE_SELF) install-base GENCONTROL_ARGS='$(call DEFINE_MULTIARCH,foreign)' # vim: filetype=make diff --git a/debian/templates/control.libc-dev.in b/debian/templates/control.libc-dev.in index 542f9f03b..8e0b7d70d 100644 --- a/debian/templates/control.libc-dev.in +++ b/debian/templates/control.libc-dev.in @@ -4,7 +4,7 @@ Depends: ${misc:Depends} Provides: linux-kernel-headers Replaces: linux-kernel-headers Conflicts: linux-kernel-headers -Multi-Arch: ${linux-libc-dev:Multi-Arch} +Multi-Arch: ${linux:Multi-Arch} Description: Linux support headers for userspace development This package provides userspaces headers from the Linux kernel. These headers - are used by the installed headers for GNU glibc and other system libraries. + are used by the installed headers for GNU libc and other system libraries. diff --git a/debian/templates/control.main.in b/debian/templates/control.main.in index aa5328200..6a2308406 100644 --- a/debian/templates/control.main.in +++ b/debian/templates/control.main.in @@ -5,6 +5,7 @@ Provides: linux-source Depends: binutils, bzip2, ${misc:Depends} Recommends: libc6-dev | libc-dev, gcc, make Suggests: libncurses-dev | ncurses-dev, libqt4-dev +Multi-Arch: ${linux:Multi-Arch} Description: Linux kernel source for version @version@ with Debian patches This package provides source code for the Linux kernel version @version@. This source closely tracks official Linux kernel releases. Debian's @@ -16,6 +17,7 @@ Package: linux-doc-@version@ Architecture: all Depends: ${misc:Depends} Section: doc +Multi-Arch: ${linux:Multi-Arch} Description: Linux kernel specific documentation for version @version@ This package provides the various README files and HTML documentation for the Linux kernel version @version@. Plenty of information, including the @@ -31,6 +33,7 @@ Section: doc Provides: linux-manual Conflicts: linux-manual Replaces: linux-manual +Multi-Arch: ${linux:Multi-Arch} Description: Linux kernel API manual pages for version @version@ This package provides the Kernel Hacker's Guide in the form of manual pages, describing the kernel API functions. They @@ -45,6 +48,7 @@ Package: linux-support-@abiname@ Architecture: all Section: devel Depends: ${python:Depends}, ${misc:Depends} +Multi-Arch: ${linux:Multi-Arch} Description: Support files for Linux @upstreamversion@ This package provides support files for the Linux kernel build, e.g. scripts to handle ABI information and for generation of