~ubuntu-branches/debian/stretch/dkms/stretch

« back to all changes in this revision

Viewing changes to dkms

  • Committer: Package Import Robot
  • Author(s): Mario Limonciello
  • Date: 2011-12-07 13:21:33 UTC
  • mfrom: (1.1.17)
  • Revision ID: package-import@ubuntu.com-20111207132133-mdaf0yw21dxs9g6q
Tags: 2.2.0.3-1
* [e24a52f] Imported Upstream version 2.2.0.3
* [09da5c7] bump standards version
* [713ebfd] add missing debhelper token to preinst
* [8970435] add versioned build depends for debhelper
* [db4238c] switch to dh7
* [13a34c7] update lintian override for DKMS apport rule

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
 
37
37
# Some important regular expressions.  Requires bash 3 or above.
38
38
# Any poor souls still running bash 2 or older really need an upgrade.
39
 
readonly reserved_tree_names="build|original_module|tarball|driver_disk|rpm|source|kernel"
40
39
readonly y_re='^(Y|y)'
41
40
readonly mv_re='^([^/]*)/(.*)$'
42
41
readonly rh_kernels='(debug|summit|smp|enterprise|bigmem|hugemem|BOOT|vmnix)'
284
283
        invoke_command "$mkinitrd -f $initrd_dir/$initrd $1" "$mkinitrd" background
285
284
    elif [[ -e /etc/SuSE-release || -d /etc/SuSEconfig ]]; then
286
285
        for kernel_file in vmlinuz vmlinux ''; do
287
 
            [[ $kernel_file && -f $initrd_dir ]] && break
 
286
            [[ $kernel_file && -f $initrd_dir/$kernel_file ]] && break
288
287
        done
289
288
        if [[ ! $kernel_file ]]; then
290
289
            error $"Unable to find valid kernel file under " \
997
996
    run_build_script post_add "$post_add"
998
997
 
999
998
    echo $""
1000
 
    echo $"DKMS: add Completed."
 
999
    echo $"DKMS: add completed."
1001
1000
}
1002
1001
 
1003
1002
# Prepare a kernel source or include tree for compiling a module.
1268
1267
    do_build
1269
1268
    clean_build
1270
1269
    echo $""
1271
 
    echo $"DKMS: build Completed."
 
1270
    echo $"DKMS: build completed."
1272
1271
}
1273
1272
 
1274
1273
# Install a previously built module
1417
1416
            $"DKMS: Install Failed (mkinitrd problems).  Module rolled back to built state."
1418
1417
    }
1419
1418
    echo $""
1420
 
    echo $"DKMS: install Completed."
 
1419
    echo $"DKMS: install completed."
1421
1420
}
1422
1421
 
1423
1422
# List each kernel object that has been installed for a particular module.
1436
1435
 
1437
1436
is_module_added() {
1438
1437
    [[ $1 && $2 ]] || return 1
1439
 
    valid_search_tree "$dkms_tree/$1/$2" || return 1
 
1438
    [[ -d $dkms_tree/$1/$2 ]] || return 2
1440
1439
    [[ -L $dkms_tree/$1/$2/source || -d $dkms_tree/$1/$2/source ]];
1441
1440
}
1442
1441
 
1443
1442
is_module_built() {
1444
1443
    [[ $1 && $2 && $3 && $4 ]] || return 1
1445
1444
    local d="$dkms_tree/$1/$2/$3/$4" m=''
1446
 
    valid_search_tree "$d" || return
1447
1445
    [[ -d $d/module ]] || return 1
1448
1446
    read_conf_or_die "$3" "$4" "$dkms_tree/$1/$2/source/dkms.conf"
1449
1447
    for m in "${dest_module_name[@]}"; do
1643
1641
    [[ $was_active && $remake_initrd ]] && do_status $module $module_version | grep -q "installed" && moduleconfig_add "$1"
1644
1642
 
1645
1643
    echo $""
1646
 
    echo $"DKMS: uninstall Completed."
 
1644
    echo $"DKMS: uninstall completed."
1647
1645
}
1648
1646
 
1649
1647
# Check our preconditions, and then let do_install do all the hard work.
1743
1741
    fi
1744
1742
}
1745
1743
 
1746
 
# Test to see if a pathname is a "valid" pathname
1747
 
# to use for searching on.
1748
 
valid_search_tree() {
1749
 
    [[ -d $1 && ! ( $1 =~ $reserved_tree_names ) ]]
1750
 
}
1751
 
 
1752
1744
# Given a kernel object, figure out which DKMS module it is from.
1753
1745
find_module_from_ko()
1754
1746
{
1834
1826
    local ret=1 directory ka k a state oifs="$IFS" IFS=''
1835
1827
    for directory in "$dkms_tree/$1/$2/"${3:-[0-9].*}/${4:-*}; do
1836
1828
        IFS="$oifs"
1837
 
        valid_search_tree "$directory" || continue
1838
1829
        ka="${directory#$dkms_tree/$1/$2/}"
1839
1830
        k="${ka%/*}"
1840
1831
        a="${ka#*/}"
1855
1846
    local oifs="$IFS" IFS='' mv m v directory ret=1
1856
1847
    for directory in "$dkms_tree/"${1:-*}/${2:-*}; do
1857
1848
        IFS="$oifs"
1858
 
        valid_search_tree "$directory" || continue
1859
1849
        mv="${directory#$dkms_tree/}"
1860
1850
        m="${mv%/*}"
1861
1851
        v="${mv#*/}"
2116
2106
    echo $""
2117
2107
    echo $"Disk image location: $image_dir/$image_name"
2118
2108
    echo $""
2119
 
    echo $"DKMS: mkdriverdisk Completed."
 
2109
    echo $"DKMS: mkdriverdisk completed."
2120
2110
}
2121
2111
 
