diff options
author | shadichy | 2023-07-03 16:47:38 +0700 |
---|---|---|
committer | shadichy | 2023-07-03 16:47:38 +0700 |
commit | ff34df19a13af489f33443d7d856d40e354a2c7c (patch) | |
tree | 2e3b701a15ad55ea685208aae82cd4d36a193930 | |
parent | 113732990bdee4393e730b9b68738fbcd19d26b3 (diff) | |
download | aur-ff34df19a13af489f33443d7d856d40e354a2c7c.tar.gz |
systemback
-rw-r--r-- | PKGBUILD | 284 |
1 files changed, 79 insertions, 205 deletions
@@ -1,240 +1,114 @@ # Maintainer: shadichy <shadichy.dev@gmail.com> pkgbase=systemback -pkgname=("lib${pkgbase}" "${pkgbase}-cli" "${pkgbase}-efiboot-amd64" "${pkgbase}-locales" "${pkgbase}-scheduler" "${pkgbase}") +sb=$pkgbase +pkgname=("lib${sb}" "${sb}-cli" "${sb}") pkgver=1.8.9 -pkgrel=2 +pkgrel=4 pkgdesc='Simple system backup and restore application with extra features' -arch=(any) -march="" +arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64') url='https://github.com/shadichy/systemback-archlinux' license=('GPL') -depends=('util-linux' 'util-linux-libs' 'parted' 'qt5-base>=5.5.0' 'procps-ng' 'gnu-free-fonts' 'dosfstools' 'libisoburn' 'squashfs-tools' 'syslinux' 'xterm' 'xz' 'mkinitcpio-live-boot') -optdepends=('btrfs-progs' 'jfsutils' 'reiserfsprogs' 'xfsprogs' 'unionfs-fuse' 'update-grub' 'cdrtools') -makedepends=('ncurses' 'qt5-tools' 'make' 'gcc11' 'dpkg' 'debhelper' 'util-linux' 'util-linux-libs' 'qt5-base>=5.5.0' 'gcc11-libs' 'procps-ng') -# source=() -# md5sums=('SKIP') - -case $(uname -m) in - x86_64) - march="amd64" - ;; - i686) - march="i386" - depends+=( 'libxcrypt-compat' 'llvm13-libs') - ;; - *) - echo "Unsupported architecture: $(uname -m)" - exit 1 - ;; -esac +depends=('util-linux' 'util-linux-libs' 'parted' 'qt5-base>=5.5.0' 'procps-ng' 'gnu-free-fonts' 'dosfstools' 'squashfs-tools' 'libxcrypt-compat') +optdepends=('btrfs-progs' 'jfsutils' 'reiserfsprogs' 'xfsprogs' 'update-grub') +makedepends=('ncurses' 'qt5-tools' 'make' 'procps-ng' 'libisoburn') +source=(git+https://github.com/shadichy/systemback-archlinux.git) +md5sums=('SKIP') build() { - cd "../${pkgbase}" - dpkg-buildpackage -d -us -uc + cd "../${sb}" + qmake-qt5 $([ "$LLVM" ] && [ "$LLVM" != 0 ] && echo "-spec linux-clang") + make -j$(nproc --all) + lrelease-qt5 systemback.pro } package_libsystemback() { pkgdesc='Libary for Systemback' - dpkg-deb -xv "../lib${pkgbase}_${pkgver}_${march}.deb" "${pkgdir}" - install -dm755 "${pkgdir}/usr" -} -package_systemback-cli() { - depends+=('ncurses' 'libsystemback' 'systemback-efiboot-amd64') - optdepends+=('amd-ucode' 'intel-ucode') - dpkg-deb -xv "../${pkgbase}-cli_${pkgver}_${march}.deb" "${pkgdir}" - install -dm755 "${pkgdir}/usr" -} -package_systemback-efiboot-amd64() { - pkgdesc='Systemback EFI bootloader support' - depends=('syslinux' 'libsystemback') - optdepends=('grub' 'systemback') - dpkg-deb -xv "../${pkgbase}-efiboot-amd64_${pkgver}_all.deb" "${pkgdir}" - install -dm755 "${pkgdir}/usr" -} -package_systemback-locales() { - pkgdesc='Systemback language support' - depends=('libsystemback') - optdepends=('systemback') - dpkg-deb -xv "../${pkgbase}-locales_${pkgver}_all.deb" "${pkgdir}" - install -dm755 "${pkgdir}/usr" -} -package_systemback-scheduler() { - pkgdesc='Systemback scheduler' - depends+=('libsystemback') - optdepends=('systemback') - dpkg-deb -xv "../${pkgbase}-scheduler_${pkgver}_${march}.deb" "${pkgdir}" - mkdir -p "${pkgdir}/usr/share/applications" - cp "../${pkgbase}/systemback.desktop" "${pkgdir}/usr/share/applications/org.systemback.sbsustart.desktop" - mkdir -p "${pkgdir}/usr/bin" - cat << EOF > "${pkgdir}/usr/bin/sbsustart" -#!/bin/bash - -BASE_CMD="/usr/lib/systemback/sbsustart \$@" - -if test "x\`id -u\`" != "x0"; then - if test "xpkexec --disable-internal-agent" = "x"; then - echo "Root privileges are required for running systemback." - \$BASE_CMD - exit 1 - fi - - ENABLE_XHOST_ROOT=yes - GRANTED_XHOST_ROOT=no - if test "x\$ENABLE_XHOST_ROOT" = 'xyes' && xhost 1> /dev/null 2>&1; then - if ! xhost | grep -qi 'SI:localuser:root$'; then - xhost +SI:localuser:root - GRANTED_XHOST_ROOT=yes - fi - fi - - pkexec --disable-internal-agent '/usr/bin/sbsustart' "\$@" - status=\$? - - if test "x\$GRANTED_XHOST_ROOT" = 'xyes'; then - xhost -SI:localuser:root - fi - exit \$status -fi - -\$BASE_CMD -EOF - chmod +755 "${pkgdir}/usr/bin/sbsustart" - mkdir -p "${pkgdir}/usr/share/polkit-1/actions/" - cat << EOF > "${pkgdir}/usr/share/polkit-1/actions/org.systemback.sbsustart.policy" -<?xml version="1.0"?> -<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd"> -<policyconfig> - <vendor>systemback</vendor> - <vendor_url>https://github.com/shadichy/systemback-archlinux</vendor_url> - <action id="org.systemback.sbsustart"> - <description>Run Systemback Scheduler</description> - <Message>Authorize Systemback Scheduler to run</Message> - <icon_name>systemback</icon_name> - <defaults> - <allow_any>auth_admin</allow_any> - <allow_active>auth_admin</allow_active> - <allow_inactive>auth_admin</allow_inactive> - </defaults> - <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/sbsustart</annotate> - <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> - </action> -</policyconfig> -EOF - install -dm755 "${pkgdir}/usr" -} -package_systemback() { - depends+=( 'libx11' 'zenity' 'libsystemback' 'systemback-efiboot-amd64' 'systemback-locales' 'systemback-scheduler' 'grub' 'mtools') - optdepends+=('kdialog' 'amd-ucode' 'intel-ucode') - dpkg-deb -xv "../${pkgbase}_${pkgver}_${march}.deb" "${pkgdir}" - cp "${pkgdir}/usr/share/applications/systemback.desktop" "${pkgdir}/usr/share/applications/org.systemback.systemback.desktop" - mv "${pkgdir}/usr/bin/systemback" "${pkgdir}/usr/lib/systemback/sbbin" - cat <<EOF >"${pkgdir}/usr/bin/systemback" -#!/bin/bash - -BASE_CMD="/usr/lib/systemback/sbbin \$@" - -if test "x\`id -u\`" != "x0"; then - if test "xpkexec --disable-internal-agent" = "x"; then - echo "Root privileges are required for running systemback." - \$BASE_CMD - exit 1 - fi - ENABLE_XHOST_ROOT=yes - GRANTED_XHOST_ROOT=no - if test "x\$ENABLE_XHOST_ROOT" = 'xyes' && xhost 1> /dev/null 2>&1; then - if ! xhost | grep -qi 'SI:localuser:root$'; then - xhost +SI:localuser:root - GRANTED_XHOST_ROOT=yes - fi - fi - pkexec --disable-internal-agent '/usr/bin/systemback' "\$@" - status=\$? + mkdir -p ${pkgdir}/usr/lib/${sb} + mkdir -p ${pkgdir}/usr/include/lib${sb} + mkdir -p ${pkgdir}/usr/share/${sb}/scripts + mkdir -p ${pkgdir}/usr/share/licenses/${sb} - if test "x\$GRANTED_XHOST_ROOT" = 'xyes'; then - xhost -SI:localuser:root - fi - exit \$status -fi + cd "../${sb}" -\$BASE_CMD -EOF - chmod +755 "${pkgdir}/usr/bin/systemback" - cp "../${pkgbase}/reserved_usernames" "${pkgdir}/usr/share/systemback/reserved_usernames" - mkdir -p "${pkgdir}/usr/share/systemback/scripts" - mkdir -p "${pkgdir}/usr/share/polkit-1/actions/" - cat << EOF > "${pkgdir}/usr/share/polkit-1/actions/org.systemback.systemback.policy" -<?xml version="1.0"?> -<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd"> -<policyconfig> - <vendor>systemback</vendor> - <vendor_url>https://github.com/shadichy/systemback-archlinux</vendor_url> - <action id="org.systemback.systemback"> - <description>Run Systemback</description> - <Message>Authorize Systemback to run</Message> - <icon_name>systemback</icon_name> - <defaults> - <allow_any>auth_admin</allow_any> - <allow_active>auth_admin</allow_active> - <allow_inactive>auth_admin</allow_inactive> - </defaults> - <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/systemback</annotate> - <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> - </action> -</policyconfig> -EOF - mkdir -p "${pkgdir}/etc/systemback" - cat << EOF > "${pkgdir}/etc/systemback/systemback.conf" -### Restore points settings - -# storage_directory=<path> -# storage_dir_is_mount_point=[true/false] -# max_temporary_restore_points=[3-10] -# use_incremental_backup_method=[true/false] - - - -### Live system settings - -# working_directory=<path> -# use_xz_compressor=[true/false] -# auto_iso_images=[true/false] + install -dm755 ${pkgdir}/usr/lib/${sb} + install -dm755 ${pkgdir}/usr/include/lib${sb} + install -dm755 ${pkgdir}/usr/share/${sb}/scripts + install -dm755 ${pkgdir}/usr/share/licenses/${sb} + install -m755 lib${sb}/lib${sb}.so* ${pkgdir}/usr/lib/${sb} + install -m755 lib${sb}/*.hpp ${pkgdir}/usr/include/lib${sb} + install -m755 lib${sb}/scripts/* ${pkgdir}/usr/share/${sb}/scripts + install -m755 LICENSE ${pkgdir}/usr/share/licenses/${sb} +} +package_systemback-cli() { + depends+=('ncurses' "lib${sb}") + mkdir -p ${pkgdir}/usr/bin + install -dm755 ${pkgdir}/usr/bin -### Scheduler settigns + cd "../${sb}" -# enabled=[true/false] -# schedule=[0-7]:[0-23]:[0-59]:[10-99] -# silent=[true/false] -# window_position=[topleft/topright/center/bottomleft/bottomright] -# disable_starting_for_users=[false/everyone/:<username,list>] + install -m755 ${sb}-cli/${sb}-cli ${pkgdir}/usr/bin +} +package_systemback() { + depends+=('libx11' 'zenity' "lib${sb}" 'grub' 'mtools' 'arch-install-scripts' 'mkinitcpio-live-boot' 'xz' 'zstd' 'xterm') + optdepends+=('kdialog' 'amd-ucode' 'intel-ucode' 'systemback-efiboot') + mkdir -p ${pkgdir}/etc/${sb} + mkdir -p ${pkgdir}/etc/xdg/autostart + mkdir -p ${pkgdir}/usr/bin + mkdir -p ${pkgdir}/usr/lib/${sb} -### User interface settings + mkdir -p ${pkgdir}/usr/share/${sb}/lang + mkdir -p ${pkgdir}/usr/share/polkit-1/actions/ -# language=[auto/<language_COUNTRY>] + appdir=usr/share/applications + mkdir -p ${pkgdir}/$appdir + icondir=usr/share/icons/hicolor + mkdir -p ${pkgdir}/$icondir/128x128/apps + mkdir -p ${pkgdir}/$icondir/256x256/apps + mkdir -p ${pkgdir}/$icondir/48x48/apps + mkdir -p ${pkgdir}/$icondir/64x64/apps + cd "../${sb}" -### Graphical user interface settings + install -dm664 ${pkgdir}/etc/${sb} + install -dm644 ${pkgdir}/usr/share/${sb}/lang + install -dm644 ${pkgdir}/usr/share/polkit-1/actions/ -# style=[auto/<name>] -# window_scaling_factor=[auto/1/1.5/2] -# always_on_top=[true/false] + install -dm644 ${pkgdir}/$icondir/128x128/apps + install -dm644 ${pkgdir}/$icondir/256x256/apps + install -dm644 ${pkgdir}/$icondir/48x48/apps + install -dm644 ${pkgdir}/$icondir/64x64/apps + install -dm755 ${pkgdir}/etc/xdg/autostart + install -dm755 ${pkgdir}/$appdir + install -dm755 ${pkgdir}/usr/lib/${sb} + install -dm755 ${pkgdir}/usr/bin -### Host system settings + install -m660 ${sb}.conf ${pkgdir}/etc/${sb} + install -m644 lang/*.qm ${pkgdir}/usr/share/${sb}/lang + install -m644 org.${sb}.sbsustart.policy ${pkgdir}/usr/share/polkit-1/actions/ -# disable_cache_emptying=[true/false] + install -m644 icons/128x128/${sb}.png ${pkgdir}/$icondir/128x128/apps + install -m644 icons/256x256/${sb}.png ${pkgdir}/$icondir/256x256/apps + install -m644 icons/48x48/${sb}.png ${pkgdir}/$icondir/48x48/apps + install -m644 icons/64x64/${sb}.png ${pkgdir}/$icondir/64x64/apps + install -m755 sbschedule.desktop ${pkgdir}/etc/xdg/autostart + install -m755 org.${sb}.${sb}.desktop ${pkgdir}/$appdir + ln -s org.${sb}.${sb}.desktop ${pkgdir}/$appdir/${sb}.desktop + install -m755 sbscheduler/sbscheduler \ + sbsustart/sbsustart \ + sbsysupgrade/sbsysupgrade \ + ${pkgdir}/usr/lib/${sb} -EOF - touch "${pkgdir}/etc/systemback/systemback.includes" - touch "${pkgdir}/etc/systemback/systemback.excludes" - install -dm755 "${pkgdir}/usr" - install -dm755 "${pkgdir}/etc" + install -m755 ../sbsustart \ + ${sb}/${sb} \ + ${pkgdir}/usr/bin } |