From de8785d5ba81811395ba5abb5b4a35fb4c2cbd30 Mon Sep 17 00:00:00 2001 From: Denis Knauf Date: Sat, 20 Apr 2013 21:40:45 +0200 Subject: [PATCH] linux-update.rb update: tries to determine sources version name and compile version. --- linux-update.rb | 13 +++++++++---- postinst.d/10-nvidia-drivers | 12 +++++------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/linux-update.rb b/linux-update.rb index f0261b7..988663a 100755 --- a/linux-update.rb +++ b/linux-update.rb @@ -222,7 +222,7 @@ module LinuxUpdate end attr_reader :releases_uri, :sources_base_dir, :cache_dir ReleasesURI = 'https://www.kernel.org/releases.json' - SourcesBaseDir = '/usr/src' + SourcesBaseDir = '/usr/src/linux' CacheDir = '/var/cache/linux-update' def releases_uri=( uri) @releases_uri = URI.parse uri.to_s end @@ -288,7 +288,7 @@ module LinuxUpdate def _download uri, file dest = Pathname.new "#{file}.download" - info "Download #{uri} => #{tarball}" + info "Download #{uri} => #{file}" if true raise DownloadFailed, uri unless Kernel.system( 'wget', '-c', '-O', dest.to_s, uri.to_s) else @@ -317,6 +317,8 @@ module LinuxUpdate end end + # returns tarballs-filename (e.g. linux-3.1.0.tar.xz) + # unpack-path will be @sources_base_dir, but sources dir is unknown. def download release_or_uri uri = case release_or_uri @@ -329,6 +331,7 @@ module LinuxUpdate tarball = @cache_dir + File.basename( uri.path) _download uri, tarball unless tarball.exist? _unpack tarball, @sources_base_dir + tarball.basename end def oldconfig_prepare version = nil, config = nil @@ -453,8 +456,10 @@ module LinuxUpdate option :mainline, type: :boolean, aliases: '-m', desc: 'Select mainline versions.' desc 'update [VERSION]', 'Download, compile and install linux-kernel' def update version = nil - fetch version - all version + tarball = fetch version + /^linux-(.*)\.tar\./ =~ tarball.basename.to_s + # try it with version in tarball's name: + all $1 end no_commands do diff --git a/postinst.d/10-nvidia-drivers b/postinst.d/10-nvidia-drivers index 343d18c..339b9cd 100755 --- a/postinst.d/10-nvidia-drivers +++ b/postinst.d/10-nvidia-drivers @@ -1,13 +1,11 @@ #!/usr/bin/env sh NVDSRC="${NVDSRC:-/usr/src/nvidia-drivers}" -[ -e "$0.disabled" ] && exit 0 +[ -e "${0}.disabled" ] && exit 0 which make >/dev/null 2>&1 || exit 0 -[ -d "$NVDSRC" ] || exit 0 +[ -d "${NVDSRC}" ] || exit 0 V="${1:-`uname -r`}" -SYSSRC="/lib/modules/$V/source" -SYSOUT="/lib/modules/$V/build" -echo Build NVIDIA module... >&2 -cd "$SYSSRC" -exec make -C "$NVDSRC" SYSOUT="$SYSOUT" SYSSRC="$SYSSRC" module-install +echo "Build NVIDIA module..." >&2 +cd "${NVDSRC}" +exec make module-install PWD="${NVDSRC}"