From a019af63f081504083e536a803656fedee70ca2b Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 20 Jun 2023 04:20:36 +0000 Subject: automatic import of python-appman --- .gitignore | 1 + python-appman.spec | 671 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 673 insertions(+) create mode 100644 python-appman.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..e8ea88e 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/appman-0.4.5.tar.gz 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) + +

+ +## 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: (, to move, to select, to toggle, 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: (, to move, to select, to toggle, 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) + +

+ +## 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: (, to move, to select,
to toggle, 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: (, to move, to select, to toggle, 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) + +

+ +## 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: (, to move, to select,
to toggle, 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: (, to move, to select, to toggle, 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 - 0.4.5-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..5580be0 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +380febd361f19d535ee1c4814cb7f475 appman-0.4.5.tar.gz -- cgit v1.2.3