#!/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 "打包完成 :)"