Permalink
Commits on Apr 25, 2018
  1. release new dkms version 2.6.1

    perry_yuan
    perry_yuan committed Apr 25, 2018
Commits on Apr 4, 2018
Commits on Mar 21, 2018
  1. Merge pull request #49 from petermarko/fix/newest-kernel

    scaronni committed Mar 21, 2018
    fix newest kernel calculation
  2. fix newest kernel calculation

    petermarko committed Mar 21, 2018
    In case when the latest kernel is alphabetically first, current code
    fails to identify it and thus dkms will not be compiled for it in case
    of upgrade scenario (when latest is not current yet).
    Example is upgrade 4.9 to 4.14 (Debian Stretch -> Stretch-backports).
    
    Reason is that KERNELS list is determined by ls, which sorts
    alphabetically and 4.14 is alphabetically lower than 4.9.
    Function _get_newest_kernel_debian then takes the first KERNELS entry
    which is newest version as comparison base. Since no version can be
    "greater than" the newest one in proper comparison performed by dpkg,
    NEWEST_KERNEL veriable will be empty and dkms is recompiled only against
    current kernel, not the newest one user is upgrading to.
    
    There are multiple ways how to rewrite this function and I have chosen
    change of comparison condition to "greater or equal to" which will
    evaluate to true in case the version is equal, thus populate
    NEWEST_KERNEL variable with the newest entry.
Commits on Mar 6, 2018
  1. Merge pull request #47 from DIGImend/master

    scaronni committed Mar 6, 2018
    Do not unset local array variable in Bash func
Commits on Feb 12, 2018
  1. Do not unset local array variable in Bash func

    spbnick committed Feb 12, 2018
    Do not unset local array variable to clear it in "get_module_verinfo"
    function in "dkms" script. Assign empty array instead.
    
    When a local variable is "unset" in Bash, it is completely removed, and
    its scope is lost. If a new value is assigned to the same name
    afterwards (and there was no local variable with the same name up the
    stack), a new variable is created, this time with the global scope.
    
    If then a local variable is created with the same name again, it hides
    the global one, and if that is "unset" again, the global one becomes
    visible again.
    
    This is what happens with the "check_version_sanity" and
    "get_module_verinfo" functions in "dkms" script. It works OK, if both
    kernel and installed module have version info, but when there is more
    than one module to process, and a second or later in-kernel module
    ("$kernels_module") lacks any version info in the kernel, the
    "check_version_sanity" function uses the last built module's version
    info instead.
    
    I.e. this is how "check_version_sanity" would work for a module with
    version information in both kernel and dkms build:
    
        # Unset local "res", assign version info to global "res"
        get_module_verinfo $kernels_module; kernels_info=("${res[@]}")
        # Unset global "res", assign version info to global "res"
        get_module_verinfo $dkms_module; dkms_info=("${res[@]}")
    
    This is how "check_version_sanity" would work for a module without
    version information in the kernel, but with version information in the
    module being installed
    
        # Unset local "res", do not assign anything
        get_module_verinfo $kernels_module; kernels_info=("${res[@]}")
        # Unset global "res", if any, assign version info to global "res"
        get_module_verinfo $dkms_module; dkms_info=("${res[@]}")
    
    And for a second invocation of "check_version_sanity" for a similar
    module:
    
        # Unset local "res", do not assign anything
        # This uses the value of global "res" assigned last time
        get_module_verinfo $kernels_module; kernels_info=("${res[@]}")
        # Unset global "res", assign result to global "res"
        get_module_verinfo $dkms_module; dkms_info=("${res[@]}")
Commits on Jan 31, 2018
  1. Propose a few spelling changes

    jeis2497052 authored and superm1 committed Jan 31, 2018
Commits on Jan 25, 2018
  1. Merge pull request #45 from dell/issue-41-fix-version-date

    yuzaipiaofei committed Jan 25, 2018
    Fix version and date in manpage, be consistent with variable replacement
Commits on Jan 24, 2018
  1. Merge pull request #39 from d3matt/compressed_module_support

    scaronni committed Jan 24, 2018
    Compressed module support
Commits on Jan 10, 2018
  1. Merge pull request #43 from m-emelchenkov/master

    yuzaipiaofei committed Jan 10, 2018
    Fix to run under BusyBox shell
Commits on Jan 8, 2018
  1. Fix to run under BusyBox shell

    m-emelchenkov committed Jan 8, 2018
    Fix to run in Alpine Linux (BusyBox)
Commits on Dec 11, 2017
  1. Merge pull request #40 from mseeber/master

    superm1 committed Dec 11, 2017
    Update github link in dkms manpage
Commits on Dec 10, 2017
  1. Update github link in dkms manpage

    mseeber committed Dec 10, 2017
    Signed-off-by: Markus Seeber <markus.seeber@spectralbird.de>
Commits on Nov 30, 2017
  1. Update README.md

    yuzaipiaofei committed Nov 30, 2017
Commits on Nov 28, 2017
  1. uncompressed and compressed modules

    d3matt committed Nov 28, 2017
    * deal with compressed and uncompressed modules existing in tree either from previous versions of dkms or possible manual installs
    * fix default variable check in set_module_suffix
