更新 gentoo portage 配置并新增 portage 自动更新脚本

This commit is contained in:
2025-08-07 18:36:54 +08:00
parent 562d53e80d
commit 04458c143f
12 changed files with 165 additions and 120 deletions

View File

@@ -0,0 +1,54 @@
#!/bin/sh
check_root_permissioin() {
local SCRIPT_NAME=$(basename $0)
if [[ "$UID" != "0" ]]; then
echo "${SCRIPT_NAME}: must run this as root"
exit 1
fi
}
sync_portage_config() {
local SCRIPT_DIR=$(dirname $0)
local CONFIG_DIR=$(realpath "${SCRIPT_DIR}/../gentoo_portage")
local DEST_DIR="/etc/portage"
# 常用配置文件列表
local CONFIG_FILES=(
# 仓库配置
"binrepos.conf"
"repos.conf"
# 构建配置
"make.conf"
"package.accept_keywords"
"package.license"
"package.mask"
"package.unmask"
"package.use"
# 单独的 env 配置
"env"
"package.env"
"sets"
"patches"
)
for CONFIG_FILE in "${CONFIG_FILES[@]}"; do
local SOURCE_FILE="${CONFIG_DIR}/${CONFIG_FILE}"
local TARGET_FILE="${DEST_DIR}/${CONFIG_FILE}"
# 清理原先的配置
rm -rf $TARGET_FILE
# 将新的配置通过软链接链接到目标目录
if [[ -e $SOURCE_FILE ]]; then
echo "link: ${SOURCE_FILE} -> ${TARGET_FILE}"
ln -s $SOURCE_FILE $TARGET_FILE
fi
done
}
check_root_permissioin
sync_portage_config

View File

@@ -1,15 +0,0 @@
#!/bin/sh
if [ "${UID}" != "0" ]; then
SCRIPT_NAME=$(basename $0)
echo "${SCRIPT_NAME}: must run this as root"
exit 1
fi
SCRIPT_DIR=$(dirname $0)
# 此处目录后面的 / 不能少
SOURCE_DIR="${SCRIPT_DIR}/../gentoo_portage/patches/"
DEST_DIR="/etc/portage/patches/"
rsync -r --delete --mkpath $SOURCE_DIR $DEST_DIR