local prefix="$1"
local pathtorpms=${2:-"${KERNELRPMSBASE}/${lnxmaj}/${DISTRO}/${TARGET_ARCH}"}
- local wanted_kernel="${lnxmaj}${lnxmin}-${lnxrel}"
+ local wanted_kernel="${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}"
local kernel_rpms=$(find_linux_rpm "$prefix" "$pathtorpms")
# call a distro specific hook, if available
if type -p find_linux_rpms-$DISTRO; then
local pathtorpms=${2:-"${KERNELRPMSBASE}/${lnxmaj}/${DISTRO}/${TARGET_ARCH}"}
local found_rpm=""
- local wanted_kernel="${lnxmaj}${lnxmin}-${lnxrel}"
+ local wanted_kernel="${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}"
local ret=1
if [ -d "$pathtorpms" ]; then
local rpm
# try some heuristics
if [ -f /etc/SuSE-release ]; then
name=sles
- version=$(grep ^VERSION /etc/SuSE-release)
- version=${version#*= }
+ version=$(sed -n -e 's/^VERSION = //p' /etc/SuSE-release)
elif [ -f /etc/redhat-release ]; then
#name=$(head -1 /etc/redhat-release)
name=rhel
rhel6) target="2.6-rhel6";;
sles10) target="2.6-sles10";;
sles11) target="$(uname -r | cut -d . -f 1,2)-sles11"
- local PLEV=$(grep PATCHLEVEL /etc/SuSE-release | \
- sed -e 's/.*= *//')
- if [ "$PLEV" = "3" ]; then
- target=${target}sp3
- fi
- ;;
+ local PLEV=$(sed -n -e 's/^PATCHLEVEL = //p' /etc/SuSE-release)
+ if [ "$PLEV" = "3" ]; then
+ target=${target}sp3
+ fi
+ ;;
fc15) target="2.6-fc15";;
fc18) target="3.x-fc18";;
*) fatal 1 "I don't know what distro $distro is.\nEither update autodetect_target() or use the --target argument.";;
local url="$1"
local target="$2"
+ if [ -z "$target" ]; then
+ fatal 1 "fetch_url() called without a target to fetch to"
+ fi
+
+ if [ -d $target ]; then
+ target+="/${url##*/}"
+ fi
+
local rc=0
if which wget >/dev/null 2>&1; then
if ! wget -nv "$url" -O "$target"; then
rc=${PIPESTATUS[0]}
fi
elif which curl >/dev/null 2>&1; then
- if ! curl -L -s -o "$target" "$url"; then
+ if ! curl -n -L -s -o "$target" "$url"; then
rc=${PIPESTATUS[0]}
fi
else
# This function digs out the linux release from a linux-obj tree
find_linux_release() {
- _find_linux_release $LINUXOBJ
+ _find_linux_release $LINUXOBJ
+}
+
+kernel_srpm_location() {
+
+ local PLEV=$(sed -n -e 's/^PATCHLEVEL = //p' /etc/SuSE-release)
+ echo "https://nu.novell.com/repo/\$RCE/SLES11-SP${PLEV}-Updates/sle-11-$(resolve_arch $TARGET_ARCH)/rpm/src/"
+
}
local wanted_kernel="$2"
local pathtorpms=${3:-"${KERNELRPMSBASE}/${lnxmaj}/${DISTRO}/${TARGET_ARCH}"}
- # what, oh what, do we do for sles11?
- # if anyone knows how we get an arbitrary (kernel-source and
- # kernel-default-base in this case) from the Suse update mechanism,
- # please feel free to fix this
-
- fatal 1 "I don't know how to get packages for SLES11"
+ local PLEV=$(sed -n -e 's/^PATCHLEVEL = //p' /etc/SuSE-release)
+ local site="https://nu.novell.com/repo/\$RCE/SLES11-SP${PLEV}-Updates/sle-11-$(resolve_arch $TARGET_ARCH)/rpm/$(resolve_arch $TARGET_ARCH)"
+ case $prefix in
+ -devel)
+ fetch_url "$site/kernel-default-base-$wanted_kernel.$(resolve_arch $TARGET_ARCH).rpm" $pathtorpms
+ fetch_url "$site/kernel-default-devel-$wanted_kernel.$(resolve_arch $TARGET_ARCH).rpm" $pathtorpms
+ echo "kernel-default-devel-$wanted_kernel.$(resolve_arch $TARGET_ARCH).rpm"
+ ;;
+ -source)
+ fetch_url "$site/kernel-source-$wanted_kernel.$(resolve_arch $TARGET_ARCH).rpm" $pathtorpms
+ echo "kernel-source-$wanted_kernel.$(resolve_arch $TARGET_ARCH).rpm"
+ ;;
+ esac
return 0