Commits on Nov 27, 2017
  1. support for .gz and .xz compressed modules

    d3matt committed Nov 27, 2017
     * cherry pick 310f45e from git@github.com:tpgxyz/dkms.git
     * apply fixups suggested in PR at #4
     * rework logic a bit for compression and ensure detection is still correct
  2. add support for compressed kernel modules

    tpgxyz authored and d3matt committed Jul 2, 2016
Commits on Oct 13, 2017
  1. Merge pull request #36 from jarnos/patch-2

    yuzaipiaofei committed Oct 13, 2017
    Create .old-dkms backup file only when installing a module
  2. Merge pull request #35 from murraybd/patch-1

    yuzaipiaofei committed Oct 13, 2017
    Run remove_initrd_backup after rebuilding the initrd
Commits on Oct 8, 2017
  1. Create .old-dkms backup file only when installing a module

    jarnos committed Oct 8, 2017
    That way it will not create a backup when uninstalling only to be removed in a remove script.
Commits on Oct 5, 2017
  1. Run remove_initrd_backup after rebuilding the initrd

    murraybd committed Oct 5, 2017
    The removal needs to happen before the dkms uninstall because the uninstall process creates a new initrd.  See here:
    
    Removing linux-image-4.10.0-19-generic (4.10.0-19.21) ...
    Examining /etc/kernel/prerm.d.
    run-parts: executing /etc/kernel/prerm.d/dkms 4.10.0-19-generic /boot/vmlinuz-4.10.0-19-generic
    removed '/boot/initrd.img-4.10.0-19-generic.old-dkms'
    dkms: removing: r8168 8.043.02 (4.10.0-19-generic) (x86_64)
    
    -------- Uninstall Beginning --------
    Module: r8168
    Version: 8.043.02
    Kernel: 4.10.0-19-generic (x86_64)
    -------------------------------------
    
    Status: Before uninstall, this module version was ACTIVE on this kernel.
    
    r8168.ko:
     - Uninstallation
       - Deleting from: /lib/modules/4.10.0-19-generic/updates/dkms/
     - Original module
       - No original module was found for this module on this kernel.
       - Use the dkms install command to reinstall any previous module version.
    
    depmod...
    
    Backing up initrd.img-4.10.0-19-generic to /boot/initrd.img-4.10.0-19-generic.old-dkms
    Making new initrd.img-4.10.0-19-generic
    (If next boot fails, revert to initrd.img-4.10.0-19-generic.old-dkms image)
    update-initramfs...
    
    DKMS: uninstall completed.
    Examining /etc/kernel/postrm.d .
Commits on Sep 26, 2017
  1. Merge pull request #34 from martingalvan/dkms_build_custom_conf

    yuzaipiaofei committed Sep 26, 2017
    dkms build: Don't ignore -c if module is already built
  2. dkms build: Don't ignore -c if module is already built

    martingalvan committed Sep 26, 2017
    Currently, dkms build will always look for dkms.conf in
    $dkms_tree/<module>/<version>/source, even if a custom one was specified
    hrough -c. This is problematic for cases where dkms.conf is located in some
    subdir of the module tree.
    
    This patch changes is_module_built so that it'll first check whether $config
    is set.
Commits on Jun 14, 2017
  1. Merge pull request #24 from vden/fix/show-correct-config-on-error

    yuzaipiaofei committed Jun 14, 2017
    Print correct path to dkms.conf when it was not found
Commits on Jun 8, 2017
Commits on May 25, 2017
  1. Release DKMS V2.4.0

    yuzaipiaofei committed May 25, 2017
Commits on May 22, 2017
  1. Merge pull request #23 from dell/red-hat-cleanups

    jared-dominguez committed May 22, 2017
    Red hat cleanups
Commits on May 19, 2017
  1. Make newly installed modules available immediately

    jwrdegoede authored and scaronni committed May 8, 2017
    Once upon a time dkms used to call udevtrigger to make udev load installed
    modules, so that they became available immediatly to userspace. This was
    removed because udevtrigger has unwanted side effects:
    https://bugzilla.redhat.com/show_bug.cgi?id=454407
    
    But we do really still want to make modules available immediately.
    
    Making the modules available immediately fixes e.g the following:
    1) User does dnf/yum/apt-get update getting a new kernel installed
    2) While still running the previous kernel, the user installs a dkms version
       of the nvidia kernel module through dnf/yum/apt-get
    3) The user boots into the new kernel, the nvidia module gets build but not
       loaded, resulting in the user getting a black screen instead of the
       login-manager
    
    This commit re-implements loading of just built modules for available
    hardware by calling modprobe for the contents of all modalias files under
    /sys/devices. It also calls systemctl restart systemd-modules-load.service
    on systems with that service file to also load any modules loaded that way.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  2. Remove UDEV_TRIGGER documentation

    jwrdegoede authored and scaronni committed May 8, 2017
    The UDEV_TRIGGER feature has been removed for quite a while now,
    but the man page still mentions it, remove it from the manpage.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Commits on Apr 17, 2017
  1. Merge pull request #22 from jarnos/patch-1

    yuzaipiaofei committed Apr 17, 2017
    Remove possible .old-dkms initrd backup