mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-12-13 20:32:05 +08:00
feat: Support dpkg-buildpackage
Support dpkg-buildpackage Log: Support dpkg-buildpackage
This commit is contained in:
142
tool/ussremove
Executable file
142
tool/ussremove
Executable file
@@ -0,0 +1,142 @@
|
||||
#!/bin/bash
|
||||
|
||||
reset
|
||||
|
||||
echo Copyright (c) 2019-2021 The Spark Project
|
||||
|
||||
if [ -x "/usr/bin/deepin-deb-installer" ] ; then
|
||||
echo "深度软件包安装器已安装,开始检测证书"
|
||||
else
|
||||
echo "未安装深度软件包安装器,拒绝执行"
|
||||
echo "UOS需要深度软件包安装器来认证签名"
|
||||
echo "如果你用的是UOS,你能卸载这玩意说明你已经开了开发者模式......悄悄告诉你,放屁是不用脱裤子的!"
|
||||
echo "如果你用的不是统信系发行版......所以你为什么要打开这个脚本?"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f "/usr/share/ca-certificates/deepin/private/priv.crt" ] ; then
|
||||
echo "检测到已经生成过证书,直接跳过询问"
|
||||
else
|
||||
until [ -f "/usr/bin/cert-tool" ] ; do
|
||||
#强制未安装证书工具的不通过
|
||||
echo "该工具的原理是利用UOS的自签名安装包免开发者的特性,需要您的UOS ID账号和密码,请在使用工具前确保在应用商店中已安装过“证书工具”这个应用"
|
||||
echo "如果没有安装,则无法使用。请确认安装后再进行下一步操作"
|
||||
echo "如果你确认已经安装了该应用,请按回车"
|
||||
read renyijian
|
||||
|
||||
#检测是否在说谎签名文件
|
||||
if [ -f "/usr/bin/cert-tool" ] ; then
|
||||
echo "成功检测到cert-tool存在,开始检测证书\n"
|
||||
else
|
||||
echo "没有检测到该应用,请您再次确认“证书工具”已经安装!"
|
||||
sleep 3
|
||||
clear
|
||||
fi
|
||||
done
|
||||
|
||||
until [ -f "/usr/share/ca-certificates/deepin/private/priv.crt" ] ; do
|
||||
echo "没有检测到证书,准备调用证书工具生成证书,请输入您的UOS账号/密码。本脚本不会上传任何信息"
|
||||
echo "请在此行输入您的UOS账号用户名/电话号/邮箱"
|
||||
read account
|
||||
echo "请在此行输入您的UOS账号密码"
|
||||
read passwd
|
||||
echo "即将安装证书,请在弹出的窗口安装"
|
||||
cert-tool -username="$account" -password="$passwd"
|
||||
done
|
||||
echo "检测到已经生成过证书,准备签名"
|
||||
fi
|
||||
#这个if是判断是否已经有证书
|
||||
|
||||
unset account
|
||||
unset passwd
|
||||
unset renyijian
|
||||
|
||||
mkdir -p /tmp/spark-store-appremover
|
||||
cd /tmp/spark-store-appremover
|
||||
#工作目录应当为 /tmp/spark-store-appremover
|
||||
|
||||
while [ ! $pkgname ] ; do
|
||||
if [ ! $1 ] ; then
|
||||
echo "没有检测到包名,以交互式模式运行"
|
||||
echo "请输入你要卸载的软件包名,输入结束后回车"
|
||||
read pkgname
|
||||
else
|
||||
echo "检测到包名,跳过获取"
|
||||
pkgname="$1"
|
||||
echo "读取到的包名为:$pkgname"
|
||||
fi
|
||||
|
||||
if [ ! $pkgname ] ; then
|
||||
echo "没有检测到包名,请重新输入!"
|
||||
sleep 3
|
||||
clear
|
||||
else
|
||||
echo "包名读取成功,进入下一步"
|
||||
fi
|
||||
done
|
||||
|
||||
#while [ ! $version ] ; do
|
||||
# if [ ! $2 ] ; then
|
||||
# echo "没有检测到版本号,以交互式模式运行"
|
||||
# echo "请输入你要卸载的软件包版本号,输入结束后回车"
|
||||
# read version
|
||||
# else
|
||||
# echo "检测到包名,跳过获取"
|
||||
# version="$2"
|
||||
# echo "读取到的版本号为:$version"
|
||||
# fi
|
||||
#
|
||||
# if [ ! $version ] ; then
|
||||
# echo "没有检测到版本号,请重新输入!"
|
||||
# sleep 3
|
||||
# clear
|
||||
# else
|
||||
# echo "版本号读取成功,进入下一步"
|
||||
# fi
|
||||
#done
|
||||
|
||||
#发现版本号不一定一致也可以卸载
|
||||
version="1.0"
|
||||
echo "开始生成deb包"
|
||||
echo "输出的control文件为"
|
||||
echo ""
|
||||
echo "Package: $pkgname"
|
||||
echo "Version: $version"
|
||||
echo "Depends: "
|
||||
echo "Maintainer: spark-store"
|
||||
echo "Description: 这是一个假软件包,请点击卸载"
|
||||
echo "Architecture: $(arch)"
|
||||
echo "-----------------------开始生成-----------------------"
|
||||
workdir=$(pwd)
|
||||
echo "工作目录为$workdir"
|
||||
mkdir DEBIAN
|
||||
cd DEBIAN
|
||||
touch control
|
||||
echo "Package: $pkgname" >> ./control
|
||||
echo "Version: $version" >> ./control
|
||||
echo "Depends: " >> ./control
|
||||
echo "Maintainer: spark-store" >> ./control
|
||||
echo "Description: 这是一个假软件包,请点击卸载" >> ./control
|
||||
echo "Architecture: $(arch)" >> ./control
|
||||
|
||||
echo "-----------------------开始打包-----------------------"
|
||||
cd ..
|
||||
workdir=$(pwd)
|
||||
echo "回退到工作目录,当前目录位于$workdir"
|
||||
fakeroot dpkg -b . ./uninstall.deb
|
||||
echo "-----------------------打包结束-----------------------"
|
||||
|
||||
cd /tmp
|
||||
|
||||
echo "-----------------------开始签名-----------------------"
|
||||
deepin-elf-sign-deb "/tmp/spark-store-appremover/uninstall.deb"
|
||||
echo "-----------------------签名结束-----------------------"
|
||||
echo "-----------------启动深度软件包管理器-------------------"
|
||||
|
||||
deepin-deb-installer "/tmp/signed_deb/uninstall.deb"
|
||||
|
||||
file_name=$(basename "/tmp/signed_deb/uninstall.deb")
|
||||
echo "---------------以上为深度软件包管理器输出----------------"
|
||||
echo "删除临时包"
|
||||
rm "/tmp/signed_deb/$file_name"
|
||||
rm -r /tmp/spark-store-appremover
|
||||
Reference in New Issue
Block a user