diff --git a/rofi/package.sh b/rofi/package.sh new file mode 100755 index 0000000..417a6cf --- /dev/null +++ b/rofi/package.sh @@ -0,0 +1,120 @@ +#!/bin/bash + +app_name="rofi" +tmp_dir="/tmp/${app_name}_tmp" +version="1.7.9" +release="${version}-2" +deb_arch="amd64" + + +if [ -d "./unpack" ]; then + sudo rm -rf ./unpack +fi + +if [ -f "./${app_name}-${deb_arch}_${release}.deb" ]; then + rm "./${app_name}-${deb_arch}_${release}.deb" +fi + +# 创建临时待打包目录 +echo "创建待打包目录..." +mkdir -p "./unpack/DEBIAN" +mkdir -p "./unpack/usr/bin" +mkdir -p "./unpack/usr/include/rofi" +mkdir -p "./unpack/usr/lib/pkgconfig" +mkdir -p "./unpack/usr/share/applications" +mkdir -p "./unpack/usr/share/icons/hicolor/scalable/apps" +mkdir -p "./unpack/usr/share/doc/rofi" +mkdir -p "./unpack/usr/share/man/man1" +mkdir -p "./unpack/usr/share/man/man5" + + +source_dir=/data/docker/rofi-${version} + +echo "复制编译好的文件..." +cp -v "${source_dir}/build/rofi" ./unpack/usr/bin/ +cp -v "${source_dir}/script/rofi-sensible-terminal" ./unpack/usr/bin/ +cp -v "${source_dir}/script/rofi-theme-selector" ./unpack/usr/bin/ + +cp -v "${source_dir}/build/doc/rofi.doxy" ./unpack/usr/share/doc/rofi/ +cp -rv "${source_dir}/Examples" ./unpack/usr/share/doc/rofi/examples + +cp -v "${source_dir}/build/pkgconfig/rofi.pc" ./unpack/usr/lib/pkgconfig/ + +cp -v "${source_dir}/include/helper.h" ./unpack/usr/include/rofi/ +cp -v "${source_dir}/include/mode.h" ./unpack/usr/include/rofi/ +cp -v "${source_dir}/include/mode-private.h" ./unpack/usr/include/rofi/ +cp -v "${source_dir}/include/rofi-icon-fetcher.h" ./unpack/usr/include/rofi/ +cp -v "${source_dir}/include/rofi-types.h" ./unpack/usr/include/rofi/ + +cp -v "${source_dir}/doc/rofi.1" ./unpack/usr/share/man/man1/ +cp -v "${source_dir}/doc/rofi-sensible-terminal.1" ./unpack/usr/share/man/man1/ +cp -v "${source_dir}/doc/rofi-theme-selector.1" ./unpack/usr/share/man/man1/ +cp -v "${source_dir}/doc/rofi-actions.5" ./unpack/usr/share/man/man5/ +cp -v "${source_dir}/doc/rofi-script.5" ./unpack/usr/share/man/man5/ +cp -v "${source_dir}/doc/rofi-theme.5" ./unpack/usr/share/man/man5/ +cp -v "${source_dir}/doc/rofi-keys.5" ./unpack/usr/share/man/man5/ +cp -v "${source_dir}/doc/rofi-dmenu.5" ./unpack/usr/share/man/man5/ +cp -v "${source_dir}/doc/rofi-debugging.5" ./unpack/usr/share/man/man5/ +cp -v "${source_dir}/doc/rofi-theme.5" ./unpack/usr/share/man/man5/ + + +cp -v "${source_dir}/data/rofi.desktop" ./unpack/usr/share/applications/ +cp -v "${source_dir}/data/rofi-theme-selector.desktop" ./unpack/usr/share/applications/ +cp -v "${source_dir}/data/rofi.svg" ./unpack/usr/share/icons/hicolor/scalable/apps/ + + +echo "复制完成, 计算文件md5..." + +cd ./unpack + +strip -s usr/bin/rofi + +find usr/ -type f | xargs md5sum > DEBIAN/md5sums + +echo """ +Package: ${app_name} +Version: ${release} +Section: X11 +Installed-Size: ${size[0]} +Architecture: ${deb_arch} +Maintainer: Yutent +Depends: libcairo2 (>= 1.12.0), libgdk-pixbuf-2.0-0 (>= 2.31.1), libglib2.0-0 (>= 2.35.9), libpango-1.0-0 (>= 1.37.5), libpangocairo-1.0-0 (>= 1.22.0), libstartup-notification0 (>= 0.11), libxcb-cursor0 (>= 0.0.99), libxcb-ewmh2 (>= 0.4.1), libxcb-icccm4 (>= 0.4.1), libxcb-randr0 (>= 1.12), libxcb-util1 (>= 0.4.0), libxcb-xinerama0, libxcb-xkb1, libxcb1, libxkbcommon-x11-0 (>= 0.5.0), libxkbcommon0 (>= 0.7.0) +Priority: optional +Homepage: https://github.com/DaveDavenport/rofi/ +Description: window switcher, run dialog and dmenu replacement + rofi can act as an application launcher, window switcher, ssh launcher and + dmenu replacement. + . + Included features: + * Full (configurable) keyboard navigation + * Type to filter + + Tokenized: Type any word in any order to filter + + Case insensitive + * UTF-8 enabled + + UTF-8 aware string collating + + intl. keyboard support (\`e -> è) + * Pango font rendering + * RTL language support + * Window Switcher + + I3 support (requires i3-wm to be installed) + + EWMH compatible WM + * Run dialog + * Desktop File Run dialog + * SSH launcher + * History based ordering based on use. (optional) + * Levenshtein distance ordering of matches. (optional) + * Drop in dmenu replacement (with many added improvements). + * Can be easily extended using scripts. + +""" > DEBIAN/control + + +echo '计算文件md5完成, 打包中...' + +cd .. +sudo chown -R root:root unpack + +dpkg-deb -b ./unpack "./${app_name}-${deb_arch}_${release}.deb" + +sudo rm -rf ./unpack +echo "打包完成 :)" \ No newline at end of file