116 lines
3.8 KiB
Bash
Executable File
116 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
app_name="dunst"
|
|
version="1.12.0"
|
|
release="v${version}"
|
|
pkg_arch="x64"
|
|
deb_arch="amd64"
|
|
tmp_dir="/data/docker/${app_name}-${version}"
|
|
|
|
|
|
if [ -d "./unpack" ]; then
|
|
sudo rm -rf ./unpack
|
|
fi
|
|
|
|
if [ -f "./${app_name}_${version}.deb" ]; then
|
|
rm "./${app_name}_${version}.deb"
|
|
fi
|
|
|
|
|
|
# 创建临时待打包目录
|
|
echo "创建待打包目录..."
|
|
mkdir -p "./unpack/DEBIAN"
|
|
mkdir -p "./unpack/usr/bin"
|
|
mkdir -p "./unpack/usr/lib/systemd/user"
|
|
mkdir -p "./unpack/usr/share"
|
|
mkdir -p "./unpack/etc/xdg/dunst"
|
|
|
|
|
|
|
|
echo "复制编译好的文件到待打包目录..."
|
|
cp -rv "${tmp_dir}/dunst" "./unpack/usr/bin/"
|
|
cp -rv "${tmp_dir}/dunstctl" "./unpack/usr/bin/"
|
|
cp -rv "${tmp_dir}/dunstify" "./unpack/usr/bin/"
|
|
|
|
cp -rv "${tmp_dir}/dunstrc" "./unpack/etc/xdg/dunst/"
|
|
|
|
cp -rv "${tmp_dir}/dunst.systemd.service" "./unpack/usr/lib/systemd/user/dunst.service"
|
|
|
|
|
|
echo """[Install]
|
|
WantedBy=default.target
|
|
""" >> "./unpack/usr/lib/systemd/user/dunst.service"
|
|
|
|
|
|
mkdir -p "./unpack/usr/share/dbus-1/services"
|
|
cp -rv "${tmp_dir}/org.knopwob.dunst.service" "./unpack/usr/share/dbus-1/services/"
|
|
|
|
mkdir -p "./unpack/usr/share/bash-completion/completions"
|
|
mkdir -p "./unpack/usr/share/zsh/site-functions"
|
|
mkdir -p "./unpack/usr/share/fish/vendor_completions.d"
|
|
|
|
cp -rv "${tmp_dir}/completions/dunst.bashcomp" "./unpack/usr/share/bash-completion/completions/dunst"
|
|
cp -rv "${tmp_dir}/completions/dunstctl.bashcomp" "./unpack/usr/share/bash-completion/completions/dunstctl"
|
|
|
|
cp -rv "${tmp_dir}/completions/_dunst.zshcomp" "./unpack/usr/share/zsh/site-functions/_dunst"
|
|
cp -rv "${tmp_dir}/completions/_dunstctl.zshcomp" "./unpack/usr/share/zsh/site-functions/_dunstctl"
|
|
|
|
cp -rv "${tmp_dir}/completions/dunst.fishcomp" "./unpack/usr/share/fish/vendor_completions.d/dunst"
|
|
cp -rv "${tmp_dir}/completions/dunstctl.fishcomp" "./unpack/usr/share/fish/vendor_completions.d/dunstctl"
|
|
cp -rv "${tmp_dir}/completions/dunstify.fishcomp" "./unpack/usr/share/fish/vendor_completions.d/dunstify"
|
|
|
|
mkdir -p "./unpack/usr/share/man/man1"
|
|
mkdir -p "./unpack/usr/share/man/man5"
|
|
|
|
tar -zcvf ./unpack/usr/share/man/man1/dunst.1.gz "${tmp_dir}/docs/dunst.1"
|
|
tar -zcvf ./unpack/usr/share/man/man1/dunstctl.1.gz "${tmp_dir}/docs/dunstctl.1"
|
|
tar -zcvf ./unpack/usr/share/man/man5/dunst.5.gz "${tmp_dir}/docs/dunst.5"
|
|
|
|
echo "复制完成, 压缩可执行文件..."
|
|
strip -s "./unpack/usr/bin/dunst"
|
|
strip -s "./unpack/usr/bin/dunstify"
|
|
|
|
echo "计算文件md5..."
|
|
|
|
cd ./unpack
|
|
|
|
find usr/ -type f | xargs md5sum > DEBIAN/md5sums
|
|
|
|
IFS=$'\t' read -ra size <<< "$(du -d 0)"
|
|
|
|
echo """
|
|
Package: ${app_name}
|
|
Version: ${version}
|
|
Installed-Size: ${size[0]}
|
|
Architecture: ${deb_arch}
|
|
Maintainer: Yutent <yutent.io@gmail.com>
|
|
Depends: default-dbus-session-bus | dbus-session-bus, xdg-utils, libc6 (>= 2.34), libcairo2 (>= 1.10.0), libgdk-pixbuf-2.0-0 (>= 2.31.1), libglib2.0-0 (>= 2.67.3), libnotify4 (>= 0.7.0), libpango-1.0-0 (>= 1.20.0), libpangocairo-1.0-0 (>= 1.22.0), libwayland-client0 (>= 1.20.0), libwayland-cursor0 (>= 1.0.2), libx11-6, libxext6, libxinerama1 (>= 2:1.1.4), libxrandr2 (>= 2:1.5.0), libxss1
|
|
Provides: notification-daemon
|
|
Section: x11
|
|
Priority: optional
|
|
Homepage: https://dunst-project.org/
|
|
Description: dmenu-ish notification-daemon
|
|
Dunst is a highly configurable and lightweight notification-daemon: The
|
|
only thing it displays is a colored box with unformatted text. The whole
|
|
notification specification (non-optional parts and the "body" capability) is
|
|
supported as long as it fits into this look & feel.
|
|
.
|
|
Dunst is designed to fit nicely into minimalistic windowmanagers like dwm, but
|
|
it should work on any Linux desktop.
|
|
|
|
""" > DEBIAN/control
|
|
|
|
|
|
echo "/etc/xdg/dunst/dunstrc" > DEBIAN/conffiles
|
|
|
|
echo '计算文件md5完成, 打包中...'
|
|
|
|
cd ..
|
|
sudo chown -R root:root unpack
|
|
|
|
dpkg-deb -b ./unpack "./${app_name}-${deb_arch}_${version}.deb"
|
|
|
|
sudo rm -rf ./unpack
|
|
sudo rm -rf $tmp_dir
|
|
echo "打包完成 :)"
|