mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2025-12-20 05:30:03 +01:00
glib: Add a script to take a snapshot of glib-2.0
Grab a snapshot of a tag from a local glib checkout, remove a bunch of files and apply some patches. The idea is to make the snapshot of glib be repeatable.
This commit is contained in:
parent
c96d5e3172
commit
9961b85d2a
3 changed files with 126 additions and 0 deletions
15
glib-patches/README
Normal file
15
glib-patches/README
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
To update the glib snapshot, first clone a copy of the glib repo.
|
||||
|
||||
$ git clone git://git.gnome.org/glib
|
||||
|
||||
Use the update-glib.sh script to grab a checkout from your local repo.
|
||||
|
||||
$ ./glib-patches/update-glib.sh ../glib
|
||||
|
||||
If you've updated to a new glib version, add a new patch (or refresh
|
||||
the current patches) in glib-patches, update the default tag value in
|
||||
update-glib.sh and commit the changes.
|
||||
|
||||
The idea is that all changes are committed and you can build directly
|
||||
from the pkg-config repo without manipulating the glib snapshot
|
||||
anymore.
|
||||
0
glib-patches/patchlist
Normal file
0
glib-patches/patchlist
Normal file
111
glib-patches/update-glib.sh
Executable file
111
glib-patches/update-glib.sh
Executable file
|
|
@ -0,0 +1,111 @@
|
|||
#!/bin/sh
|
||||
|
||||
GIT=${GIT-git}
|
||||
PATCH=${PATCH-patch}
|
||||
SED=${SED-sed}
|
||||
repo=
|
||||
tag=2.32.0
|
||||
commit=n
|
||||
|
||||
usage()
|
||||
{
|
||||
cat << EOF
|
||||
Usage:
|
||||
$0 [OPTIONS] REPO [TAG]
|
||||
Fetch archive of TAGged version of glib from local checkout at REPO
|
||||
|
||||
Options:
|
||||
-c, --commit commit snapshot after each change
|
||||
-h, --help display this help and exit
|
||||
|
||||
If TAG is not specified, $tag is used
|
||||
EOF
|
||||
}
|
||||
|
||||
while [ -n "$1" ]; do
|
||||
case "$1" in
|
||||
-c|--commit)
|
||||
commit=y
|
||||
;;
|
||||
-h|--help)
|
||||
usage
|
||||
exit
|
||||
;;
|
||||
-*)
|
||||
echo "$0: unrecognized option '$1'" >&2
|
||||
echo "Try '$0 --help' for more information." >&2
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
# end of options
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
repo=$1
|
||||
[ -z "$2" ] || tag=$2
|
||||
|
||||
# Remove previous snapshot
|
||||
if [ -d glib ]; then
|
||||
echo "removing previous glib snapshot"
|
||||
rm -rf glib
|
||||
fi
|
||||
|
||||
# Create new snapshot
|
||||
echo "creating new snapshot of $repo tag $tag"
|
||||
(cd "$repo" && $GIT archive --format=tar --prefix=glib/ "$tag") | \
|
||||
tar -xf - || exit $?
|
||||
if [ $commit = y ]; then
|
||||
$GIT add glib
|
||||
$GIT commit -q \
|
||||
-m "glib: creating new snapshot of $repo tag $tag" -- glib
|
||||
fi
|
||||
|
||||
# Prune parts we don't want
|
||||
echo "removing unneeded directories and files"
|
||||
rm -rf \
|
||||
glib/debian \
|
||||
glib/docs \
|
||||
glib/po \
|
||||
glib/tests \
|
||||
glib/glib/tests \
|
||||
glib/build \
|
||||
glib/gmodule \
|
||||
glib/gthread \
|
||||
glib/gobject \
|
||||
glib/gio \
|
||||
glib/glib/pcre \
|
||||
glib/glib/update-pcre
|
||||
rm -f \
|
||||
glib/autogen.sh \
|
||||
glib/INSTALL.in \
|
||||
glib/README.commits \
|
||||
glib/HACKING \
|
||||
glib/NEWS.pre-1-3 \
|
||||
glib/README.win32 \
|
||||
glib/config.h.win32.in \
|
||||
glib/glib-zip.in \
|
||||
glib/sanity_check \
|
||||
glib/glib/glib.stp \
|
||||
glib/glib/glib_probes.d \
|
||||
glib/glib/glibconfig.h.win32.in \
|
||||
glib/msvc_recommended_pragmas.h \
|
||||
glib/win32-fixup.pl
|
||||
find glib -name 'makefile.msc*' | xargs rm -f
|
||||
find glib -name 'ChangeLog*' | xargs rm -f
|
||||
find glib -name '*.pc.in' | xargs rm -f
|
||||
[ $commit = y ] && $GIT commit -q \
|
||||
-m "glib: removing unneeded directories and files" -- glib
|
||||
|
||||
# Apply patches
|
||||
patches=`grep '^[^#]' glib-patches/patchlist 2>/dev/null`
|
||||
for p in $patches; do
|
||||
echo "applying patch glib-patches/$p"
|
||||
$PATCH -p1 -i glib-patches/$p || exit $?
|
||||
[ $commit = y ] && $GIT commit -q \
|
||||
-m "glib: applying patch glib-patches/$p" -- glib
|
||||
done
|
||||
|
||||
echo "snapshot successfully updated"
|
||||
Loading…
Add table
Reference in a new issue