refactor: 统一包格式

This commit is contained in:
msojocs 2022-03-06 09:34:20 +08:00
parent 031ef91e14
commit 53b8f14ccb
5 changed files with 100 additions and 35 deletions

View File

@ -1,8 +1,17 @@
#!/bin/bash
# 参数:
# $1 - 版本 v1.05.2203030-2
# $2 - 平台 x86_64
set -e
notice() {
echo -e "\033[36m $1 \033[0m "
}
fail() {
echo -e "\033[41;37m 失败 \033[0m $1"
}
if [ -z $VERSION ];then
export VERSION=$1
@ -11,6 +20,14 @@ if [ -z $ARCH ];then
export ARCH=$2
fi
if [[ $VERSION == '' ]];then
fail "请指定版本"
exit 1
elif [[ $ARCH == '' ]];then
fail "请指定架构"
exit 1
fi
if [[ $NO_WINE == 'true' ]];then
TYPE='no_wine'
else
@ -23,11 +40,20 @@ app_dir="$tmp_dir/AppDir"
build_dir="$tmp_dir/build"
mkdir -p $build_dir
notice "检查版本号"
DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" )
DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}"
INPUT_VERSION=$( echo $VERSION | sed 's/v//' | sed 's/-.*//' )
if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then
fail "传入版本号与实际版本号不一致!"
exit 1
fi
notice "下载AppImage构建工具 ACTION_MODE:$ACTION_MODE"
if [[ $ACTION_MODE == 'false' ]]; then
appimagetool_host="download.fastgit.org"
else
if [[ $ACTION_MODE == 'true' ]]; then
appimagetool_host="github.com"
else
appimagetool_host="download.fastgit.org"
fi
if [ ! -f "$tmp_dir/appimagetool-x86_64.AppImage" ];then
wget "https://$appimagetool_host/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" \
@ -63,8 +89,6 @@ cd "$app_dir"
# appimagetool $app_dir
notice "MAKE APPIMAGE"
ver=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" )
ver="${ver//\"/}"
"$tmp_dir/appimagetool-x86_64.AppImage" "$app_dir" "$build_dir/WeChat_Dev_Tools_${ver}_${VERSION}_${ARCH}_${TYPE}.AppImage"
"$tmp_dir/appimagetool-x86_64.AppImage" "$app_dir" "$build_dir/WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}.AppImage"
rm -rf $app_dir

View File

@ -1,10 +1,20 @@
#!/bin/bash
# 参数:
# $1 - 版本 v1.05.2203030-2 | continuous
set -e
notice() {
echo -e "\033[36m $1 \033[0m "
}
fail() {
echo -e "\033[41;37m 失败 \033[0m $1"
}
root_dir=$(cd `dirname $0`/.. && pwd -P)
DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" )
DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}"
echo $BUILD_VERSION
if [ -z "$BUILD_VERSION" ];then
export BUILD_VERSION=$1
@ -12,6 +22,9 @@ fi
if [ -z "$BUILD_VERSION" ];then
export BUILD_VERSION='continuous'
fi
if [ "$BUILD_VERSION" == "continuous" ];then
export BUILD_VERSION="v${DEVTOOLS_VERSION}-continuous"
fi
echo $BUILD_VERSION
############ 构建deb包 ################
@ -20,6 +33,13 @@ echo "root_dir: $root_dir"
tmp_dir="$root_dir/tmp"
app_dir="$root_dir/tmp/deb"
notice "检查版本号"
INPUT_VERSION=$( echo $BUILD_VERSION | sed 's/v//' | sed 's/-.*//' )
if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then
fail "传入版本号与实际版本号不一致!"
exit 1
fi
# Remove any previous build
rm -rf $app_dir
# Make usr and icons dirs
@ -34,11 +54,7 @@ cp "$root_dir/bin/wechat-devtools" "$app_dir/opt/wechat-devtools/bin"
cp "$root_dir/res/template.desktop" "$app_dir/usr/share/applications/wechat-devtools.desktop"
sed -i 's#Icon=dir/res/icons/wechat-devtools.svg#Icon=wechat-devtools#' "$app_dir/usr/share/applications/wechat-devtools.desktop"
sed -i "s#dir#/opt/wechat-devtools#" "$app_dir/usr/share/applications/wechat-devtools.desktop"
if [[ ! $BUILD_VERSION -eq 'continuous' ]];then
sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$app_dir/DEBIAN/control"
else
sed -i "s/BUILD_VERSION/0/" "$app_dir/DEBIAN/control"
fi
sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$app_dir/DEBIAN/control"
cp "$root_dir/res/icons/wechat-devtools.svg" "$app_dir/usr/share/icons/wechat-devtools.svg"
cp -r "$root_dir/package.nw" "$app_dir/opt/wechat-devtools/package.nw"
@ -51,6 +67,4 @@ notice "BUILD DEB Package"
cd "$root_dir/tmp/deb"
ls -l "$root_dir/tmp/deb"
mkdir -p "$root_dir/tmp/build"
ver=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" )
ver="${ver//\"/}"
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${ver}-${BUILD_VERSION}_amd64.deb"
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64.deb"

View File

