Index: kernel-2.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/kernel-2.eclass,v --- kernel-2.eclass 9 Mar 2013 21:05:50 -0000 1.279 +++ kernel-2.eclass 19 Mar 2013 11:55:28 -0000 @@ -55,6 +55,9 @@ # K_LONGTERM - If set, the eclass will search for the kernel source # in the long term directories on the upstream servers # as the location has been changed by upstream +# K_TARBALL_EXT - If set, the default kernel sources and genpatches tarball extension will +# be overridden by K_TARBALL_EXT. You can set it to something +# like "gz" or "bz2". # H_SUPPORTEDARCH - this should be a space separated list of ARCH's which # can be supported by the headers ebuild @@ -96,6 +99,10 @@ # set LINUX_HOSTCFLAGS if not already set : ${LINUX_HOSTCFLAGS:="-Wall -Wstrict-prototypes -Os -fomit-frame-pointer -I${S}/include"} +# set K_TARBALL_EXT to "xz" if not already set. +# See bug #421721 +: ${K_TARBALL_EXT:="xz"} + # debugging functions #============================================================== # this function exists only to help debug kernel-2.eclass @@ -121,18 +128,18 @@ # for > 3.0 kernels, handle genpatches tarball name # genpatches for 3.0 and 3.0.1 might be named - # genpatches-3.0-1.base.tar.xz and genpatches-3.0-2.base.tar.xz + # genpatches-3.0-1.base.tar.${K_TARBALL_EXT} and genpatches-3.0-2.base.tar.${K_TARBALL_EXT} # respectively. Handle this. for i in ${K_WANT_GENPATCHES} ; do if [[ ${KV_MAJOR} -ge 3 ]]; then if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then - tarball="genpatches-${KV_MAJOR}.${KV_MINOR}-${K_GENPATCHES_VER}.${i}.tar.xz" + tarball="genpatches-${KV_MAJOR}.${KV_MINOR}-${K_GENPATCHES_VER}.${i}.tar.${K_TARBALL_EXT}" else - tarball="genpatches-${KV_MAJOR}.${KV_PATCH}-${K_GENPATCHES_VER}.${i}.tar.xz" + tarball="genpatches-${KV_MAJOR}.${KV_PATCH}-${K_GENPATCHES_VER}.${i}.tar.${K_TARBALL_EXT}" fi else - tarball="genpatches-${OKV}-${K_GENPATCHES_VER}.${i}.tar.xz" + tarball="genpatches-${OKV}-${K_GENPATCHES_VER}.${i}.tar.${K_TARBALL_EXT}" fi debug-print "genpatches tarball: $tarball" GENPATCHES_URI="${GENPATCHES_URI} mirror://gentoo/${tarball}" @@ -232,12 +239,12 @@ if [[ ${#OKV_ARRAY[@]} -ge 3 ]] && [[ ${KV_MAJOR} -ge 3 ]]; then # handle non genpatch using sources correctly if [[ -z ${K_WANT_GENPATCHES} && -z ${K_GENPATCHES_VER} && ${KV_PATCH} -gt 0 ]]; then - KERNEL_URI="${KERNEL_BASE_URI}/patch-${OKV}.xz" - UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV}.xz" + KERNEL_URI="${KERNEL_BASE_URI}/patch-${OKV}.${K_TARBALL_EXT}" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV}.${K_TARBALL_EXT}" fi - KERNEL_URI="${KERNEL_URI} ${KERNEL_BASE_URI}/linux-${KV_MAJOR}.${KV_MINOR}.tar.xz" + KERNEL_URI="${KERNEL_URI} ${KERNEL_BASE_URI}/linux-${KV_MAJOR}.${KV_MINOR}.tar.${K_TARBALL_EXT}" else - KERNEL_URI="${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + KERNEL_URI="${KERNEL_BASE_URI}/linux-${OKV}.tar.${K_TARBALL_EXT}" fi RELEASE=${CKV/${OKV}} @@ -291,9 +298,9 @@ else OKV="${KV_MAJOR}.${KV_PATCH}" fi - KERNEL_URI="${KERNEL_BASE_URI}/patch-${CKV}.xz - ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" - UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV}.xz" + KERNEL_URI="${KERNEL_BASE_URI}/patch-${CKV}.${K_TARBALL_EXT} + ${KERNEL_BASE_URI}/linux-${OKV}.tar.${K_TARBALL_EXT}" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV}.${K_TARBALL_EXT}" fi # We need to set this using OKV, but we need to set it before we do any @@ -308,30 +315,30 @@ # for example: # CKV="2.6.11_rc3_pre2" # will pull: - # linux-2.6.10.tar.xz & patch-2.6.11-rc3.xz & patch-2.6.11-rc3-git2.xz + # linux-2.6.10.tar.${K_TARBALL_EXT} & patch-2.6.11-rc3.${K_TARBALL_EXT} & patch-2.6.11-rc3-git2.${K_TARBALL_EXT} if [[ ${KV_MAJOR}${KV_MINOR} -eq 26 ]]; then if [[ ${RELEASETYPE} == -rc ]] || [[ ${RELEASETYPE} == -pre ]]; then OKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_PATCH} - 1))" - KERNEL_URI="${KERNEL_BASE_URI}/testing/patch-${CKV//_/-}.xz - ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" - UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.xz" + KERNEL_URI="${KERNEL_BASE_URI}/testing/patch-${CKV//_/-}.${K_TARBALL_EXT} + ${KERNEL_BASE_URI}/linux-${OKV}.tar.${K_TARBALL_EXT}" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.${K_TARBALL_EXT}" fi if [[ ${RELEASETYPE} == -git ]]; then - KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${OKV}${RELEASE}.xz - ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" - UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${OKV}${RELEASE}.xz" + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${OKV}${RELEASE}.${K_TARBALL_EXT} + ${KERNEL_BASE_URI}/linux-${OKV}.tar.${K_TARBALL_EXT}" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${OKV}${RELEASE}.${K_TARBALL_EXT}" fi if [[ ${RELEASETYPE} == -rc-git ]]; then OKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_PATCH} - 1))" - KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE}.xz - ${KERNEL_BASE_URI}/testing/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE/-git*}.xz - ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE}.${K_TARBALL_EXT} + ${KERNEL_BASE_URI}/testing/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE/-git*}.${K_TARBALL_EXT} + ${KERNEL_BASE_URI}/linux-${OKV}.tar.${K_TARBALL_EXT}" - UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE/-git*}.xz ${DISTDIR}/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE}.xz" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE/-git*}.${K_TARBALL_EXT} ${DISTDIR}/patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${RELEASE}.${K_TARBALL_EXT}" fi else if [[ ${RELEASETYPE} == -rc ]] || [[ ${RELEASETYPE} == -pre ]]; then @@ -341,15 +348,15 @@ KV_PATCH_ARR=(${KV_PATCH//\./ }) OKV="${KV_MAJOR}.$((${KV_PATCH_ARR} - 1))" fi - KERNEL_URI="${KERNEL_BASE_URI}/testing/patch-${CKV//_/-}.xz - ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" - UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.xz" + KERNEL_URI="${KERNEL_BASE_URI}/testing/patch-${CKV//_/-}.${K_TARBALL_EXT} + ${KERNEL_BASE_URI}/linux-${OKV}.tar.${K_TARBALL_EXT}" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${CKV//_/-}.${K_TARBALL_EXT}" fi if [[ ${RELEASETYPE} == -git ]]; then - KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${OKV}${RELEASE}.xz - ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" - UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${OKV}${RELEASE}.xz" + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${OKV}${RELEASE}.${K_TARBALL_EXT} + ${KERNEL_BASE_URI}/linux-${OKV}.tar.${K_TARBALL_EXT}" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${OKV}${RELEASE}.${K_TARBALL_EXT}" fi if [[ ${RELEASETYPE} == -rc-git ]]; then @@ -359,11 +366,11 @@ KV_PATCH_ARR=(${KV_PATCH//\./ }) OKV="${KV_MAJOR}.$((${KV_PATCH_ARR} - 1))" fi - KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.xz - ${KERNEL_BASE_URI}/testing/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.xz - ${KERNEL_BASE_URI}/linux-${OKV}.tar.xz" + KERNEL_URI="${KERNEL_BASE_URI}/snapshots/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.${K_TARBALL_EXT} + ${KERNEL_BASE_URI}/testing/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.${K_TARBALL_EXT} + ${KERNEL_BASE_URI}/linux-${OKV}.tar.${K_TARBALL_EXT}" - UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.xz ${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.xz" + UNIPATCH_LIST_DEFAULT="${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE/-git*}.${K_TARBALL_EXT} ${DISTDIR}/patch-${KV_MAJOR}.${KV_PATCH}${RELEASE}.${K_TARBALL_EXT}" fi @@ -551,9 +558,9 @@ cd "${WORKDIR}" if [[ ${#OKV_ARRAY[@]} -ge 3 ]] && [[ ${KV_MAJOR} -ge 3 ]]; then - unpack linux-${KV_MAJOR}.${KV_MINOR}.tar.xz + unpack linux-${KV_MAJOR}.${KV_MINOR}.tar.${K_TARBALL_EXT} else - unpack linux-${OKV}.tar.xz + unpack linux-${OKV}.tar.${K_TARBALL_EXT} fi if [[ -d "linux" ]]; then