summaryrefslogtreecommitdiff
path: root/python-backup2cloud.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 09:12:21 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 09:12:21 +0000
commitc0eca58c3265f6c09451a93e5b7c07dcfe064053 (patch)
treed0d5387285debb6275ff34daba79ab8f8ee3f48e /python-backup2cloud.spec
parent78ea6f64e5a1d5a3858662824d05e6581e9372b4 (diff)
automatic import of python-backup2cloud
Diffstat (limited to 'python-backup2cloud.spec')
-rw-r--r--python-backup2cloud.spec305
1 files changed, 305 insertions, 0 deletions
diff --git a/python-backup2cloud.spec b/python-backup2cloud.spec
new file mode 100644
index 0000000..562fd2c
--- /dev/null
+++ b/python-backup2cloud.spec
@@ -0,0 +1,305 @@
+%global _empty_manifest_terminate_build 0
+Name: python-Backup2Cloud
+Version: 1.0.17
+Release: 1
+Summary: Backup specific folders to and upload to a cloud provider
+License: Apache Software License
+URL: https://github.com/otapi/Backup2Cloud
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ef/a5/6a7aacfa7059773fab06c16a566a7748d7678fd2e239b3e85714a4950bc7/Backup2Cloud-1.0.17.tar.gz
+BuildArch: noarch
+
+Requires: python3-google-api-python-client
+Requires: python3-google-auth-httplib2
+Requires: python3-google-auth-oauthlib
+Requires: python3-py7zr
+Requires: python3-dirtools2
+
+%description
+# Backup 2 Cloud
+Backup specific folders and upload to a cloud provider. The uploaded files are 7zipped and encrypted locally. Uploads only those packages which were changed since last backup.
+
+Currently only Google Drive is supported, but can handle multiple accounts.
+
+Important: The tool can run only on machine with UI (with JavaScript enabled browser). Google doesn't allow to reach personal Google Drive files without UI: 'User data cannot be accessed from a platform without a UI because it requires user interaction for sign-in.'
+
+## What's new?
+### 1.0.17
+- New: wait some time after deleting a file from GDrive to wait for proper freespace info
+### 1.0.16
+- Fixed: Upload were not skipped when cheskum matched
+- New: creates log file Backup2Cloud.log in home directory
+
+## Install and Setup
+Requirements: Python 3.7 with pip and setuptools. If not installed, do it on Debian:
+
+`sudo apt install python3-venv python3-pip python3-setuptools`
+
+Install the tool's package via pip:
+
+`python -m pip install --upgrade Backup2Cloud`
+
+Run first time:
+
+`python -m Backup2Cloud`
+
+### INI file
+Open with a texteditor the ini file at your home directory (as shown on the first run above).
+Follow notes in the ini file and setup one or more places to backup.
+
+### .exclude file
+If you want to exclude subfolders or files, you can specify them by the same patterns as .gitignore files. Open with a texteditor the .exclude file at your home directory (as shown on the first run above).
+Follow notes in the .exclude file and add folder/file patterns to exclude
+
+### Enable Google Drive API
+Enable the OAuth Client ID at Google Drive API via:
+https://developers.google.com/drive/api/v3/quickstart/python
+(Or you can manage your already exisiting Google APIs here: https://console.developers.google.com/apis/)
+In resulting dialog click DOWNLOAD CLIENT CONFIGURATION and save the file credentials.json to your home directory (as shown on the first run above).
+
+Run the tool second time:
+`python -m Backup2Cloud`
+
+Let's follow the url (open it in a browser on the same) to authorize the API for each cloudspace sections: 'Please visit this URL to authorize this application'. Complete the access approval in a browser.
+
+## Usage
+Run a backup manually, or add the backup run to scheduler (e.g. cron):
+
+`python -m Backup2Cloud`
+
+Restore all backups manually to current folder:
+
+`python -m Backup2Cloud -d *`
+
+Command line interface:
+
+```
+Backup2Cloud - Backup specific folders to and upload to a cloud provider
+usage: __main__.py [-h] [-d DOWNLOAD] [-log LOGLEVEL] [destination]
+
+positional arguments:
+ destination Optional destination folder at Download mode. Example:
+ C:\output, default=current folder
+
+optional arguments:
+ -h, --help show this help message and exit
+ -d DOWNLOAD, --download DOWNLOAD
+ Download and extract all (*) or only the specified ID
+ entry of the INI to Destination folder. Example: -d
+ folder1
+ -log LOGLEVEL, --loglevel LOGLEVEL
+ Provide logging level. Example --loglevel debug,
+ default=info
+```
+
+
+
+%package -n python3-Backup2Cloud
+Summary: Backup specific folders to and upload to a cloud provider
+Provides: python-Backup2Cloud
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-Backup2Cloud
+# Backup 2 Cloud
+Backup specific folders and upload to a cloud provider. The uploaded files are 7zipped and encrypted locally. Uploads only those packages which were changed since last backup.
+
+Currently only Google Drive is supported, but can handle multiple accounts.
+
+Important: The tool can run only on machine with UI (with JavaScript enabled browser). Google doesn't allow to reach personal Google Drive files without UI: 'User data cannot be accessed from a platform without a UI because it requires user interaction for sign-in.'
+
+## What's new?
+### 1.0.17
+- New: wait some time after deleting a file from GDrive to wait for proper freespace info
+### 1.0.16
+- Fixed: Upload were not skipped when cheskum matched
+- New: creates log file Backup2Cloud.log in home directory
+
+## Install and Setup
+Requirements: Python 3.7 with pip and setuptools. If not installed, do it on Debian:
+
+`sudo apt install python3-venv python3-pip python3-setuptools`
+
+Install the tool's package via pip:
+
+`python -m pip install --upgrade Backup2Cloud`
+
+Run first time:
+
+`python -m Backup2Cloud`
+
+### INI file
+Open with a texteditor the ini file at your home directory (as shown on the first run above).
+Follow notes in the ini file and setup one or more places to backup.
+
+### .exclude file
+If you want to exclude subfolders or files, you can specify them by the same patterns as .gitignore files. Open with a texteditor the .exclude file at your home directory (as shown on the first run above).
+Follow notes in the .exclude file and add folder/file patterns to exclude
+
+### Enable Google Drive API
+Enable the OAuth Client ID at Google Drive API via:
+https://developers.google.com/drive/api/v3/quickstart/python
+(Or you can manage your already exisiting Google APIs here: https://console.developers.google.com/apis/)
+In resulting dialog click DOWNLOAD CLIENT CONFIGURATION and save the file credentials.json to your home directory (as shown on the first run above).
+
+Run the tool second time:
+`python -m Backup2Cloud`
+
+Let's follow the url (open it in a browser on the same) to authorize the API for each cloudspace sections: 'Please visit this URL to authorize this application'. Complete the access approval in a browser.
+
+## Usage
+Run a backup manually, or add the backup run to scheduler (e.g. cron):
+
+`python -m Backup2Cloud`
+
+Restore all backups manually to current folder:
+
+`python -m Backup2Cloud -d *`
+
+Command line interface:
+
+```
+Backup2Cloud - Backup specific folders to and upload to a cloud provider
+usage: __main__.py [-h] [-d DOWNLOAD] [-log LOGLEVEL] [destination]
+
+positional arguments:
+ destination Optional destination folder at Download mode. Example:
+ C:\output, default=current folder
+
+optional arguments:
+ -h, --help show this help message and exit
+ -d DOWNLOAD, --download DOWNLOAD
+ Download and extract all (*) or only the specified ID
+ entry of the INI to Destination folder. Example: -d
+ folder1
+ -log LOGLEVEL, --loglevel LOGLEVEL
+ Provide logging level. Example --loglevel debug,
+ default=info
+```
+
+
+
+%package help
+Summary: Development documents and examples for Backup2Cloud
+Provides: python3-Backup2Cloud-doc
+%description help
+# Backup 2 Cloud
+Backup specific folders and upload to a cloud provider. The uploaded files are 7zipped and encrypted locally. Uploads only those packages which were changed since last backup.
+
+Currently only Google Drive is supported, but can handle multiple accounts.
+
+Important: The tool can run only on machine with UI (with JavaScript enabled browser). Google doesn't allow to reach personal Google Drive files without UI: 'User data cannot be accessed from a platform without a UI because it requires user interaction for sign-in.'
+
+## What's new?
+### 1.0.17
+- New: wait some time after deleting a file from GDrive to wait for proper freespace info
+### 1.0.16
+- Fixed: Upload were not skipped when cheskum matched
+- New: creates log file Backup2Cloud.log in home directory
+
+## Install and Setup
+Requirements: Python 3.7 with pip and setuptools. If not installed, do it on Debian:
+
+`sudo apt install python3-venv python3-pip python3-setuptools`
+
+Install the tool's package via pip:
+
+`python -m pip install --upgrade Backup2Cloud`
+
+Run first time:
+
+`python -m Backup2Cloud`
+
+### INI file
+Open with a texteditor the ini file at your home directory (as shown on the first run above).
+Follow notes in the ini file and setup one or more places to backup.
+
+### .exclude file
+If you want to exclude subfolders or files, you can specify them by the same patterns as .gitignore files. Open with a texteditor the .exclude file at your home directory (as shown on the first run above).
+Follow notes in the .exclude file and add folder/file patterns to exclude
+
+### Enable Google Drive API
+Enable the OAuth Client ID at Google Drive API via:
+https://developers.google.com/drive/api/v3/quickstart/python
+(Or you can manage your already exisiting Google APIs here: https://console.developers.google.com/apis/)
+In resulting dialog click DOWNLOAD CLIENT CONFIGURATION and save the file credentials.json to your home directory (as shown on the first run above).
+
+Run the tool second time:
+`python -m Backup2Cloud`
+
+Let's follow the url (open it in a browser on the same) to authorize the API for each cloudspace sections: 'Please visit this URL to authorize this application'. Complete the access approval in a browser.
+
+## Usage
+Run a backup manually, or add the backup run to scheduler (e.g. cron):
+
+`python -m Backup2Cloud`
+
+Restore all backups manually to current folder:
+
+`python -m Backup2Cloud -d *`
+
+Command line interface:
+
+```
+Backup2Cloud - Backup specific folders to and upload to a cloud provider
+usage: __main__.py [-h] [-d DOWNLOAD] [-log LOGLEVEL] [destination]
+
+positional arguments:
+ destination Optional destination folder at Download mode. Example:
+ C:\output, default=current folder
+
+optional arguments:
+ -h, --help show this help message and exit
+ -d DOWNLOAD, --download DOWNLOAD
+ Download and extract all (*) or only the specified ID
+ entry of the INI to Destination folder. Example: -d
+ folder1
+ -log LOGLEVEL, --loglevel LOGLEVEL
+ Provide logging level. Example --loglevel debug,
+ default=info
+```
+
+
+
+%prep
+%autosetup -n Backup2Cloud-1.0.17
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-Backup2Cloud -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.17-1
+- Package Spec generated