--- dkms-2.1.1.0.orig/debian/preinst +++ dkms-2.1.1.0/debian/preinst @@ -0,0 +1,29 @@ +#!/bin/sh -e + +# snippet from http://www.dpkg.org/dpkg/ConffileHandling + +# Remove a no-longer used conffile +rm_conffile() { + PKGNAME="$1" + CONFFILE="$2" + if [ -e "$CONFFILE" ]; then + md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`" + old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE '{s/ obsolete$//;s/.* //p}\"`" + if [ "$md5sum" != "$old_md5sum" ]; then + echo "Obsolete conffile $CONFFILE has been modified by you." + echo "Saving as $CONFFILE.dpkg-bak ..." + mv -f "$CONFFILE" "$CONFFILE".dpkg-bak + else + echo "Removing obsolete conffile $CONFFILE ..." + rm -f "$CONFFILE" + fi + fi +} + +case "$1" in +install|upgrade) + if dpkg --compare-versions "$2" le "2.1.00.0-1"; then + rm_conffile dkms "/etc/dkms/template-dkms-mkdeb/debian/postrm" + fi +esac + --- dkms-2.1.1.0.orig/debian/examples +++ dkms-2.1.1.0/debian/examples @@ -0,0 +1,4 @@ +sample.conf +sample.spec +sample-suse-10-mkkmp.spec +sample-suse-9-mkkmp.spec --- dkms-2.1.1.0.orig/debian/copyright +++ dkms-2.1.1.0/debian/copyright @@ -0,0 +1,24 @@ +Source: http://linux.dell.com/dkms/ + +Files: debian/HOWTO.Debian +Copyright: © 2008, Dell, Inc. + Mario Limonciello +License: GPL-2+ + This package 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; either version 2 of the License, or + (at your option) any later version. + +Files: debian/* +Copyright: © 2008-2009, David Paleino + © 2005-2008, Matt Domsch + © 2008-2009, Mario Limonciello + © 2008-2009, Giuseppe Iuculano +License: GPL-2+ + +Files: * +Copyright: © 2003-2009, Dell, Inc. +License: GPL-2+ + +On Debian systems, the complete text of the GNU General +Public License v2 can be found in `/usr/share/common-licenses/GPL-2'. --- dkms-2.1.1.0.orig/debian/compat +++ dkms-2.1.1.0/debian/compat @@ -0,0 +1 @@ +7 --- dkms-2.1.1.0.orig/debian/postinst +++ dkms-2.1.1.0/debian/postinst @@ -0,0 +1,33 @@ +#!/bin/sh + +set -e + +if dpkg --compare-versions "$2" lt-nl "2.0.21.1-1~" ; then + if [ -e "/etc/modprobe.d/dkms" ]; then + md5sum=$(md5sum /etc/modprobe.d/dkms | sed -e 's/ .*//') + old_md5sum=$(dpkg-query -W -f='${Conffiles}' dkms | \ + sed -n -e "\' /etc/modprobe.d/dkms ' { s/ obsolete$//; s/.* //; p }") + if [ "$md5sum" = "$old_md5sum" ]; then + rm -f /etc/modprobe.d/dkms + else + echo "Moving /etc/modprobe.d/dkms to /etc/modprobe.d/dkms.conf ..." + mv /etc/modprobe.d/dkms /etc/modprobe.d/dkms.conf + rm -f /etc/modprobe.d/dkms + fi + fi + + if [ -e "/etc/kernel/header_postinst.d/dkms" ]; then + md5sum=$(md5sum /etc/kernel/header_postinst.d/dkms | sed -e 's/ .*//') + old_md5sum=$(dpkg-query -W -f='${Conffiles}' dkms | \ + sed -n -e "\' /etc/kernel/header_postinst.d/dkms ' { s/ obsolete$//; s/.* //; p }") + if [ "$md5sum" = "$old_md5sum" ]; then + echo "Removing obsolete conffile /etc/kernel/header_postinst.d/dkms ..." + rm -f /etc/kernel/header_postinst.d/dkms + rmdir --ignore-fail-on-non-empty /etc/kernel/header_postinst.d/ + fi + fi + # must do a remove first to un-do the "bad" links created by previous version + update-rc.d -f dkms_autoinstaller remove >/dev/null 2>&1 +fi + +#DEBHELPER# --- dkms-2.1.1.0.orig/debian/changelog +++ dkms-2.1.1.0/debian/changelog @@ -0,0 +1,284 @@ +dkms (2.1.1.0-0ubuntu1) lucid; urgency=low + + [ Mario Limonciello ] + * New upstream version + * dkms_autoinstall: Minor logic cleanups from submitted patches. + * dkms_autoinstall: Run under dash since dkms.conf isn't sourced anymore. + * dkms_autoinstall: Whitespace cleanup. + * Convert DKMS to an upstart script that starts up before GDM or KDM can + start. This ensures that drivers are built before X tries to start. + (LP: #453365) + * dkms_autoinstall: Rather than having if/else clauses all over the script, + stub out any functions that aren't provided on Debian/Ubuntu when + /etc/debian_version isn't present. + * dkms_autoinstall: Exit immediately if this script is present but DKMS + isn't anymore rather than sourcing functions and then exiting. + * kernel_postinst.d_dkms: Launch the upstart script instead. In the process + all output will be going to /var/log/dkms_autoinstaller (LP: #292606) + * dkms_autoinstall: Don't ever output to stdout, even with kernel parameters. + * dkms_autoinstall: Don't log the situation that we already have everything + installed that needs to be. + * dkms_autoinstall: Rather than logging to /var/log/dkms_autoinstaller, + use logger to log to syslog during build and install. + * dkms_autoinstall: Clean up the method to get arch. These hacks shouldn't + be necessary. If you have problems with them gone, file a bug and we'll + fix them more cleanly. + * dkms_autoinstall: Notate the kernel we are building a module against + when building it. + * debian/rules: Don't attempt to stop DKMS on upgrades. It's a task, not + a daemon, so stop wouldn't do anything. + * Makefile: Install the old initscript to /usr/lib so that different distros + can migrate to upstart at their leisure. + * Makefile: Move any debian specific calls into the Makefile. + * dkms: Revert the code that runs DKMS as the user "nobody". + - It's causing problems with people with nonstandard PAM configs because it + uses "su". (LP: #484725) + - Also people have reported that nothing should be owned by 'nobody' per + Debian & Ubuntu policy. This could have been fixed by creating a DKMS + user, but that still wouldn't solve the problems with using 'su'. + * dkms: Emit built-module MODULE=foo if initctl is available on the system + after done building a module. + * Add a special apport package-hook for when package builds fail to try + to report them against the package providing that DKMS package. + (LP: #484871) + + [ Alberto Milone ] + * dkms_common.postinst: try to build the module for the most recent + kernel in addition to building it for the current kernel (LP: #474917). + + [ Steve Langasek ] + * dkms_autoinstall: optimize with a single find call instead of multiple + loops with ls. (LP: 3484386) + * dkms_autoinstall: drop localization of the usage message - this is + inconsistent with all other init scripts on the system. + + [ Pauli Virtanen ] + * Remove dependence from environment's umask and certain environment + variables. (LP: #438393, #436039) + + [ Giuseppe Iuculano ] + * dkms_autoinstall: Correct the provides in the LSB block. + + [ David Paleino ] + * dkms: improve error message, and add Debian/Ubuntu specific suggestion. + + -- Mario Limonciello Fri, 21 Aug 2009 15:49:58 -0500 + +dkms (2.0.22.0-1) unstable; urgency=low + + * [023618e] Imported Upstream version 2.0.22.0 + * [d6e0b15] Deleted patches merged in upstream: 01-fix_manpage.patch + 02-fix_distribution.patch 04-use_su-to-root.patch 05- + do_not_check_admin_group.patch 06-fakeroot.patch 07-exit-if-build- + fails.patch 09-lilo_detection.patch 10-lsb.patch 11-bash- + completion.patch 12-use_invoke-rc.d.patch 13-template.patch + 14_new_module-init-tools.patch 08-support_kernel-img.conf.patch + * [c5b7822] debian/patches/15_modprobe.patch: do not create an empty + /etc/modprobe.d/package_name.conf. It is opened and parsed every + time modprobe is run (and it is run very often at boot time). Create + it only if necessary. + * [3731c00] debian/patches/08-support_kernel-img.conf.patch: Use + update-initramfs, it is the default in Debian/Ubuntu and it also computes + and stores some checksums. (Closes: #529038) + * [f4a197f] debian/patches/16_old_module.patch: Do not move away the old + module, by default dkms install the new one in + /lib/modules//updates/dkms (Closes: #529059) + * [db7ffe7] debian/patches/01_kernel_postinst.patch: shut up "which" in the + the kernel kernel_postinst.d script, only the exit code is needed. + + -- Giuseppe Iuculano Fri, 05 Jun 2009 22:00:35 +0200 + +dkms (2.0.21.1-1) unstable; urgency=low + + * [bcda131] Imported Upstream version 2.0.21.1 + * [487ad26] debian/patches/13-template.patch: + Updated template-dkms-mkdeb Changes: + - Bump to debhelper 7 compatibility levels + - Updated to standards version 3.8.1 + - Use Dynamic Kernel Modules Support Team as maintainer field + - Remove bash and add ${misc:Depends} in Depends + - Use dh_prep instead of dh_clean -k + * [c75e860] Updated to standards version 3.8.1 (No changes needed) + * [0d14f3e] Update dkms to check for /etc/modprobe.d/dkms.conf, + dh_installmodules now gives files in /etc/modprobe.d a .conf syntax, + as required by new module-init-tools. + * [ceff6d3] Move to kernel section as by ftpmasters override + * [aa84c76] debian/control: Fix VCS-Browser field + * [6cd45ec] debian/patches/15_modprobe.patch: Do not install + /etc/modprobe.d/dkms, it only contains comments and is opened and + parsed every time modprobe is run (and it is run very often at boot + time). Use instead (and create if necessary) + /etc/modprobe.d/package_name.conf. (Closes: #525379) + * [171907c] debian/postinst: if /etc/modprobe.d/dkms is modified, put + its content in /etc/modprobe.d/dkms.conf and remove it. + * [426868b] update debian/copyright to add Giuseppe Iuculano to + copyright on debian/* + * [1ffb2cd] Removed 03-use-new-header_postinst.d_directory.patch, + /etc/kernel/header_postinst.d is used only by kernel-package. dkms + must use /etc/kernel/postinst.d/ directory. + * [eff2f3e] debian/control: demoted linux-headers and linux-image in + Recommends, removed kernel-package and build-essential from Depends, + and added only gcc and make. + * [508c115] debian/postinst: Remove also + /etc/kernel/header_postinst.d/dkms and do an init script remove to + un-do the "bad" links created by previous version + + [ Mario Limonciello ] + * [848d7f9] update debian/copyright to add Mario Limonciello to + copyright on debian/* + * [791fc37] Update debian/rules to only run DKMS on the startup + targets. This change was proposed from Ubuntu some time back as DKMS + doesn't do anything on shutdown. + + + -- Giuseppe Iuculano Mon, 04 May 2009 09:55:18 +0200 + +dkms (2.0.21.0-1) unstable; urgency=low + + * [0c2c36b] New Upstream version 2.0.21.0 + * First Debian release (Closes: #481590) + * [6723982] debian/patches/: Refreshed patches, and deleted + 03-remove_dkms_lib_directory_if_empty.patch (now it is in upstream) + * [592acec] debian/patches/04-use_su-to-root.patch: Do not test for $DISPLAY + as su-to-root does not require an X display + * [22d2ce2] debian/patches/09-lilo_detection.patch: grep for + do_bootloader instead of postinst_hook + * [b910eb3] debian/patches/03-use-new- + header_postinst.d_directory.patch: Use new + /etc/kernel/header_postinst.d directory introduced in kernel-package + 11.017 + * [f59cc66] debian/control: Add kernel-package (>= 11.017) in Depends + * [6ebb0c4] Removed debian/postinst and debian/prerm + + -- Giuseppe Iuculano Mon, 16 Feb 2009 11:06:58 +0100 + +dkms (2.0.20.4-1) unstable; urgency=low + + [ David Paleino ] + * debian/control: + - using new Homepage field in source stanza + - setting team as Maintainer + - adding myself and Mario Limonciello as Uploaders + - removed awk and bash dependencies: they are "essential" (de facto) + packages (LP: #314774) + - DM-Upload-Allowed set + - added menu|sudo to Recommends + * debian/copyright: + - updated to machine-readable format + - clarified license for debian/HOWTO.Debian + * debian/compat bumped to 7 + * debian/docs: + - sample.{conf,spec} moved to debian/examples + * debian/rules updated + * debian/patches/01-fix_manpage.patch added, to fix hyphen-used-as-minus-sign + lintian warning + * debian/postinst added + * debian/HOWTO.Debian from Ubuntu package added + * debian/modprobe added + * debian/prerm: + - use sed instead of tricky grep hack + - always do the default thing + * added get-svn-source to debian/rules + * debian/patches/08-use_update-initramfs.patch: updated to parse + /etc/kernel-img.conf + * debian/patches/11-bash-completion.patch: + - better usage of bash builtins + - _filename_parts(): fix wrong behaviour when /usr/src/ is a symlink + - added patch description + + [ Giuseppe Iuculano ] + * Added myself as Uploader + * Standards-Version bumped to 3.8.0 + - Add debian/README.source to document quilt usage + * debian/prerm: quiet grep, do not write anything to standard output. + * debian/rules: + - remove some pointless blank lines + - fix dh-clean-k-is-deprecated lintian warning, use dh_prep instead of + dh_clean -k + * debian/patches/03-remove_dkms_lib_directory_if_empty.patch: Merge from + Ubuntu, ensure that the /lib/modules//updates/dkms directory is + removed if it is empty after a removal. This allows the modules directory + to be removed as it becomes empty. + * debian/patches/04-use_su-to-root.patch: Use su-to-root if available + * debian/patches/05-do_not_check_admin_group.patch: + - Do not check for admin group, this isn't a Debian standard group. + - added a g modifier to replace all underscores in function make_debian() + * debian/patches/06-fakeroot.patch: Do not use fakeroot for source- + only build, and use -rfakeroot for binary build + * debian/patches/07-exit-if-build-fails.patch: Fix exit when build + fails + * debian/patches/08-support_kernel-img.conf.patch: Use update-initramfs + if ramdisk value in /etc/kernel-img.conf is missing + * debian/patches/09-lilo_detection.patch: check /etc/kernel-img.conf + to find if user is using grub + * debian/patches/10-lsb.patch: + - /etc/lsb-release is not present in Debian, so run run lsb_release + - Added Debian as known distro in override_dest_module_location() + * debian/control: + - Added lsb-release in Recommends + - Updated VCS control field + - Added build-essential in Depends (LP: #304014), + Removed ${shlibs:Depends} from Depends and removed make, dpkg-dev and + gcc from Recommends + * debian/patches/11-bash-completion.patch: Improve bash-completion + support (Origin Mandriva) + * debian/patches/01-fix_manpage.patch: fix wrong path into man page + (LP: #292289) + * debian/patches/12-use_invoke-rc.d.patch: Use invoke-rc.d in + kernel_postinst.d_dkms and fix script-calls-init-script-directly lintian + warning + + -- Giuseppe Iuculano Thu, 08 Jan 2009 15:01:39 +0100 + +dkms (2.0.19-0ubuntu2) hardy; urgency=low + + * Depend on awk instead of gawk. All variants of awk provide the + currently required functionality. + + -- Mario Limonciello Wed, 26 Mar 2008 16:51:33 -0500 + +dkms (2.0.19-0ubuntu1) hardy; urgency=low + + * New upstream version. + - Fixes appending date to debian/changelog in mkdeb. + + -- Mario Limonciello Wed, 26 Mar 2008 10:46:52 -0500 + +dkms (2.0.17.6-0ubuntu1) hardy; urgency=low + + [ Matt Domsch ] + * Correct kernel uninstall trigger (LP: #192240) + * Call udevadm trigger if present, fall back to udevtrigger (LP: #192241) + * Fix uninstallation with weak modules (Red Hat BZ#429410) + * debian/control: + - Update standards version to 3.7.3 + - Add Vcs-git repository. + + -- Mario Limonciello Mon, 18 Feb 2008 09:40:18 -0600 + +dkms (2.0.17.4-0ubuntu4) hardy; urgency=low + + * Fix -x call. + + -- Scott James Remnant Fri, 14 Dec 2007 16:52:51 +0000 + +dkms (2.0.17.4-0ubuntu3) hardy; urgency=low + + * dkms: call udevadm instead of udevtrigger + + -- Scott James Remnant Fri, 14 Dec 2007 16:15:13 +0000 + +dkms (2.0.17.5-0ubuntu1) hardy; urgency=low + + * Correct DKMS file install/uninstall problems (LP: #151644) + - call udevtrigger if we install a module for the currently running kernel + - uninstall from /extra before DEST_MODULE_LOCATION + - Run depmod after uninstall + + -- Matt Domsch Mon, 10 Oct 2007 16:50:00 -0500 + +dkms (2.0.17.4-0ubuntu1) gutsy; urgency=low + + * initial debian packaging for Ubuntu (LP: #121676) + + -- Matt Domsch Mon, 17 Sep 2007 09:58:46 -0500 --- dkms-2.1.1.0.orig/debian/watch +++ dkms-2.1.1.0/debian/watch @@ -0,0 +1,3 @@ +version=3 + +http://linux.dell.com/dkms/permalink/dkms-(.*)\.tar\.gz --- dkms-2.1.1.0.orig/debian/README.source +++ dkms-2.1.1.0/debian/README.source @@ -0,0 +1,5 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +See /usr/share/doc/quilt/README.source for a detailed explanation. --- dkms-2.1.1.0.orig/debian/modprobe +++ dkms-2.1.1.0/debian/modprobe @@ -0,0 +1,4 @@ +# modprobe information used for DKMS modules +# +# This is a stub file, should be edited when needed, +# used by default by DKMS. --- dkms-2.1.1.0.orig/debian/rules +++ dkms-2.1.1.0/debian/rules @@ -0,0 +1,61 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +CURVER = $(shell dpkg-parsechangelog | grep ^Version | cut -d" " -f2 | cut -d"-" -f1 ) + +include /usr/share/quilt/quilt.make + +build: build-stamp +build-stamp: $(QUILT_STAMPFN) + dh_testdir + touch $@ + +clean: unpatch + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + [ ! -f Makefile ] || $(MAKE) clean-dpkg + dh_clean + +install: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + $(MAKE) install-debian DESTDIR=$(CURDIR)/debian/dkms + +binary-arch: build install +binary-indep: build install + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs AUTHORS debian/HOWTO.Debian + dh_installexamples + dh_installinit -r --name dkms_autoinstaller --update-rcd-params="start 20 2 3 4 5 ." + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep + +get-orig-source: + uscan \ + --force-download \ + --download-version $(CURVER) \ + --rename + +get-svn-source: + [ -d ../tarballs ] || mkdir ../tarballs + cd ../tarballs && make -f $(CURDIR)/debian/rules get-orig-source + +.PHONY: build clean binary-indep binary-arch binary install --- dkms-2.1.1.0.orig/debian/HOWTO.Debian +++ dkms-2.1.1.0/debian/HOWTO.Debian @@ -0,0 +1,40 @@ +HOWTO Build DKMS debs w/ Debian & Ubuntu systems +Copyright 2008 Dell Inc. + Author: Mario Limonciello + +------------ + +A dkms deb is a common representation of a DKMS package that can be distributed across multiple machines. +After you have a functional DKMS package, you can follow these steps to build a DKMS deb. + +1) Start out by putting together a tree in /usr/src/PACKAGE-VERSION. For our example, we are going to use +the PACKAGE lirc and VERSION 0.8.3~pre1. Create a dkms.conf per the recommendations in the DKMS guide. + +2) "Add" the package to the dkms tree system: + dkms add -m lirc -v 0.8.3~pre1 + +3) "Build" the binary modules for the current kernel: + dkms build -m lirc -v 0.8.3~pre1 + +4) Make the deb and/or dsc for the package: + dkms mkdeb -m lirc -v 0.8.3~pre1 + dkms mkdsc -m lirc -v 0.8.3~pre1 + +The end result will be a deb and/or dsc in /var/lib/dkms/lirc/0.8.3~pre1/deb or /var/lib/dkms/lirc/0.8.3~pre1/dsc + +------------ +If you would prefer not to contaminate your system with the changes from building these debs, you should +create a framework.conf that contains these variables (adjust for your use case): + + source_tree="/path/to/source/tree" + dkms_tree="/path/to/dkms/tree" + +You will then call DKMS with an extra variable, '--dkmsframework'. Here is an example of how this would work +using the same lirc example above: + + dkms add -m lirc -v 0.8.3~pre1 --dkmsframework framework.conf + dkms build -m lirc -v 0.8.3~pre1 --dkmsframework framework.conf + dkms mkdeb -m lirc -v 0.8.3~pre1 --dkmsframework framework.conf + dkms mkdsc -m lirc -v 0.8.3~pre1 --dkmsframework framework.conf + +The end result will be both a debian binary package and a debian source package that you can use. --- dkms-2.1.1.0.orig/debian/control +++ dkms-2.1.1.0/debian/control @@ -0,0 +1,28 @@ +Source: dkms +Section: kernel +Priority: optional +Maintainer: Dynamic Kernel Modules Support Team +Uploaders: David Paleino , + Mario Limonciello , + Giuseppe Iuculano +Build-Depends: debhelper (>= 7), quilt +Standards-Version: 3.8.3 +Homepage: http://linux.dell.com/dkms +Vcs-Git: http://linux.dell.com/git/dkms.git +Vcs-Browser: http://linux.dell.com/git/dkms.git + +Package: dkms +Architecture: all +Depends: ${misc:Depends}, module-init-tools, + gcc, + make | build-essential | dpkg-dev +Recommends: patch, + fakeroot, + lsb-release, + menu | sudo, + linux-headers-2.6-686 | linux-headers-2.6-amd64 | linux-headers-generic | linux-headers, + linux-image +Description: Dynamic Kernel Module Support Framework + DKMS is a framework designed to allow individual kernel modules to be upgraded + without changing the whole kernel. It is also very easy to rebuild modules as + you upgrade kernels.