qTox is a chat, voice, video, and file transfer IM client using the encrypted peer-to-peer Tox protocol.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

63 lines
1.6 KiB

#!/bin/bash
#
# Copyright © 2016-2018 The qTox Project Contributors
#
# This program 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 program 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, see <http://www.gnu.org/licenses/>.
# script to change qTox version in `info.plist` file to the supplied one
#
# NOTE: it checkouts the files before appending a version to them!
#
# requires:
# * correctly formatted `info.plist file in working dir
# * GNU sed
# usage:
#
# ./$script $version
#
# $version has to be composed of at least one number/dot
set -eu -o pipefail
# update version in `info.plist` file to supplied one after the right lines
update_version() {
local vars=(
' <key>CFBundleShortVersionString</key>'
' <key>CFBundleVersion</key>'
)
for v in "${vars[@]}"
do
sed -i -r "\\R$v\$R,+1 s,(<string>)[0-9\\.]+(</string>)$,\\1$@\\2," \
"./info.plist"
done
}
# exit if supplied arg is not a version
is_version() {
if [[ ! $@ =~ [0-9\\.]+ ]]
then
echo "Not a version: $@"
exit 1
fi
}
main() {
is_version "$@"
update_version "$@"
}
main "$@"