summaryrefslogtreecommitdiff
path: root/python-appman.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 04:20:36 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 04:20:36 +0000
commita019af63f081504083e536a803656fedee70ca2b (patch)
tree8675346bb63f07a5712c119e476268eadfc76036 /python-appman.spec
parenta05379bc2c8bebbf59c24db40be7ea214f352106 (diff)
automatic import of python-appmanopeneuler20.03
Diffstat (limited to 'python-appman.spec')
-rw-r--r--python-appman.spec671
1 files changed, 671 insertions, 0 deletions
diff --git a/python-appman.spec b/python-appman.spec
new file mode 100644
index 0000000..a976bd5
--- /dev/null
+++ b/python-appman.spec
@@ -0,0 +1,671 @@
+%global _empty_manifest_terminate_build 0
+Name: python-appman
+Version: 0.4.5
+Release: 1
+Summary: Cross-platform application management aggregator
+License: MIT
+URL: https://github.com/basiliskus/appman
+Source0: https://mirrors.aliyun.com/pypi/web/packages/98/e8/cedebbacd3f7e13f76cee184fe6057209c4a7aacffebc7a87d9287ea0722/appman-0.4.5.tar.gz
+BuildArch: noarch
+
+Requires: python3-pyyaml
+Requires: python3-click
+Requires: python3-distro
+Requires: python3-importlib-resources
+Requires: python3-inquirerpy
+
+%description
+# appman
+
+appman is cross-platform application management aggregator
+
+[![Build Status](https://app.travis-ci.com/basiliskus/appman.svg?branch=main)](https://app.travis-ci.com/basiliskus/appman)
+
+<p align="center"><img src="https://raw.githubusercontent.com/basiliskus/appman/main/docs/demo.gif"/></p>
+
+## Requirements
+
+- Python 3.8
+- Git
+
+## Installation
+
+You can install appman from [PyPI](https://pypi.org/project/appman/):
+
+```bash
+> pip install appman
+```
+
+## Background
+
+While working on my [dotfiles](https://wiki.archlinux.org/title/Dotfiles) repository, I realized that I also wanted to have a way to handle not just configuration files but also my installed applications. That way I'd be able to define which applications I want to have installed on any new environment, have those under version control, and run a script to install/uninstall applications on any new personal or work computer, server, etc.
+
+## Goals
+
+The main goal for appman is to be flexible and extensible. In that context the goals are:
+
+- Cross-platform: handle multiple OS and devices. Currently appman handles Ubuntu and Windows (desktop).
+- Multi-profile: define different profiles with a unique list of applications for different environments (e.g., work and personal computers).
+- Supported Packages: aside from desktop and command line applications, support software like: device drivers, software plugins and extensions (e.g., vscode extensions), backend libraries (e.g., python libraries), fonts, etc.
+- Package Management: support any package manager (e.g., apt, brew, scoop) or custom formulas to define how to install, uninstall and upgrade packages.
+- Package definitions source: the source for package definitions is a [git repository](https://github.com/basiliskus/appman-main), which allows you to fork and use your own repository.
+
+## How to use
+
+### Set up your user package list
+
+- Add a package to your user packages list
+
+ Using interactive mode:
+
+ ```console
+ $ appman add
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+ font
+ driver
+ provisioned
+ backend
+ extension
+
+ [?] Select app packages to add: (<up>, <down> to move, <space> to select, <a> to toggle, <i> to invert)
+ ○ curl
+ ○ fzf
+ >● git
+ ○ jq
+ ○ python
+ ○ ...
+
+ Added git package
+ ```
+
+ or directly passing parameters:
+
+ ```console
+ $ appman add -pt app -id git
+ ```
+
+- Remove a previously added package
+
+ Using interactive mode:
+
+ ```console
+ $ appman remove
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+ font
+ driver
+ provisioned
+ backend
+ extension
+
+ [?] Select app packages to remove: (<up>, <down> to move, <space> to select, <a> to toggle, <i> to invert)
+ ○ 7zip
+ ○ curl
+ >● git
+ ○ ...
+
+ Removed git package
+ ```
+
+ Directly passing parameters:
+
+ ```console
+ $ appman remove -pt app -id git
+ ```
+
+- Show your user packages list
+
+ Using interactive mode:
+
+ ```console
+ $ appman list
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+
+ • 7zip (cli, utils)
+ • curl (cli, utils)
+ ```
+
+ Directly passing parameters:
+
+ ```console
+ $ appman list -pt app
+ ```
+
+- Search all available packages to add
+
+ Using interactive mode:
+
+ ```console
+ $ appman search
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+
+ • 7zip
+ • ack
+ • apache2
+ • aria2
+ • bottom
+ • broot
+ • cookiecutter
+ • curl
+ ...
+ ```
+
+ Directly passing parameters:
+
+ ```console
+ $ appman search -pt app -id 7zip
+ ```
+
+### Install/Uninstall packages in your user packages list
+
+Using interactive mode:
+
+```console
+$ appman install
+
+[?] Select the package type: (Use arrow keys)
+>app
+
+Installing 7zip...
+Installing ack...
+...
+```
+
+Directly passing parameters:
+
+```console
+$ appman install -pt app -id 7zip
+```
+
+### Change the package definitions repository source
+
+```console
+$ appman repo https://github.com/basiliskus/appman-main
+```
+
+### Update the package definitions repository source
+
+```console
+$ appman update
+```
+
+### Using labels
+
+All packages have pre-defined labels (e.g. for apps: 'cli' & 'gui'), but you can also add your own labels by passing the --labels/-l parameter to the 'add' command.
+
+```console
+$ appman add -pt app -id 7zip -l server
+```
+
+You can also filter by labels when using the 'list', 'search', 'remove', 'install' or 'uninstall' commands
+
+```console
+$ appman list -pt app -l server
+```
+
+## License
+
+© Basilio Bogado. Distributed under the [MIT License](LICENSE).
+
+
+%package -n python3-appman
+Summary: Cross-platform application management aggregator
+Provides: python-appman
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-appman
+# appman
+
+appman is cross-platform application management aggregator
+
+[![Build Status](https://app.travis-ci.com/basiliskus/appman.svg?branch=main)](https://app.travis-ci.com/basiliskus/appman)
+
+<p align="center"><img src="https://raw.githubusercontent.com/basiliskus/appman/main/docs/demo.gif"/></p>
+
+## Requirements
+
+- Python 3.8
+- Git
+
+## Installation
+
+You can install appman from [PyPI](https://pypi.org/project/appman/):
+
+```bash
+> pip install appman
+```
+
+## Background
+
+While working on my [dotfiles](https://wiki.archlinux.org/title/Dotfiles) repository, I realized that I also wanted to have a way to handle not just configuration files but also my installed applications. That way I'd be able to define which applications I want to have installed on any new environment, have those under version control, and run a script to install/uninstall applications on any new personal or work computer, server, etc.
+
+## Goals
+
+The main goal for appman is to be flexible and extensible. In that context the goals are:
+
+- Cross-platform: handle multiple OS and devices. Currently appman handles Ubuntu and Windows (desktop).
+- Multi-profile: define different profiles with a unique list of applications for different environments (e.g., work and personal computers).
+- Supported Packages: aside from desktop and command line applications, support software like: device drivers, software plugins and extensions (e.g., vscode extensions), backend libraries (e.g., python libraries), fonts, etc.
+- Package Management: support any package manager (e.g., apt, brew, scoop) or custom formulas to define how to install, uninstall and upgrade packages.
+- Package definitions source: the source for package definitions is a [git repository](https://github.com/basiliskus/appman-main), which allows you to fork and use your own repository.
+
+## How to use
+
+### Set up your user package list
+
+- Add a package to your user packages list
+
+ Using interactive mode:
+
+ ```console
+ $ appman add
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+ font
+ driver
+ provisioned
+ backend
+ extension
+
+ [?] Select app packages to add: (<up>, <down> to move, <space> to select, <a> to toggle, <i> to invert)
+ ○ curl
+ ○ fzf
+ >● git
+ ○ jq
+ ○ python
+ ○ ...
+
+ Added git package
+ ```
+
+ or directly passing parameters:
+
+ ```console
+ $ appman add -pt app -id git
+ ```
+
+- Remove a previously added package
+
+ Using interactive mode:
+
+ ```console
+ $ appman remove
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+ font
+ driver
+ provisioned
+ backend
+ extension
+
+ [?] Select app packages to remove: (<up>, <down> to move, <space> to select, <a> to toggle, <i> to invert)
+ ○ 7zip
+ ○ curl
+ >● git
+ ○ ...
+
+ Removed git package
+ ```
+
+ Directly passing parameters:
+
+ ```console
+ $ appman remove -pt app -id git
+ ```
+
+- Show your user packages list
+
+ Using interactive mode:
+
+ ```console
+ $ appman list
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+
+ • 7zip (cli, utils)
+ • curl (cli, utils)
+ ```
+
+ Directly passing parameters:
+
+ ```console
+ $ appman list -pt app
+ ```
+
+- Search all available packages to add
+
+ Using interactive mode:
+
+ ```console
+ $ appman search
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+
+ • 7zip
+ • ack
+ • apache2
+ • aria2
+ • bottom
+ • broot
+ • cookiecutter
+ • curl
+ ...
+ ```
+
+ Directly passing parameters:
+
+ ```console
+ $ appman search -pt app -id 7zip
+ ```
+
+### Install/Uninstall packages in your user packages list
+
+Using interactive mode:
+
+```console
+$ appman install
+
+[?] Select the package type: (Use arrow keys)
+>app
+
+Installing 7zip...
+Installing ack...
+...
+```
+
+Directly passing parameters:
+
+```console
+$ appman install -pt app -id 7zip
+```
+
+### Change the package definitions repository source
+
+```console
+$ appman repo https://github.com/basiliskus/appman-main
+```
+
+### Update the package definitions repository source
+
+```console
+$ appman update
+```
+
+### Using labels
+
+All packages have pre-defined labels (e.g. for apps: 'cli' & 'gui'), but you can also add your own labels by passing the --labels/-l parameter to the 'add' command.
+
+```console
+$ appman add -pt app -id 7zip -l server
+```
+
+You can also filter by labels when using the 'list', 'search', 'remove', 'install' or 'uninstall' commands
+
+```console
+$ appman list -pt app -l server
+```
+
+## License
+
+© Basilio Bogado. Distributed under the [MIT License](LICENSE).
+
+
+%package help
+Summary: Development documents and examples for appman
+Provides: python3-appman-doc
+%description help
+# appman
+
+appman is cross-platform application management aggregator
+
+[![Build Status](https://app.travis-ci.com/basiliskus/appman.svg?branch=main)](https://app.travis-ci.com/basiliskus/appman)
+
+<p align="center"><img src="https://raw.githubusercontent.com/basiliskus/appman/main/docs/demo.gif"/></p>
+
+## Requirements
+
+- Python 3.8
+- Git
+
+## Installation
+
+You can install appman from [PyPI](https://pypi.org/project/appman/):
+
+```bash
+> pip install appman
+```
+
+## Background
+
+While working on my [dotfiles](https://wiki.archlinux.org/title/Dotfiles) repository, I realized that I also wanted to have a way to handle not just configuration files but also my installed applications. That way I'd be able to define which applications I want to have installed on any new environment, have those under version control, and run a script to install/uninstall applications on any new personal or work computer, server, etc.
+
+## Goals
+
+The main goal for appman is to be flexible and extensible. In that context the goals are:
+
+- Cross-platform: handle multiple OS and devices. Currently appman handles Ubuntu and Windows (desktop).
+- Multi-profile: define different profiles with a unique list of applications for different environments (e.g., work and personal computers).
+- Supported Packages: aside from desktop and command line applications, support software like: device drivers, software plugins and extensions (e.g., vscode extensions), backend libraries (e.g., python libraries), fonts, etc.
+- Package Management: support any package manager (e.g., apt, brew, scoop) or custom formulas to define how to install, uninstall and upgrade packages.
+- Package definitions source: the source for package definitions is a [git repository](https://github.com/basiliskus/appman-main), which allows you to fork and use your own repository.
+
+## How to use
+
+### Set up your user package list
+
+- Add a package to your user packages list
+
+ Using interactive mode:
+
+ ```console
+ $ appman add
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+ font
+ driver
+ provisioned
+ backend
+ extension
+
+ [?] Select app packages to add: (<up>, <down> to move, <space> to select, <a> to toggle, <i> to invert)
+ ○ curl
+ ○ fzf
+ >● git
+ ○ jq
+ ○ python
+ ○ ...
+
+ Added git package
+ ```
+
+ or directly passing parameters:
+
+ ```console
+ $ appman add -pt app -id git
+ ```
+
+- Remove a previously added package
+
+ Using interactive mode:
+
+ ```console
+ $ appman remove
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+ font
+ driver
+ provisioned
+ backend
+ extension
+
+ [?] Select app packages to remove: (<up>, <down> to move, <space> to select, <a> to toggle, <i> to invert)
+ ○ 7zip
+ ○ curl
+ >● git
+ ○ ...
+
+ Removed git package
+ ```
+
+ Directly passing parameters:
+
+ ```console
+ $ appman remove -pt app -id git
+ ```
+
+- Show your user packages list
+
+ Using interactive mode:
+
+ ```console
+ $ appman list
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+
+ • 7zip (cli, utils)
+ • curl (cli, utils)
+ ```
+
+ Directly passing parameters:
+
+ ```console
+ $ appman list -pt app
+ ```
+
+- Search all available packages to add
+
+ Using interactive mode:
+
+ ```console
+ $ appman search
+
+ [?] Select the package type: (Use arrow keys)
+ >app
+
+ • 7zip
+ • ack
+ • apache2
+ • aria2
+ • bottom
+ • broot
+ • cookiecutter
+ • curl
+ ...
+ ```
+
+ Directly passing parameters:
+
+ ```console
+ $ appman search -pt app -id 7zip
+ ```
+
+### Install/Uninstall packages in your user packages list
+
+Using interactive mode:
+
+```console
+$ appman install
+
+[?] Select the package type: (Use arrow keys)
+>app
+
+Installing 7zip...
+Installing ack...
+...
+```
+
+Directly passing parameters:
+
+```console
+$ appman install -pt app -id 7zip
+```
+
+### Change the package definitions repository source
+
+```console
+$ appman repo https://github.com/basiliskus/appman-main
+```
+
+### Update the package definitions repository source
+
+```console
+$ appman update
+```
+
+### Using labels
+
+All packages have pre-defined labels (e.g. for apps: 'cli' & 'gui'), but you can also add your own labels by passing the --labels/-l parameter to the 'add' command.
+
+```console
+$ appman add -pt app -id 7zip -l server
+```
+
+You can also filter by labels when using the 'list', 'search', 'remove', 'install' or 'uninstall' commands
+
+```console
+$ appman list -pt app -l server
+```
+
+## License
+
+© Basilio Bogado. Distributed under the [MIT License](LICENSE).
+
+
+%prep
+%autosetup -n appman-0.4.5
+
+%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-appman -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.4.5-1
+- Package Spec generated