Skip to content

Aiming to be an all-in-one, friendly to new-users, python3 based GUI backup manager for Debian/Ubuntu based systems.

License

Notifications You must be signed in to change notification settings

mamolinux/leaptime-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Work In Progress

This App is currently under development. So, This is not what a regular user would expect. If you are a developer and would like to contribute, only then download or fork this repo.

Logo

CI build CodeQL build License GitHub repo size Open Issues Open PRs GitHub release (latest by date) Downloads GitHub release (latest by date and asset)

Aiming to be an all-in-one, friendly to new-users, GUI based backup manager for Debian/Ubuntu based systems. The main purpose of this application is to help user backup and restore every component on a Debian/Ubuntu based system ergonomically, elegantly and separately.

Contents

ToDo List

Software:

  1. Apt backup
    1. Scheduled app backup
  2. Apt restore

Data: Data backup should have two modes:

  1. Sync mode- where file(s) or directories are synchronized continuously with another keeping only the latest version. Useful for backing up static data like some script which are updated time to time or security keys like ssh or gpg keys. Use one of the following modes

    1. Compressed backup - tar ball of data (Reduces disk-space usage)
    2. Rsync: using rsync
    3. Add option for user-defined time interval to sync data
  2. Incremental mode: Where incremental backups are created like any other backup app. Use one of the following modes

    1. Compressed backup - tar ball of data (Reduces disk-space usage)
    2. Rsync: using rsync
    3. Add option for user-defined time interval to backup data

Download Latest Version

Stores/Ubuntu Private Archive

Add the Launchpad PPA

sudo add-apt-repository ppa:mamolinux/gui-apps
sudo apt update
sudo apt install leaptime-manager

Github Releases

Get the debian package archive from GitHub. For installation, check here.

Download Source (.zip)
Download Source (.tar.gz)
Download Binary (.deb)

Features and Screenshots

  1. Backup manually installed Apt packages to a list
  2. Restore apt packages from backup lists
  3. Backup user data to a tarball.

Main Window (Light) Main Window (Dark) App backup main page (Light) App backup main page (Dark)

Dependencies

Build Dependencies

The following dependencies are required to build LeapTime Manager.

gettext
desktop-file-utils
libglib2.0-bin
libgtk-4-bin
meson
python3
python3-sphinx
python3-sphinx-argparse

Runtime Dependencies

The following dependencies are required to run LeapTime Manager.

gir1.2-xapp-1.0
gir1.2-gtk-3.0
python3
python3-apt
python3-aptdaemon.gtk3widgets
python3-configobj
python3-gi
python3-setproctitle
python3-tldextract

Debian/Ubuntu based distro

To install runtime dependencies on Debian/Ubuntu based systems, run:

sudo apt install gir1.2-xapp-1.0 gir1.2-gtk-3.0 python3 python3-aptdaemon.gtk3widgets \
python3-configobj python3-gi python3-setproctitle python3-tldextract

Note: If you are using gdebi to install LeapTime Manager from a downloaded/built .deb file, it will automatically install the dependencies and you can skip this step.

Other Linux-based distro

Replace apt install in the command given in Debian/Ubuntu based distros and use the command for the package manager of the target system(eg. yum install, dnf install, pacman -S etc.)

Note: There might be cases where one or more dependencies might not be available for your system. But that is highly unlikely. In such situations, please create an issue.

Installation

There are two ways, this app can be installed on a Debian/Ubuntu based system.

1. Download and install binary files

Download the latest binary .deb files from here. Then install the GUI Frontend from terminal as

sudo dpkg -i leaptime-manager*.deb
sudo apt install -f

2. Build and Install From Source

If you are having trouble installing the pre-built binary, build them from the source.

Debian/Ubuntu based systems

There are two methods, this app can be installed/used on a Debian/Ubuntu based system. First, download and unzip the source package using:

wget https://github.com/mamolinux/leaptime-manager/archive/refs/heads/master.zip
unzip master.zip
cd leaptime-manager-master
  1. Option 1: Manually copying necessary files. For that, follow the steps below:

    1. Install python package sources using meson:
      rm -rf builddir
      meson setup -Dprefix=$HOME/.local builddir
      meson compile -C builddir --verbose
      meson install -C builddir
      
      It will install all files under /home/<yourusername>/.local. To remove the locally (/home/<yourusername>/.local) installed files, run:
      ninja uninstall -C builddir
      
    2. To manually install for all users:
      rm -rf builddir
      meson setup builddir
      meson compile -C builddir --verbose
      sudo meson install -C builddir
      
      The last step requires Administrative Privilege. So, be careful before using this. To remove the installed files, run:
      sudo ninja uninstall -C builddir
      
  2. Option 2: Build a debian package and install it. To build a debian package on your own:

    1. from the leaptime-manager-master run:

      dpkg-buildpackage --no-sign
      

      This will create a leaptime-manager_*.deb package at ../leaptime-manager-master.

    2. Install the debian package using

      sudo dpkg -i ../leaptime-manager_*.deb
      sudo apt install -f
      

After it is installed, run leaptime-manager from terminal or use the leaptime-manager.desktop.

Other Linux-based systems

  1. Install the dependencies.
  2. From instructions for Debian/Ubuntu based systems, follow Option 1.

User Manual

Coming Soon or create a PR.

Issue Tracking and Contributing

If you are interested to contribute and enrich the code, you are most welcome. You can do it by:

  1. If you find a bug, to open a new issue with details: Click Here
  2. If you know how to fix a bug or want to add new feature/documentation to the existing package, please create a Pull Request.

For Developers

I am managing these apps all by myself during my free time. There are times when I can't contribute for months. So a little help is always welcome. If you want to test LeapTime Manager,

  1. Get the source package and unzip it using:
    wget https://github.com/mamolinux/leaptime-manager/archive/refs/heads/master.zip
    unzip master.zip
    cd leaptime-manager-master
    
  2. Make desired modifications.
  3. Manually install using option 2.
  4. Test it by running in debug mode from terminal:
    leaptime-manager --gui --verbose
    

Translation

All translations are done using using Launchpad Translations. To help translate LeapTime Manager in your favourite language follow these steps:

  1. Go to translations page on Launchpad.
  2. Click on the language, you want to translate.
  3. Translate strings.
  4. Finally, click on Save & Continue.

Contributors

Author

Himadri Sekhar Basu is the author and current maintainer.

Donations

I am a freelance programmer. So, If you like this app and would like to offer me a coffee ( ☕ ) to motivate me further, you can do so via: