[Pkg-dkms-maint] dkms 2.0.22.0-1

Ben Hutchings ben at decadent.org.uk
Tue May 19 01:46:52 UTC 2009


On Fri, 2009-05-15 at 23:32 +0200, Giuseppe Iuculano wrote:
> Hi Ben,
> 
> I've prepared a new dkms revision. Actually, this is needed by Ubuntu, Mario
> will ask a sync to ubuntu, and get the two remaining patches upstream.
> 
> Changelog:
> 
> 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
>   * [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
>     mkinitramfs only if ramdisk is not set in /etc/kernel-img.conf.
> 
>  -- Giuseppe Iuculano <giuseppe at iuculano.it>  Fri, 15 May 2009 23:17:28 +0200
> 
> 
> Could you upload it please?

I've reviewed all changes up to:

commit 2fe5bb9e74f34607dcfb46f794abba1ddeb209b6
Author: Giuseppe Iuculano <giuseppe at iuculano.it>
Date:   Mon May 18 22:16:14 2009 +0200

    Updated changelog

I saw a few small problems:

[upstream change to dkms]
> +               echo $"Saving old initrd as $initrd_dir/initrd.img_old-$1"
> +               # we use the same convention as update-initramfs, so that we just
> +               # print the warning once
> +               cp -f "$initrd_dir/initrd.img-$1" "$initrd_dir/initrd.img-$1.bak"
> +               invoke_command "$mkinitrd -o $initrd_dir/initrd.img-$1 $1" "$mkinitrd" background

The name in the messsage doesn't match the name that's actually used
now.

[upstream change to kernel_postinst.d_dkms]
> --- a/kernel_postinst.d_dkms
> +++ b/kernel_postinst.d_dkms
> @@ -3,7 +3,11 @@
>  # We're passed the version of the kernel being installed
>  inst_kern=$1
>  
> -[ -x /etc/init.d/dkms_autoinstaller ] && \
> -  /etc/init.d/dkms_autoinstaller start $inst_kern
> -
> +if [ -x /etc/init.d/dkms_autoinstaller ]; then
> +    if which invoke-rc.d; then
> +        invoke-rc.d dkms_autoinstaller start $inst_kern
> +    else
> +        /etc/init.d/dkms_autoinstaller start $inst_kern
> +    fi
> +fi
>  exit 0

This script should shut up "which" using >&/dev/null, since only the
exit code is wanted.

[16_dpkg-divert.patch]
> --- a/dkms
> +++ b/dkms
> @@ -1258,13 +1258,20 @@ function install_module()
>  	if [ "$module_count" -gt 1 ]; then
>  	    echo $" - Multiple same named modules!"
>  	    echo $"   - $module_count named ${dest_module_name[$count]}$module_suffix in $lib_tree/"
> -	    echo $"   - All instances of this module will now be stored for reference purposes ONLY"
> -	    echo $"   - Storing in $dkms_tree/$module/original_module/${kernelver_array[0]}/${arch_array[0]}/collisions/"
> +	    if ! which dpkg-divert >/dev/null 2>&1 ; then
> +		    echo $"   - All instances of this module will now be stored for reference purposes ONLY"
> +		    echo $"   - Storing in $dkms_tree/$module/original_module/${kernelver_array[0]}/${arch_array[0]}/collisions/"
> +	    fi
>  	    for module_dup in `find $lib_tree -name ${dest_module_name[$count]}$module_suffix -type f`; do
>  		dup_tree=`echo $module_dup | sed "s#^$lib_tree##" | sed "s#${dest_module_name[$count]}$module_suffix##"`
> -		echo $"     - Stored $module_dup"
> -		mkdir -p "$dkms_tree/$module/original_module/${kernelver_array[0]}/${arch_array[0]}/collisions/$dup_tree"
> -		mv -f $module_dup "$dkms_tree/$module/original_module/${kernelver_array[0]}/${arch_array[0]}/collisions/$dup_tree"
> +		if which dpkg-divert >/dev/null 2>&1 ; then
> +			dpkg-divert --add --rename --divert \
> +			"$dkms_tree/$module/original_module/${kernelver_array[0]}/${arch_array[0]}/collisions/$dup_tree/$module_dup"  $module_dup
> +	        else
> +		       echo $"     - Stored $module_dup"
> +		       mkdir -p "$dkms_tree/$module/original_module/${kernelver_array[0]}/${arch_array[0]}/collisions/$dup_tree"
> +		       mv -f $module_dup "$dkms_tree/$module/original_module/${kernelver_array[0]}/${arch_array[0]}/collisions/$dup_tree"
> +	        fi
>  	    done
>  	fi

This is patching only the unusual case where there are several installed
modules with the same name.  You also need to patch the code for the
normal case which is just above this.

Ben.

-- 
Ben Hutchings
For every action, there is an equal and opposite criticism. - Harrison
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-dkms-maint/attachments/20090519/a38e73e6/attachment.pgp>


More information about the Pkg-dkms-maint mailing list