Update helper scripts for mingw-w64-qt5-* packages
This commit is contained in:
parent
e19236b071
commit
3dcd7abd1b
|
@ -0,0 +1,29 @@
|
|||
#set -euxo pipefail
|
||||
set -e # abort on first error
|
||||
shopt -s nullglob
|
||||
|
||||
if ! [[ $1 ]] || ! [[ $2 ]]; then
|
||||
echo 'No version specified, must specify the new and old version, eg. 5.9.2 5.9.1'
|
||||
echo "Usage: $0 newversion oldversion"
|
||||
exit -1
|
||||
fi
|
||||
newversion="$1"
|
||||
oldversion="$2"
|
||||
|
||||
remote=
|
||||
for maybe_remote in 'martchus' 'origin'; do
|
||||
if git remote get-url $maybe_remote; then
|
||||
remote=$maybe_remote
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if ! [[ $remote ]]; then
|
||||
echo "Unable to detect remote"
|
||||
exit -2
|
||||
fi
|
||||
|
||||
git remote update
|
||||
git checkout -b "$newversion-mingw-w64" "v$newversion"
|
||||
git cherry-pick "v$oldversion..$oldversion"-mingw-w64
|
||||
git push -u $maybe_remote "$newversion-mingw-w64"
|
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
# Copies patches from QT_GIT_REPOS_DIR to default
|
||||
# variant of all repos and updates sources and checksums
|
||||
|
||||
#set -euxo pipefail
|
||||
set -e # abort on first error
|
||||
shopt -s nullglob
|
||||
|
||||
scriptdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
for r in "$QT_GIT_REPOS_DIR/qt"*; do
|
||||
repo="${r##*/qt}"
|
||||
[[ $repo == '5ct' || $repo == '5ct-code' || $repo == 'repotools' || $repo == 'webkit' ]] && continue
|
||||
echo "Updating repository $repo ..."
|
||||
"$scriptdir/update-patches.sh" "$repo"
|
||||
done
|
|
@ -1,8 +1,7 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
# Copies patches from QT_GIT_REPOS_DIR to default
|
||||
# variant of specified repo and outputs altered source and
|
||||
# md5sums arrays
|
||||
# variant of specified repo and updates sources and checksums
|
||||
|
||||
#set -euxo pipefail
|
||||
set -e # abort on first error
|
||||
|
@ -35,50 +34,73 @@ new_sources=()
|
|||
new_md5sums=()
|
||||
file_index=0
|
||||
for source in "${source[@]}"; do
|
||||
[ "${source: -6}" != .patch ] && \
|
||||
new_sources+=("$source") \
|
||||
new_md5sums+=("${sha256sums[$file_index]}")
|
||||
file_index=$((file_index + 1))
|
||||
[ "${source: -6}" != .patch ] && \
|
||||
new_sources+=("$source") \
|
||||
new_md5sums+=("${sha256sums[$file_index]}")
|
||||
file_index=$((file_index + 1))
|
||||
done
|
||||
|
||||
patches=("$dest"/*.patch)
|
||||
#for patch in "${patches[@]}"; do
|
||||
# new_sources+=("$patch")
|
||||
#done
|
||||
|
||||
for patch in "${patches[@]}"; do
|
||||
[[ -f $patch ]] && rm "$patch"
|
||||
[[ -f $patch ]] && rm "$patch"
|
||||
done
|
||||
|
||||
pushd "$wd" > /dev/null
|
||||
git checkout "${pkgver}-${variant}"
|
||||
remote=
|
||||
for maybe_remote in 'origin' 'upstream' 'martchus'; do
|
||||
if git remote get-url $maybe_remote; then
|
||||
remote=$maybe_remote
|
||||
break
|
||||
fi
|
||||
done
|
||||
git status # do some Git stuff just to check whether it is a Git repo
|
||||
if ! git checkout "${pkgver}-${variant}"; then
|
||||
echo "No patches required for $1, skipping."
|
||||
exit 0
|
||||
fi
|
||||
git format-patch "v${pkgver}" --output-directory "$dest"
|
||||
popd > /dev/null
|
||||
|
||||
new_patches=("$dest"/*.patch)
|
||||
for patch in "${new_patches[@]}"; do
|
||||
new_sources+=("$patch")
|
||||
sum=$(sha256sum "$patch")
|
||||
new_md5sums+=(${sum%% *})
|
||||
new_sources+=("$patch")
|
||||
sum=$(sha256sum "$patch")
|
||||
new_md5sums+=(${sum%% *})
|
||||
done
|
||||
|
||||
echo -n "source=(\"${new_sources[0]}\""
|
||||
# preserve first src line to keep variables unevaluated
|
||||
newsrc=$(grep 'source=(' "$dest/PKGBUILD")
|
||||
[[ $newsrc ]] || newsrc="source=(${new_sources[0]}"
|
||||
for source in "${new_sources[@]:1}"; do
|
||||
echo
|
||||
echo -n " '${source##*/}'"
|
||||
newsrc+="\n '${source##*/}'"
|
||||
done
|
||||
echo ')'
|
||||
newsrc+=')'
|
||||
|
||||
echo -n "sha256sums=('${new_md5sums[0]}'"
|
||||
newsums="sha256sums=('${new_md5sums[0]}'"
|
||||
for sum in "${new_md5sums[@]:1}"; do
|
||||
echo
|
||||
echo -n " '${sum}'"
|
||||
newsums+="\n '${sum}'"
|
||||
done
|
||||
echo ')'
|
||||
newsums+=')'
|
||||
|
||||
# apply changes
|
||||
mv "$dest/PKGBUILD" "$dest/PKGBUILD.bak"
|
||||
awk -v newsrc="$newsrc" -v newsums="$newsums" '
|
||||
/^[[:blank:]]*source(_[^=]+)?=/,/\)[[:blank:]]*(#.*)?$/ {
|
||||
if (!s) {
|
||||
print newsrc
|
||||
s++
|
||||
}
|
||||
next
|
||||
}
|
||||
/^[[:blank:]]*(md|sha)[[:digit:]]+sums(_[^=]+)?=/,/\)[[:blank:]]*(#.*)?$/ {
|
||||
if (!w) {
|
||||
print newsums
|
||||
w++
|
||||
}
|
||||
next
|
||||
}
|
||||
|
||||
1
|
||||
END {
|
||||
if (!s) {
|
||||
print newsrc
|
||||
}
|
||||
if (!w) {
|
||||
print newsums
|
||||
}
|
||||
}
|
||||
' "$dest/PKGBUILD.bak" > "$dest/PKGBUILD"
|
||||
|
|
|
@ -5,11 +5,7 @@
|
|||
set -e # abort on first error
|
||||
master="${1:-mingw-w64}"
|
||||
|
||||
if [[ ! $master ]]; then
|
||||
# no default here to prevent unintented use
|
||||
echo "Error: no master specified"
|
||||
exit -1
|
||||
elif [ $# -gt 1 ]; then
|
||||
if [ $# -gt 1 ]; then
|
||||
echo "Error: too many arguments specified"
|
||||
echo "Usage: $0 master_dir"
|
||||
exit -2
|
||||
|
@ -18,9 +14,9 @@ elif [[ ! -d $master ]]; then
|
|||
exit -3
|
||||
fi
|
||||
|
||||
for dir in *; do
|
||||
for dir in mingw-w64 mingw-w64-*; do
|
||||
if [[ $dir != $master ]] && [[ -d $dir ]]; then
|
||||
rm "$dir/"* # clean first (files might have been remove in master)
|
||||
rm "$dir/"* # clean first (files might have been removed in master)
|
||||
cp "$master/"* "$dir"
|
||||
sed -e '/pkgname=mingw-w64-qt5-base/{c\pkgname=mingw-w64-qt5-base'${dir#mingw-w64} -e ';d}' "$master/PKGBUILD" > "$dir/PKGBUILD"
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue