diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/coreos-sources-4.9.9.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/coreos-sources-4.9.9.ebuild index 06ade768e9..3a80592313 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/coreos-sources-4.9.9.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/coreos-sources-4.9.9.ebuild @@ -19,8 +19,6 @@ PATCH_DIR="${FILESDIR}/${KV_MAJOR}.${KV_MINOR}" # applied _after_ a potential patch-${KV}.patch file, present when building a # patchlevel revision. We mustn't apply our patches first, it fails when the # local patches overlap with the upstream patch. - -# in $PATCH_DIR: ls -1 | sed -e 's/^/\t${PATCH_DIR}\//g' -e 's/$/ \\/g' UNIPATCH_LIST=" ${PATCH_DIR}/z0001-Add-secure_modules-call.patch \ ${PATCH_DIR}/z0002-PCI-Lock-down-BAR-access-when-module-security-is-ena.patch \ diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/revbump.sh b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/revbump.sh new file mode 100755 index 0000000000..15c8330ffe --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/revbump.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# Update patches from directory containing `git format-patch` output and +# rename ebuild for new PVR. + +set -e + +new_pvr="$1" +srcdir="$2" + +if [[ -z "${new_pvr}" || -z "${srcdir}" ]]; then + echo "Usage: $0 " + echo "Example: $0 4.9.9-r2 ~/coreos/linux" + exit 2 +fi + +old_ebuild=$(echo coreos-sources-*.ebuild) +new_ebuild="coreos-sources-${new_pvr}.ebuild" + +if [[ "${old_ebuild}" = 'coreos-sources-*.ebuild' ]]; then + echo "Must be run from the coreos-sources directory." + exit 1 +fi +if [[ ! -f "${old_ebuild}" ]]; then + echo "Multiple ebuilds in coreos-sources directory. Aborting." + exit 1 +fi +if [[ "${old_ebuild}" = "${new_ebuild}" ]]; then + echo "New PVR must be different from old one." + exit 1 +fi +if [[ ! -f $(echo "${srcdir}"/0001*.patch) ]]; then + echo "${srcdir} contains no patch files." + exit 1 +fi + +old_kernrelease=$(echo "${old_ebuild}" | cut -f3 -d- | cut -f1-2 -d.) +new_kernrelease=$(echo "${new_pvr}" | cut -f1 -d- | cut -f1-2 -d.) + +awk '{print} /UNIPATCH_LIST/ {exit 0}' "${old_ebuild}" > "${new_ebuild}" + +rm -rf "files/${old_kernrelease}" "files/${new_kernrelease}" +mkdir "files/${new_kernrelease}" +pushd "files/${new_kernrelease}" >/dev/null +mv "${srcdir}"/[0-9]*.patch . +for f in [0-9]*.patch; do + mv "$f" "z$f" +done +ls z[0-9]*.patch | sed -e 's/^/\t${PATCH_DIR}\//g' -e 's/$/ \\/g' >> \ + "../../${new_ebuild}" +popd >/dev/null + +echo '"' >> "${new_ebuild}" +rm "${old_ebuild}"