From 9a7a80223ae85a794e0af986a5476c23fc10a7b5 Mon Sep 17 00:00:00 2001 From: shenmo <jifengshenmo@outlook.com> Date: Mon, 6 Mar 2023 21:45:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BD=BB=E5=BA=95=E6=8A=9B=E5=BC=83bwr?= =?UTF-8?q?ap=EF=BC=8C=E6=8F=90=E5=8D=87aptss=E5=93=8D=E5=BA=94=E9=80=9F?= =?UTF-8?q?=E5=BA=A6=E3=80=82=E7=8E=B0=E5=B7=B2=E5=8F=AF=E5=B0=86aptss?= =?UTF-8?q?=E5=BD=93apt=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debian/changelog | 5 +++ debian/control | 1 - debian/spark-store.postinst | 2 +- debian/spark-store.prerm | 1 + .../share/bash-completion/completions/aptss | 10 +++--- tool/apt-fast-conf/aptss-apt.conf | 15 +++++++++ tool/aptss | 31 ++++++------------- tool/ssinstall | 12 +++---- 8 files changed, 43 insertions(+), 34 deletions(-) create mode 100644 tool/apt-fast-conf/aptss-apt.conf diff --git a/debian/changelog b/debian/changelog index bb00667..9066894 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,8 @@ +spark-store (4.2.3.2~Reason4) stable; urgency=medium + * aptss不再使用bwrap + + + spark-store (4.2.3.2~Reason3) stable; urgency=medium * 现在可在x86上编译,使用同一套代码 * 暂时在aarch64上使用旧web----等待柚子 diff --git a/debian/control b/debian/control index f9e41de..b92714e 100644 --- a/debian/control +++ b/debian/control @@ -39,7 +39,6 @@ Depends:${shlibs:Depends}, ${misc:Depends}, curl, openssl, dde-qt5integration, - bubblewrap, aria2, gcc, zenity, diff --git a/debian/spark-store.postinst b/debian/spark-store.postinst index bbac1c1..4c27a5a 100755 --- a/debian/spark-store.postinst +++ b/debian/spark-store.postinst @@ -14,7 +14,7 @@ case "$1" in esac - + mkdir -p /var/lib/aptss/lists # Remove the sources.list file diff --git a/debian/spark-store.prerm b/debian/spark-store.prerm index 3fc06e4..a86cb91 100755 --- a/debian/spark-store.prerm +++ b/debian/spark-store.prerm @@ -20,6 +20,7 @@ if [ "$1" = "remove" ] || [ "$1" = "purge" ] ; then rm -f /usr/bin/aptss rm -rf /etc/aptss/ + rm -rf /var/lib/aptss/ # Remove Sender module rm -f /opt/durapps/spark-store/bin/ss-feedback/sender-d diff --git a/pkg/usr/share/bash-completion/completions/aptss b/pkg/usr/share/bash-completion/completions/aptss index 4afc938..087c51e 100644 --- a/pkg/usr/share/bash-completion/completions/aptss +++ b/pkg/usr/share/bash-completion/completions/aptss @@ -63,7 +63,7 @@ _aptss() # Complete a -t<SPACE><TAB> case $prev in -t|--target-release) - COMPREPLY=( $( compgen -W "$( apt-cache policy -o Dir::Cache="/etc/aptss/" | egrep -o 'a=[^,]*|n=[^,]*' | cut -f2- -d= | sort -u)" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "$( apt-cache policy -o Dir::Cache="/var/lib/aptss/" | egrep -o 'a=[^,]*|n=[^,]*' | cut -f2- -d= | sort -u)" -- "$cur" ) ) return 0 ;; esac @@ -185,12 +185,12 @@ _aptss() return 0 ;; show|list|download|changelog|depends|rdepends) - COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/" \ + COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/var/lib/aptss/" \ 2> /dev/null ) ) return 0 ;; install) - COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/" \ + COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/var/lib/aptss/" \ 2> /dev/null ) ) if [[ "$cur" == ./* || "$cur" == /* ]]; then _filedir "deb" @@ -198,8 +198,8 @@ _aptss() return 0 ;; source|build-dep|showsrc|policy) - COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/" \ - 2> /dev/null ) $( apt-cache dumpavail -o Dir::Cache="/etc/aptss/" | \ + COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/var/lib/aptss/" \ + 2> /dev/null ) $( apt-cache dumpavail -o Dir::Cache="/var/lib/aptss/" | \ command grep "^Source: $cur" | sort -u | cut -f2 -d" " ) ) return 0 ;; diff --git a/tool/apt-fast-conf/aptss-apt.conf b/tool/apt-fast-conf/aptss-apt.conf new file mode 100644 index 0000000..7d2268f --- /dev/null +++ b/tool/apt-fast-conf/aptss-apt.conf @@ -0,0 +1,15 @@ +Debug::RunScripts true; + +Dir::Cache "/var/lib/aptss/"; +Dir::Etc::SourceParts "/etc/apt/sources.list.d/"; +Dir::Etc::SourceList "/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list"; +Dir::State::lists "/var/lib/aptss/lists/"; + +APT::Get::Fix-Broken true; +APT::Get::List-Cleanup="0"; + +#clear APT::Update::Post-Invoke-Success; + +#clear DPkg::Post-Invoke; + +#clear DPkg::Pre-Install-Pkgs; diff --git a/tool/aptss b/tool/aptss index adaaff1..83c6e1c 100755 --- a/tool/aptss +++ b/tool/aptss @@ -37,7 +37,7 @@ curl --silent -o /tmp/aptss-conf/apt-fast.conf "https://d.store.deepinos.org.c chmod -R 755 /tmp/aptss-conf sudo curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "https://d.store.deepinos.org.cn/sparkstore${STORE_LIST_URL}.list" -sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt update -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" +sudo apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf #只更新星火源 @@ -53,17 +53,15 @@ if [ "$1" = "install" ] || [ "$1" = "upgrade" ] || [ "$1" = "full-upgrade" ] ; ###执行 -bwrap --dev-bind / / \ - --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \ - ${SS_APT_FAST} "$@" --allow-downgrades + + ${SS_APT_FAST} "$@" --allow-downgrades -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf elif [ "$1" = "download" ];then ###执行 -bwrap --dev-bind / / \ - --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \ - ${SS_APT_FAST} "$@" --allow-downgrades + + ${SS_APT_FAST} "$@" --allow-downgrades -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf elif [ "$1" = "policy" ] || [ "$1" = "search" ];then @@ -71,9 +69,7 @@ elif [ "$1" = "policy" ] || [ "$1" = "search" ];then ###执行 -bwrap --dev-bind / / \ - --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \ - apt "$@" + apt "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf elif [ "$1" = "ssupdate" ];then @@ -85,7 +81,8 @@ curl --silent -o /tmp/aptss-conf/apt-fast.conf "https://d.store.deepinos.org.c chmod -R 755 /tmp/aptss-conf sudo curl --silent -o /opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list "https://d.store.deepinos.org.cn/sparkstore${STORE_LIST_URL}.list" -sudo bwrap --dev-bind / / --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list apt update -o Dir::Etc::sourcelist="sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" +sudo cp -r /var/lib/apt/lists/* /var/lib/aptss/lists/ +sudo apt update -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0" #只更新星火源 @@ -100,18 +97,10 @@ echo curl --progress-bar -o /tmp/aptss-conf/apt-fast.conf "https://d.store.deepinos.org.cn/apt-fast.conf" chmod -R 755 /tmp/aptss-conf ### 额外一份拿来给aptss自动补全用 -bwrap --dev-bind / / \ - --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \ - apt "$@" -o APT::Get::List-Cleanup="0" - -bwrap --dev-bind / / \ - --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \ - apt "$@" -o APT::Get::List-Cleanup="0" -o Dir::Cache="/etc/aptss/" + apt "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf else - bwrap --dev-bind / / \ - --bind '/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list' /etc/apt/sources.list.d/sparkstore.list \ - apt "$@" + apt "$@" -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf fi diff --git a/tool/ssinstall b/tool/ssinstall index 66e2cc8..a8262bb 100755 --- a/tool/ssinstall +++ b/tool/ssinstall @@ -62,21 +62,21 @@ fi DEBPATH=`realpath $1` -if [ ! -e "/var/lib/apt/lists/d.spark-app.store_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/apt/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/apt/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" ];then +if [ ! -e "/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && [ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" ];then echo "接收星火仓库软件信息中..." aptss ssupdate fi ### 选择包信息位置 -if [ -e "/var/lib/apt/lists/d.spark-app.store_${STORE_URL}_Packages" ];then -PACKAGES_DATA_PATH="/var/lib/apt/lists/d.spark-app.store_${STORE_URL}_Packages" +if [ -e "/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" ];then +PACKAGES_DATA_PATH="/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是星火域名单目录仓库配置" -elif [ -e "/var/lib/apt/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ];then -PACKAGES_DATA_PATH="/var/lib/apt/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" +elif [ -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ];then +PACKAGES_DATA_PATH="/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是星火域名单目录仓库配置" else -PACKAGES_DATA_PATH="/var/lib/apt/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" +PACKAGES_DATA_PATH="/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是SDU镜像仓库配置" fi