使用debuild

This commit is contained in:
msojocs 2022-03-25 22:42:45 +08:00
parent 324d866482
commit f29fa16289
11 changed files with 155 additions and 17 deletions

View File

@ -1,5 +1,6 @@
# 1.05.2203070-7 / 2022-03-19
- fix: cli
- 兼容ubuntu16.04
# 1.05.2203070-6 / 2022-03-19
- feat: wcc node模块支持wxml引用

View File

@ -29,5 +29,5 @@ rm -rf node nwjs package.nw
# exec ./tools/rebuild-node-modules 0.53.1
./tools/setup-wechat-devtools-bash
chmod -R 777 tmp node nwjs package.nw
ls -l package.nw
# chmod -R 777 tmp node nwjs package.nw
# ls -l package.nw

View File

@ -1,7 +0,0 @@
Package: io.github.msojocs.wechat-devtools
Version: BUILD_VERSION
Section: utils
Priority: optional
Architecture: amd64
Maintainer: msojocs
Description: WeChat Devtools For Linux.

View File

@ -0,0 +1,8 @@
io.github.msojocs.wechat-devtools-no-wine (1.05.2203070-7) unstable; urgency=medium
* fix:
- cli
* 兼容
- ubuntu16.04
-- msojocs <jiyecafe@gmail.com> Wed, 23 Mar 2022 14:56:04 +0800

1
res/deepin/debian/compat Normal file
View File

@ -0,0 +1 @@
10

13
res/deepin/debian/control Normal file
View File

@ -0,0 +1,13 @@
Source: io.github.msojocs.wechat-devtools
Maintainer: msojocs
Standards-Version: BUILD_VERSION
Priority: optional
Section: application
Package: io.github.msojocs.wechat-devtools
Architecture: amd64
Description: WeChat Devtools For Linux.
To help developers develop and debug Weixin Mini Programs more simply and efficiently,
Tencent have launched the new Weixin DevTools based on the original Official Account
web debugging tools. Therefore, we now have two developer modes (Official Account web
debugging) and (Mini Program debugging). This version is unofficial.

View File

@ -0,0 +1,2 @@
opt .
usr .

21
res/deepin/debian/rules Executable file
View File

@ -0,0 +1,21 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
override_dh_strip_nondeterminism:
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
%:
dh "$@"

View File

93
tools/build-deepin copy.sh Executable file
View File

