Merge pull request #1020 from MilhouseVH/patch_dir

build: implement PKG_PATCH_DIRS
This commit is contained in:
Lukas Rusak 2016-12-06 10:36:04 -08:00 committed by GitHub
commit 4e3dd4a9e3
26 changed files with 32 additions and 7 deletions

View File

@ -78,6 +78,7 @@ SED="sed -i"
PKG_SHORTDESC="$1 (autogenerated)"
PKG_LONGDESC=""
PKG_IS_ADDON="no"
PKG_PATCH_DIRS=""
if [ -n "$1" ]; then
_PKG_ROOT_NAME=${1%:*}

View File

@ -58,6 +58,7 @@ case "$LINUX" in
*)
PKG_VERSION="4.8.12"
PKG_URL="http://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_PATCH_DIRS="default"
;;
esac

View File

@ -122,29 +122,52 @@ else
PATCH_ARCH="$TARGET_ARCH"
fi
PATCH_DIRS_PKG=""
PATCH_DIRS_PRJ=""
if [ -n "$PKG_PATCH_DIRS" ]; then
for patch_dir in $PKG_PATCH_DIRS; do
[ -d $PKG_DIR/patches/$patch_dir ] && PATCH_DIRS_PKG="$PATCH_DIRS_PKG $PKG_DIR/patches/$patch_dir/*.patch"
[ -d $PROJECT_DIR/$PROJECT/patches/$PKG_NAME/$patch_dir ] && PATCH_DIRS_PRJ="$PATCH_DIRS_PRJ $PROJECT_DIR/$PROJECT/patches/$PKG_NAME/$patch_dir/*.patch"
done
fi
for i in $PKG_DIR/patches/$PKG_NAME-*.patch \
$PKG_DIR/patches/$PATCH_ARCH/$PKG_NAME-*.patch \
$PATCH_DIRS_PKG \
$PKG_DIR/patches/$PKG_VERSION/*.patch \
$PKG_DIR/patches/$PKG_VERSION/$PATCH_ARCH/*.patch \
$PROJECT_DIR/$PROJECT/patches/$PKG_NAME/*.patch \
$PROJECT_DIR/$PROJECT/patches/$PKG_NAME/$PATCH_ARCH/*.patch \
$PATCH_DIRS_PRJ \
$PROJECT_DIR/$PROJECT/patches/$PKG_NAME/$PKG_VERSION/*.patch \
$PROJECT_DIR/$PROJECT/devices/$DEVICE/patches/$PKG_NAME/*.patch; do
if [ $(dirname $i) = "$PKG_DIR/patches" ]; then
thisdir="$(dirname "$i")"
if [ "$thisdir" = "$PKG_DIR/patches" ]; then
PATCH_DESC="(common)"
elif [ $(dirname $i) = "$PKG_DIR/patches/$PATCH_ARCH" ]; then
elif [ "$thisdir" = "$PKG_DIR/patches/$PATCH_ARCH" ]; then
PATCH_DESC="(common - $PATCH_ARCH)"
elif [ $(dirname $i) = "$PKG_DIR/patches/$PKG_VERSION/$PATCH_ARCH" ]; then
elif [ "$thisdir" = "$PKG_DIR/patches/$PKG_VERSION" ]; then
PATCH_DESC="(common - $PKG_VERSION)"
elif [ "$thisdir" = "$PKG_DIR/patches/$PKG_VERSION/$PATCH_ARCH" ]; then
PATCH_DESC="($PKG_VERSION - $PATCH_ARCH)"
elif [ $(dirname $i) = "$PROJECT_DIR/$PROJECT/patches/$PKG_NAME" ]; then
elif [ "$thisdir" = "$PROJECT_DIR/$PROJECT/patches/$PKG_NAME" ]; then
PATCH_DESC="(project)"
elif [ $(dirname $i) = "$PROJECT_DIR/$PROJECT/patches/$PKG_NAME/$PATCH_ARCH" ]; then
elif [ "$thisdir" = "$PROJECT_DIR/$PROJECT/patches/$PKG_NAME/$PATCH_ARCH" ]; then
PATCH_DESC="(project - $PATCH_ARCH)"
elif [ $(dirname $i) = "$PROJECT_DIR/$PROJECT/patches/$PKG_NAME/$PKG_VERSION" ]; then
elif [ "$thisdir" = "$PROJECT_DIR/$PROJECT/patches/$PKG_NAME/$PKG_VERSION" ]; then
PATCH_DESC="(project - $PKG_VERSION)"
elif [ $(dirname $i) = "$PROJECT_DIR/$PROJECT/devices/$DEVICE/patches/$PKG_NAME" ]; then
elif [ "$thisdir" = "$PROJECT_DIR/$PROJECT/devices/$DEVICE/patches/$PKG_NAME" ]; then
PATCH_DESC="(device)"
else
if [[ "$thisdir" =~ ^$PKG_DIR/.* ]]; then
PATCH_DESC="(common - $(basename "$thisdir"))"
elif [[ "$thisdir" =~ ^$PROJECT_DIR/.* ]]; then
PATCH_DESC="(project - $(basename "$thisdir"))"
else
PATCH_DESC="(unknown - $(basename "$thisdir"))"
fi
fi
if [ -f "$i" ]; then