2122
2112
make_driver_disk()
2308
2298
    echo $""
2309
2299
    echo $"Disk image location: $dkms_tree/$module/$module_version/driver_disk/$image_name"
2310
2300
    echo $""
2311
 
    echo $"DKMS: mkdriverdisk Completed."
 
2301
    echo $"DKMS: mkdriverdisk completed."
2312
2302
}
2313
2303
 
2314
2304
make_ubuntu_driver_disk()
2388
2378
   echo $""
2389
2379
   echo $"Disk image location: $dkms_tree/$module/$module_version/driver_disk/$image_name"
2390
2380
   echo $""
2391
 
   echo $"DKMS: mkdriverdisk Completed."
 
2381
   echo $"DKMS: mkdriverdisk completed."
2392
2382
}
2393
2383
 
2394
2384
make_tarball()
2497
2487
        xz) xz -9 "$tarball_dest/$tarball_name";;
2498
2488
    esac
2499
2489
    echo $""
2500
 
    echo $"DKMS: mktarball Completed."
 
2490
    echo $"DKMS: mktarball completed."
2501
2491
}
2502
2492
 
2503
2493
# A tiny helper function to make sure dkms.conf describes a valid package.
2638
2628
    done
2639
2629
 
2640
2630
    echo $""
2641
 
    echo $"DKMS: ldtarball Completed."
 
2631
    echo $"DKMS: ldtarball completed."
2642
2632
    [[ $loc != dkms_binaries_only ]] || [[ -d $source_tree/$module-$module_version ]]
2643
2633
}
2644
2634
 
2730
2720
 
2731
2721
    # Done
2732
2722
    echo $""
2733
 
    echo $"DKMS: match Completed."
 
2723
    echo $"DKMS: match completed."
2734
2724
}
2735
2725
 
2736
2726
make_rpm()
2801
2791
        echo $""
2802
2792
        cat ${temp_dir_name}/rpmbuild.log | grep ^Wrote | sed -e "s:${temp_dir_name}/:${rpm_basedir}/:" -e 's:SRPMS/::' -e 's:RPMS/.*/::'
2803
2793
        echo $""
2804
 
        echo $"DKMS: mkrpm Completed."
 
2794
        echo $"DKMS: mkrpm completed."
2805
2795
    else
2806
2796
        cat ${temp_dir_name}/rpmbuild.log >&2
2807
2797
        die 7 $"There was a problem creating your rpm."
2935
2925
            invoke_command "dpkg-buildpackage -S -us -uc 1>/dev/null" "Building source package" || \
2936
2926
                die 7 $"There was a problem creating your ${create_type}."
2937
2927
            echo $""
2938
 
            echo $"DKMS: mk${create_type} Completed."
 
2928
            echo $"DKMS: mk${create_type} completed."
2939
2929
            invoke_command "mv '$temp_dir/${debian_package}-dkms_${module_version}_source.changes' '$temp_dir/${debian_package}-dkms_${module_version}.dsc' '$temp_dir/${debian_package}-dkms_${module_version}.tar.gz' '$deb_basedir'" "Moving built files to $deb_basedir"
2940
2930
            ;;
2941
2931
        deb)
2942
2932
            invoke_command "dpkg-buildpackage -rfakeroot -d -b -us -uc 1>/dev/null" "Building binary package" || \
2943
2933
                die 7 $"There was a problem creating your ${create_type}."
2944
2934
            echo $""
2945
 
            echo $"DKMS: mk${create_type} Completed."
 
2935
            echo $"DKMS: mk${create_type} completed."
2946
2936
            invoke_command "mv '$temp_dir/${debian_package}-dkms_${module_version}_all.deb' '$deb_basedir'" "Moving built files to $deb_basedir"
2947
2937
            ;;
2948
2938
    esac
3124
3114
        echo $""
3125
3115
        echo $"KMP SRPM location: $RPMS"
3126
3116
        echo $""
3127
 
        echo $"DKMS: mkkmp Completed."
 
3117
        echo $"DKMS: mkkmp completed."
3128
3118
    else
3129
3119
        die 7 $"There was a problem creating your KMP source rpm."
3130
3120
    fi
3141
3131
    # Walk through our list of installed and built modules, and create
3142
3132
    # a list of modules that need to be reinstalled.
3143
3133
    while read status mvka; do
3144
 
        # if it has not been built, do not try and build it now.
3145
 
        [[ $status = added ]] && continue
3146
3134
        IFS='/' read m v k a <<< "$mvka"
3147
3135
        [[ ! $last_m ]] && last_m="$m"
3148
3136
        # If the module is already installed or weak-installed, skip it.
3332
3320
    echo $""
3333
3321
    echo $"Disk image location: $image_dir/$image_name"
3334
3322
    echo $""
3335
 
    echo $"DKMS: mkdriverdisk Completed."
 
3323
    echo $"DKMS: mkdriverdisk completed."
3336
3324
    
3337
3325
    trap > /dev/null 2>&1
3338
3326
}
3424
3412
        --templatekernel*)   read_arg template_kernel "$1" "$2" || shift;;
3425
3413
        -c)                  read_arg conf "$1" "$2" || shift;;
3426
3414
        --quiet|-q)          exec >/dev/null 2>&1;;
3427
 
        --version|-V)        echo $"dkms: 2.2.0.2"
 
3415
        --version|-V)        echo $"dkms: 2.2.0.3"
3428
3416
                             exit 0;;
3429
3417
        --no-prepare-kernel) no_prepare_kernel="no-prepare-kernel";;
3430
3418
        --no-clean-kernel)   no_clean_kernel="no-clean-kernel";;