New upstream version 3.5.99.27
This commit is contained in:
108
mesa-quilt
Executable file
108
mesa-quilt
Executable file
@@ -0,0 +1,108 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2017 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
||||
#
|
||||
# This is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the
|
||||
# Free Software Foundation, Inc.,
|
||||
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
d=. ; while [ ! -d "$d/nx-X11/extras" ] && [ "$(readlink -e "$d")" != "/" ]; do d="$d/.."; done
|
||||
|
||||
# only continue, if in nx-libs tree
|
||||
if [ -d "$d/nx-X11/extras" ]; then
|
||||
|
||||
if which quilt 1>/dev/null; then
|
||||
|
||||
echo "$(basename $0): quilt utility found, so we use it..."
|
||||
echo
|
||||
|
||||
export QUILT_PATCHES="../Mesa.patches"
|
||||
export QUILT_PATCH_OPTS="--reject-format=unified"
|
||||
export QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto"
|
||||
export QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index"
|
||||
export QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33"
|
||||
mkdir -p "$d/nx-X11/extras/Mesa.patches"
|
||||
|
||||
cd "$d/nx-X11/extras/Mesa/"
|
||||
|
||||
# "--quiltrc -" disables reading global or user-local configuration files.
|
||||
# These can override the environment settings if the quiltrc is not
|
||||
# carefully crafted.
|
||||
# For instance, it should set variables only if they aren't already
|
||||
# provided through the environment, but since the quiltrc file is
|
||||
# actually sourced as a shell script, there's no way to assume that
|
||||
# a user's quiltrc is "sane".
|
||||
quilt --quiltrc - "$@"
|
||||
|
||||
cd - 1> /dev/null
|
||||
|
||||
|
||||
else
|
||||
|
||||
echo "$(basename $0): no quilt utility found, falling back to stupidly (un)applying our patches..."
|
||||
echo
|
||||
|
||||
CMDLINE_ARGS="$@"
|
||||
|
||||
# we are really stupid here, we only understand 'push -a' and 'pop -a'
|
||||
# this should be sufficient for the build process...
|
||||
|
||||
cd "$d/nx-X11/extras/Mesa/"
|
||||
|
||||
# make sure all need dirs and files exist
|
||||
mkdir -p ./Mesa.patches/
|
||||
touch "../Mesa.patches/series"
|
||||
|
||||
# this file will be needed temporarily
|
||||
touch "../Mesa.patches/.applied-patches"
|
||||
|
||||
if [ "$CMDLINE_ARGS" = "push -a" ]; then
|
||||
|
||||
grep -E -v "^#.*" < "../Mesa.patches/series" | while read patchfile; do
|
||||
if [ -n "$patchfile" ] && [ -r "../Mesa.patches/$patchfile" ] && ! grep -q "$patchfile" < "../Mesa.patches/.applied-patches"; then
|
||||
echo "Applying patch ../Mesa.patches/$patchfile"
|
||||
patch -p1 < "../Mesa.patches/$patchfile"
|
||||
echo "$patchfile" >> "../Mesa.patches/.applied-patches"
|
||||
echo
|
||||
fi
|
||||
done
|
||||
|
||||
elif [ "$CMDLINE_ARGS" = "pop -a" ]; then
|
||||
|
||||
tac "../Mesa.patches/.applied-patches" | while read patchfile; do
|
||||
if [ -n "$patchfile" ] && [ -r "../Mesa.patches/$patchfile" ]; then
|
||||
echo "Removing patch ../Mesa.patches/$patchfile"
|
||||
patch -R -p1 < "../Mesa.patches/$patchfile"
|
||||
sed -e "/$patchfile/d" "../Mesa.patches/.applied-patches" > "../Mesa.patches/.applied-patches.tmp"
|
||||
mv "../Mesa.patches/.applied-patches.tmp" "../Mesa.patches/.applied-patches"
|
||||
echo
|
||||
fi
|
||||
done
|
||||
|
||||
else
|
||||
|
||||
echo "$(basename $0): Doing nothing! Cmdline options not understood: $CMDLINE_ARGS"
|
||||
|
||||
fi
|
||||
|
||||
# remove the .applied-patches file, if empty again
|
||||
if [ ! -s "../Mesa.patches/.applied-patches" ]; then
|
||||
rm -f "../Mesa.patches/.applied-patches"
|
||||
fi
|
||||
|
||||
cd - 1> /dev/null
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
Reference in New Issue
Block a user