diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-10 09:12:21 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 09:12:21 +0000 |
commit | c0eca58c3265f6c09451a93e5b7c07dcfe064053 (patch) | |
tree | d0d5387285debb6275ff34daba79ab8f8ee3f48e /python-backup2cloud.spec | |
parent | 78ea6f64e5a1d5a3858662824d05e6581e9372b4 (diff) |
automatic import of python-backup2cloud
Diffstat (limited to 'python-backup2cloud.spec')
-rw-r--r-- | python-backup2cloud.spec | 305 |
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 |