Files
tms-barco-pkg/PKGBUILD
2025-12-14 21:49:50 +08:00

89 lines
4.1 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Maintainer: zj <1052308357@qq.com>
pkgname=tms-barco-tools
pkgver=1.0
pkgrel=1
pkgdesc="Barco tools for Commander and Communicator applications."
arch=('x86_64')
url="https://www.barco.com/"
license=('unknown')
depends=('xdg-utils')
source=(
"barco-tools.tar.gz"
)
sha256sums=('41d331dea0a412c2f50a7545b5d08178c692de58baf45ec7b857f0143eb828f2')
install="${pkgname}.install"
prepare() {
# barco-tools.tar.gz 解压后没有顶层目录,直接将内容解压到 $srcdir
# 为了方便处理,我们创建一个子目录并将所有内容移动进去
local _temp_app_dir="${srcdir}/_app_contents"
mkdir -p "${_temp_app_dir}"
echo "Moving application contents from $srcdir to $_temp_app_dir..."
# 确保这些文件在 $srcdir 中存在,否则 mv 命令会报错
mv "${srcdir}/BARCO" "${_temp_app_dir}/" || true
mv "${srcdir}/Barco Commander.desktop" "${_temp_app_dir}/" || true
mv "${srcdir}/Communicator.desktop" "${_temp_app_dir}/" || true
msg "Application contents prepared in $_temp_app_dir."
}
build() {
# 对于预编译的应用程序包,通常没有编译步骤
msg "No build step required for pre-compiled application."
}
package() {
set -x # 启用调试输出
local _app_base_dir="/opt/${pkgname}" # 应用程序的根目录,例如 /opt/barco-tools/
local _app_source_dir="${srcdir}/_app_contents" # 应用程序内容的来源目录
# 1. 创建目标目录
install -d "${pkgdir}${_app_base_dir}"
install -d "${pkgdir}/usr/share/applications"
# 2. 复制 BARCO 目录到 /opt/barco-tools/
echo "Copying BARCO directory from $_app_source_dir to ${pkgdir}${_app_base_dir}/..."
cp -a "${_app_source_dir}/BARCO" "${pkgdir}${_app_base_dir}/"
# 3. 设置 BARCO 目录下的可执行文件权限
# 确保 BARCO 目录下的所有文件都可读,并且其中的脚本(如 run.sh具有执行权限
# 确保 BARCO 目录本身以及子目录是可遍历的
find "${pkgdir}${_app_base_dir}/BARCO" -type f -exec chmod 755 {} \; || true # 所有文件可执行
find "${pkgdir}${_app_base_dir}/BARCO" -type d -exec chmod 755 {} \; || true # 所有目录可遍历
# 4. 复制并修改 .desktop 文件
echo "Installing and modifying .desktop files in ${pkgdir}/usr/share/applications/..."
# Communicator.desktop
install -m644 "${_app_source_dir}/Communicator.desktop" "${pkgdir}/usr/share/applications/barco-communicator.desktop"
# 修改 Exec 路径
sed -i "s|^Exec=/home/smart/BARCO/communicator/run.sh|Exec=${_app_base_dir}/BARCO/communicator/run.sh|g" "${pkgdir}/usr/share/applications/barco-communicator.desktop"
# 修改 Icon 路径
sed -i "s|^Icon=/home/smart/BARCO/communicator/barco_icon.png|Icon=${_app_base_dir}/BARCO/communicator/barco_icon.png|g" "${pkgdir}/usr/share/applications/barco-communicator.desktop"
# 修改 Path 路径
sed -i "s|^Path=/home/smart/BARCO/communicator|Path=${_app_base_dir}/BARCO/communicator|g" "${pkgdir}/usr/share/applications/barco-communicator.desktop"
# 确保 Name 字段存在且正确
sed -i "/^\[Desktop Entry\]/aName=Communicator" "${pkgdir}/usr/share/applications/barco-communicator.desktop" || true
# Barco Commander.desktop
install -m644 "${_app_source_dir}/Barco Commander.desktop" "${pkgdir}/usr/share/applications/barco-commander.desktop"
# 修改 Exec 路径
sed -i "s|^Exec=/home/smart/BARCO/Commander-1.8.0/run.sh|Exec=${_app_base_dir}/BARCO/Commander-1.8.0/run.sh|g" "${pkgdir}/usr/share/applications/barco-commander.desktop"
# 修改 Icon 路径
sed -i "s|^Icon=/home/smart/BARCO/Commander-1.8.0/barco_icon.png|Icon=${_app_base_dir}/BARCO/Commander-1.8.0/barco_icon.png|g" "${pkgdir}/usr/share/applications/barco-commander.desktop"
# 修改 Path 路径
sed -i "s|^Path=/home/smart/BARCO/Commander-1.8.0|Path=${_app_base_dir}/BARCO/Commander-1.8.0|g" "${pkgdir}/usr/share/applications/barco-commander.desktop"
# 确保 Name 字段存在且正确
sed -i "/^\[Desktop Entry\]/aName=Barco Commander" "${pkgdir}/usr/share/applications/barco-commander.desktop" || true
echo "Package creation complete."
}