@ -5,6 +5,8 @@ notice() {
}
root_dir=$(cd `dirname $0`/.. && pwd -P)
DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" )
DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}"
echo $BUILD_VERSION
if [ -z "$BUILD_VERSION" ];then
export BUILD_VERSION=$1
@ -12,6 +14,9 @@ fi
if [ -z "$BUILD_VERSION" ];then
export BUILD_VERSION='continuous'
fi
if [ "$BUILD_VERSION" == "continuous" ];then
export BUILD_VERSION="v${DEVTOOLS_VERSION}-continuous"
fi
echo $BUILD_VERSION
############ 构建deb包 ################
@ -21,8 +26,6 @@ tmp_dir="$root_dir/tmp"
build_dir="$root_dir/tmp/deepin"
package_name="io.github.msojocs.wechat-devtools"
base_dir="$build_dir/opt/apps/$package_name"
DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" )
DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}"
# Remove any previous build
rm -rf $build_dir
@ -34,14 +37,10 @@ mkdir -p $base_dir/files/{bin/bin,doc,lib}
notice "COPY Files"
cp -r "$root_dir/res/deepin"/* $build_dir
sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$build_dir/DEBIAN/control"
sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$base_dir/info"
\cp -rf "$root_dir/bin/wechat-devtools" "$base_dir/files/bin/bin/wechat-devtools"
if [[ ! $BUILD_VERSION -eq 'continuous' ]];then
sed -i "s/BUILD_VERSION/${DEVTOOLS_VERSION}-${BUILD_VERSION//v/}/" "$build_dir/DEBIAN/control"
sed -i "s/BUILD_VERSION/${DEVTOOLS_VERSION}-${BUILD_VERSION//v/}/" "$base_dir/info"
else
sed -i "s/BUILD_VERSION/${DEVTOOLS_VERSION}-0/" "$build_dir/DEBIAN/control"
sed -i "s/BUILD_VERSION/${DEVTOOLS_VERSION}-0/" "$base_dir/info"
fi
# desktop
\cp -rf "$root_dir/res/template.desktop" "$base_dir/entries/applications/wechat-devtools.desktop"
sed -i 's#Icon=dir/res/icons/wechat-devtools.svg#Icon=io.github.msojocs.wechat-devtools#' "$base_dir/entries/applications/wechat-devtools.desktop"
@ -59,4 +58,4 @@ notice "BUILD DEB Package"
cd "$build_dir"
ls -l "$build_dir"
mkdir -p "$root_dir/tmp/build"
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${DEVTOOLS_VERSION}_${BUILD_VERSION}_deepin_amd64.deb"
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_deepin_amd64.deb"

View File

@ -1,17 +1,20 @@
#!/bin/bash
# 参数:
# $1 - 版本 v1.05.2203030-2
# $2 - 平台 x86_64
# 脚本执行前提已完成支持wine的基本构建
set -e
root_dir=$(cd `dirname $0`/.. && pwd -P)
tmp_dir="$root_dir/tmp"
if [ -z $VERSION ];then
export VERSION=$1
export VERSION=$2
fi
if [ -z $ARCH ];then
export ARCH=$2
export ARCH=$1
fi
success() {
echo -e "\033[42;37m 成功 \033[0m $1"
}
@ -23,14 +26,26 @@ fail() {
echo -e "\033[41;37m 失败 \033[0m $1"
}
if [[ $VERSION == '' ]];then
fail "请指定版本号"
exit 1
elif [[ $ARCH == '' ]];then
DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" )
DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}"
if [[ $VERSION == 'continuous' ]];then
export VERSION="v${DEVTOOLS_VERSION}-continuous"
elif [[ $VERSION == '' ]];then
export VERSION="v${DEVTOOLS_VERSION}-continuous"
fi
if [[ $ARCH == '' ]];then
fail "请指定架构"
exit 1
fi
notice "检查版本号 -> $VERSION"
INPUT_VERSION=$( echo $VERSION | sed 's/v//' | sed 's/-.*//' )
if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then
fail "传入版本号与实际版本号不一致!"
exit 1
fi
for type in wine no_wine; do
notice "当前构建类型: $type";
if [[ $type == 'no_wine' ]];then

View File

@ -1,5 +1,10 @@
#!/bin/bash
# 参数:
# $1 - 版本 v1.05.2203030-2
# $2 - 平台 x86_64
# 脚本执行前提已完成支持wine的基本构建
set -e
root_dir=$(cd `dirname $0`/.. && pwd -P)
@ -38,7 +43,17 @@ else
TYPE='wine'
fi
build_dir="$tmp_dir/tar/WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}"
notice "检查版本号"
DEVTOOLS_VERSION=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" )
DEVTOOLS_VERSION="${DEVTOOLS_VERSION//\"/}"
INPUT_VERSION=$( echo $VERSION | sed 's/v//' | sed 's/-.*//' )
if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then
fail "传入版本号与实际版本号不一致!"
exit 1
fi
PACKAGE_NAME="WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}"
build_dir="$tmp_dir/tar/$PACKAGE_NAME"
mkdir -p $build_dir
notice "COPY bin"
\cp -rf "$root_dir/bin" "$build_dir/bin"
@ -51,7 +66,5 @@ notice "COPY package.nw"
\cp -rf "$root_dir/package.nw" "$build_dir/package.nw"
notice "MAKE tar.gz"
ver=$( cat "$root_dir/package.nw/package.json" | grep -m 1 -Eo "\"[0-9]{1}\.[0-9]{2}\.[0-9]+" )
ver="${ver//\"/}"
cd "$tmp_dir/tar" && tar -zcf "$store_dir/WeChat_Dev_Tools_${ver}_${VERSION}_${ARCH}_${TYPE}.tar.gz" "WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}"
cd "$tmp_dir/tar" && tar -zcf "$store_dir/$PACKAGE_NAME.tar.gz" "$PACKAGE_NAME"
rm -rf $build_dir