But there is another bug: The following line reads `[ -z $kernels_module
] || return 0`

Previously the related section was:

    if [ -z $kernels_module ]; then
        # Magic split into array syntax saves trivial awk and cut calls.
        local -a obs=(${3//-/ })
        local -a my=(${1//-/ })
        local obsolete=0
        if [[ ${obs} && ${my} ]]; then
            if [[ $(VER ${obs}) == $(VER ${my}) && ! $force ]]; then
                # They get obsoleted possibly in this kernel release
                if [[ ! ${obs[1]} ]]; then
                    # They were obsoleted in this upstream kernel
                    obsolete=1
                elif [[ $(VER ${my[1]}) > $(VER ${obs[1]}) ]]; then
                    # They were obsoleted in an earlier ABI bump of the kernel
                    obsolete=1
                elif [[ $(VER ${my[1]}) = $(VER ${obs[1]}) ]]; then
                    # They were obsoleted in this ABI bump of the kernel
                    obsolete=1
                fi
            elif [[ $(VER ${my}) > $(VER ${obs}) && ! $force ]]; then
                # They were obsoleted in an earlier kernel release
                obsolete=1
            fi
        fi

        if ((obsolete == 1)); then
            echo $"" >&2
            echo $"Module has been obsoleted due to being included" >&2
            echo $"in kernel $3.  We will avoid installing" >&2
            echo $"for future kernels above $3." >&2
            echo $"You may override by specifying --force." >&2
            return 1
  else
          return 0
        fi
    fi

See that misformatted `else`? This probably tricked the patch author.
Essence is: If `[ -z $kernels_module ]` then either return with 1 or 0
depending on `obsolete`.

The correct line would hence be: `[ -z $kernels_module ] && return 0`

** Also affects: dkms
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to dkms in Ubuntu.
https://bugs.launchpad.net/bugs/1838245

Title:
  dkms script is missing function find_module

Status in DKMS:
  New
Status in dkms package in Ubuntu:
  New

Bug description:
  Building a kernel module using dkms in Linux Mint 19.1 shows the
  following error:

  Running module version sanity check.
  /usr/sbin/dkms: Zeile 784: find_module: Befehl nicht gefunden
  modinfo: ERROR: missing module or filename.

  Checking the file the function is indeed missing and another user
  confirmed, that it was removed at some point:
  https://github.com/linuxmint/linuxmint/issues/142

  Possible solution: Readd

  find_module()
  {
      # tree = $1
      # module = $2
      find "$1" -name "$2$module_uncompressed_suffix" -o -name 
"$2$module_suffix" -type f
      return $?
  }

  as found in https://github.com/dell/dkms/blob/master/dkms

To manage notifications about this bug go to:
https://bugs.launchpad.net/dkms/+bug/1838245/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to