@ -0,0 +1,93 @@
#!/bin/bash
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 [ -n "$1" ];then
export BUILD_VERSION=$1
fi
if [ -z "$BUILD_VERSION" ];then
export BUILD_VERSION='continuous'
fi
if [ "$BUILD_VERSION" == "continuous" ];then
export BUILD_VERSION="v${DEVTOOLS_VERSION}-continuous"
fi
notice "检查版本号 -> $BUILD_VERSION"
INPUT_VERSION=$( echo $BUILD_VERSION | sed 's/v//' | sed 's/-.*//' )
if [[ "$INPUT_VERSION" != "$DEVTOOLS_VERSION" ]];then
fail "传入版本号与实际版本号不一致!"
exit 1
fi
############ 准备构建deb包所需的文件及结构 ################
package_name="io.github.msojocs.wechat-devtools"
if [[ $NO_WINE == 'true' ]];then
BUILD_MARK='no_wine'
package_name="${package_name}-no-wine"
else
BUILD_MARK='wine'
NAME_SUFFIX=" (wine)"
package_name="${package_name}-wine"
fi
echo "root_dir: $root_dir"
tmp_dir="$root_dir/tmp"
build_dir="$root_dir/tmp/$package_name"
base_dir="$build_dir/opt/apps/$package_name"
# Remove any previous build
rm -rf $build_dir
# Make usr and icons dirs
notice "Make Dirs"
mkdir -p $base_dir/{entries,files}
mkdir -p $base_dir/entries/{applications,icons/hicolor/scalable/apps/,mime,plugins,services}
mkdir -p $base_dir/files/{bin/bin,doc,lib}
notice "COPY Files"
cp -r "$root_dir/res/deepin"/* $build_dir
mv "$build_dir/opt/apps/io.github.msojocs.wechat-devtools"/* $base_dir
rm -r "$build_dir/opt/apps/io.github.msojocs.wechat-devtools"
sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$build_dir/debian/control" "$base_dir/info"
sed -i "s/io.github.msojocs.wechat-devtools/$package_name/g" "$base_dir/info" "$build_dir/debian/control"
\cp -rf "$root_dir/bin/wechat-devtools" "$base_dir/files/bin/bin/wechat-devtools"
# desktop
\cp -rf "$root_dir/res/template.desktop" "$base_dir/entries/applications/$package_name.desktop"
sed -i "s#Icon=dir/res/icons/wechat-devtools.svg#Icon=$package_name#" "$base_dir/entries/applications/$package_name.desktop"
sed -i "s#dir#/opt/apps/$package_name/files/bin#" "$base_dir/entries/applications/$package_name.desktop"
sed -i "s/WeChat Dev Tools/WeChat Dev Tools$NAME_SUFFIX/g" "$base_dir/info" "$base_dir/entries/applications/$package_name.desktop"
sed -i "s/微信开发者工具/微信开发者工具$NAME_SUFFIX/g" "$base_dir/entries/applications/$package_name.desktop"
\cp -rf "$root_dir/res/icons/wechat-devtools.svg" "$base_dir/entries/icons/hicolor/scalable/apps/$package_name.svg"
# 主体文件
cp -r "$root_dir/package.nw" "$base_dir/files/bin/package.nw"
cp -r "$root_dir/nwjs" "$base_dir/files/bin/nwjs"
if [ -f "$root_dir/node/bin/node" ];then
rm -rf "$base_dir/files/bin/nwjs"/{node,node.exe}
cp "$root_dir/node/bin/node" "$base_dir/files/bin/nwjs/node"
cd "$base_dir/files/bin/nwjs/" && ln -s "node" "node.exe"
fi
# chown -R root:root "$base_dir"
notice "BUILD DEB Package"
cd "$build_dir"
ls -l "$build_dir"
mkdir -p "$root_dir/tmp/build"
if [[ ! $NO_WINE -eq 'true' ]];then
echo "Depends: wine, wine-binfmt" >> "$build_dir/debian/control"
fi
# dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64_${BUILD_MARK}_deepin.deb"
debuild

View File

@ -21,7 +21,6 @@ fi
if [ "$BUILD_VERSION" == "continuous" ];then
export BUILD_VERSION="v${DEVTOOLS_VERSION}-continuous"
fi
echo $BUILD_VERSION
notice "检查版本号 -> $BUILD_VERSION"
INPUT_VERSION=$( echo $BUILD_VERSION | sed 's/v//' | sed 's/-.*//' )
@ -41,10 +40,9 @@ else
package_name="${package_name}-wine"
fi
root_dir=$(cd `dirname $0`/.. && pwd -P)
echo "root_dir: $root_dir"
tmp_dir="$root_dir/tmp"
build_dir="$root_dir/tmp/deepin"
build_dir="$root_dir/tmp/$package_name"
base_dir="$build_dir/opt/apps/$package_name"
# Remove any previous build
@ -59,8 +57,8 @@ notice "COPY Files"
cp -r "$root_dir/res/deepin"/* $build_dir
mv "$build_dir/opt/apps/io.github.msojocs.wechat-devtools"/* $base_dir
rm -r "$build_dir/opt/apps/io.github.msojocs.wechat-devtools"
sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$build_dir/DEBIAN/control" "$base_dir/info"
sed -i "s/io.github.msojocs.wechat-devtools/$package_name/g" "$base_dir/info" "$build_dir/DEBIAN/control"
sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$build_dir/debian/control" "$base_dir/info"
sed -i "s/io.github.msojocs.wechat-devtools/$package_name/g" "$base_dir/info" "$build_dir/debian/control"
\cp -rf "$root_dir/bin/wechat-devtools" "$base_dir/files/bin/bin/wechat-devtools"
# desktop
@ -72,6 +70,11 @@ sed -i "s/微信开发者工具/微信开发者工具$NAME_SUFFIX/g" "$base_dir/
\cp -rf "$root_dir/res/icons/wechat-devtools.svg" "$base_dir/entries/icons/hicolor/scalable/apps/$package_name.svg"
# 兼容普通deb
mkdir -p "$build_dir/usr/share/applications" "$build_dir/usr/share/icons/hicolor/scalable/apps"
\cp -rf "$base_dir/entries/applications/$package_name.desktop" "$build_dir/usr/share/applications/$package_name.desktop"
\cp -rf "$base_dir/entries/icons/hicolor/scalable/apps/$package_name.svg" "$build_dir/usr/share/icons/hicolor/scalable/apps/$package_name.svg"
# 主体文件
cp -r "$root_dir/package.nw" "$base_dir/files/bin/package.nw"
cp -r "$root_dir/nwjs" "$base_dir/files/bin/nwjs"
@ -80,7 +83,7 @@ if [ -f "$root_dir/node/bin/node" ];then
cp "$root_dir/node/bin/node" "$base_dir/files/bin/nwjs/node"
cd "$base_dir/files/bin/nwjs/" && ln -s "node" "node.exe"
fi
chown -R root:root "$base_dir"
# chown -R root:root "$base_dir"
notice "BUILD DEB Package"
cd "$build_dir"
@ -88,7 +91,10 @@ ls -l "$build_dir"
mkdir -p "$root_dir/tmp/build"
if [[ ! $NO_WINE -eq 'true' ]];then
echo "Depends: wine, wine-binfmt" >> "$build_dir/DEBIAN/control"
echo "Depends: wine, wine-binfmt" >> "$build_dir/debian/control"
fi
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64_${BUILD_MARK}_deepin.deb"
# cd "$tmp_dir"
# tar -zcf "$tmp_dir/${package_name}_${BUILD_VERSION//v/}.orig.tar.gz" "$package_name"
# dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64_${BUILD_MARK}_deepin.deb"
echo 'y' | debuild