summaryrefslogtreecommitdiff
path: root/python-azkaban.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-azkaban.spec')
-rw-r--r--python-azkaban.spec288
1 files changed, 288 insertions, 0 deletions
diff --git a/python-azkaban.spec b/python-azkaban.spec
new file mode 100644
index 0000000..cf77b65
--- /dev/null
+++ b/python-azkaban.spec
@@ -0,0 +1,288 @@
+%global _empty_manifest_terminate_build 0
+Name: python-azkaban
+Version: 0.9.14
+Release: 1
+Summary: AzkabanCLI: a lightweight command line interface for Azkaban.
+License: MIT
+URL: http://azkabancli.readthedocs.org/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c2/c8/0f9de2b6011d4c69a63f9b67b0f781000766ce9efb0a59370477ea09cabc/azkaban-0.9.14.tar.gz
+BuildArch: noarch
+
+
+%description
+# AzkabanCLI [![Build badge](https://travis-ci.org/mtth/azkaban.png?branch=master)](https://travis-ci.org/mtth/azkaban) [![Pypi badge](https://badge.fury.io/py/azkaban.svg)](https://pypi.python.org/pypi/azkaban/) [![Downloads badge](https://img.shields.io/pypi/dm/azkaban.svg)](https://pypistats.org/packages/azkaban)
+
+A lightweight [Azkaban][] client providing:
+
+* A command line interface to run workflows, upload projects, etc.
+* A convenient and extensible way for building projects.
+
+## Sample
+
+Below is a simple configuration file for a project containing a workflow with
+three jobs:
+
+```python
+from azkaban import Job, Project
+from getpass import getuser
+
+PROJECT = Project('sample')
+
+# properties available to all jobs
+PROJECT.properties = {
+ 'user.to.proxy': getuser(),
+}
+
+# dictionary of jobs
+JOBS = {
+ 'first': Job({'type': 'command', 'command': 'echo "Hello"'}),
+ 'second': Job({'type': 'command', 'command': 'echo "World"'}),
+ 'third': Job({'type': 'noop', 'dependencies': 'first,second'}),
+}
+
+for name, job in JOBS.items():
+ PROJECT.add_job(name, job)
+```
+
+The [examples][] directory contains another sample project that uses Azkaban
+properties to build a project with two configurations: production and test,
+without any job duplication.
+
+## Documentation
+
+The full documentation can be found [here][doc].
+
+## Installation
+
+Using [pip][]:
+
+```sh
+$ pip install azkaban
+```
+
+## Development
+
+Run tests:
+
+```sh
+$ nosetests
+```
+
+To also run the integration tests against an Azkaban server, create
+`~/.azkabanrc` that includes at least:
+
+```cfg
+[azkaban]
+test.alias = local
+
+[alias.local]
+url = azkaban:azkaban@http://localhost:8081
+```
+
+[Azkaban]: http://data.linkedin.com/opensource/azkaban
+[doc]: http://azkabancli.readthedocs.org/
+[examples]: https://github.com/mtth/azkaban/tree/master/examples
+[pip]: http://www.pip-installer.org/en/latest/
+
+%package -n python3-azkaban
+Summary: AzkabanCLI: a lightweight command line interface for Azkaban.
+Provides: python-azkaban
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-azkaban
+# AzkabanCLI [![Build badge](https://travis-ci.org/mtth/azkaban.png?branch=master)](https://travis-ci.org/mtth/azkaban) [![Pypi badge](https://badge.fury.io/py/azkaban.svg)](https://pypi.python.org/pypi/azkaban/) [![Downloads badge](https://img.shields.io/pypi/dm/azkaban.svg)](https://pypistats.org/packages/azkaban)
+
+A lightweight [Azkaban][] client providing:
+
+* A command line interface to run workflows, upload projects, etc.
+* A convenient and extensible way for building projects.
+
+## Sample
+
+Below is a simple configuration file for a project containing a workflow with
+three jobs:
+
+```python
+from azkaban import Job, Project
+from getpass import getuser
+
+PROJECT = Project('sample')
+
+# properties available to all jobs
+PROJECT.properties = {
+ 'user.to.proxy': getuser(),
+}
+
+# dictionary of jobs
+JOBS = {
+ 'first': Job({'type': 'command', 'command': 'echo "Hello"'}),
+ 'second': Job({'type': 'command', 'command': 'echo "World"'}),
+ 'third': Job({'type': 'noop', 'dependencies': 'first,second'}),
+}
+
+for name, job in JOBS.items():
+ PROJECT.add_job(name, job)
+```
+
+The [examples][] directory contains another sample project that uses Azkaban
+properties to build a project with two configurations: production and test,
+without any job duplication.
+
+## Documentation
+
+The full documentation can be found [here][doc].
+
+## Installation
+
+Using [pip][]:
+
+```sh
+$ pip install azkaban
+```
+
+## Development
+
+Run tests:
+
+```sh
+$ nosetests
+```
+
+To also run the integration tests against an Azkaban server, create
+`~/.azkabanrc` that includes at least:
+
+```cfg
+[azkaban]
+test.alias = local
+
+[alias.local]
+url = azkaban:azkaban@http://localhost:8081
+```
+
+[Azkaban]: http://data.linkedin.com/opensource/azkaban
+[doc]: http://azkabancli.readthedocs.org/
+[examples]: https://github.com/mtth/azkaban/tree/master/examples
+[pip]: http://www.pip-installer.org/en/latest/
+
+%package help
+Summary: Development documents and examples for azkaban
+Provides: python3-azkaban-doc
+%description help
+# AzkabanCLI [![Build badge](https://travis-ci.org/mtth/azkaban.png?branch=master)](https://travis-ci.org/mtth/azkaban) [![Pypi badge](https://badge.fury.io/py/azkaban.svg)](https://pypi.python.org/pypi/azkaban/) [![Downloads badge](https://img.shields.io/pypi/dm/azkaban.svg)](https://pypistats.org/packages/azkaban)
+
+A lightweight [Azkaban][] client providing:
+
+* A command line interface to run workflows, upload projects, etc.
+* A convenient and extensible way for building projects.
+
+## Sample
+
+Below is a simple configuration file for a project containing a workflow with
+three jobs:
+
+```python
+from azkaban import Job, Project
+from getpass import getuser
+
+PROJECT = Project('sample')
+
+# properties available to all jobs
+PROJECT.properties = {
+ 'user.to.proxy': getuser(),
+}
+
+# dictionary of jobs
+JOBS = {
+ 'first': Job({'type': 'command', 'command': 'echo "Hello"'}),
+ 'second': Job({'type': 'command', 'command': 'echo "World"'}),
+ 'third': Job({'type': 'noop', 'dependencies': 'first,second'}),
+}
+
+for name, job in JOBS.items():
+ PROJECT.add_job(name, job)
+```
+
+The [examples][] directory contains another sample project that uses Azkaban
+properties to build a project with two configurations: production and test,
+without any job duplication.
+
+## Documentation
+
+The full documentation can be found [here][doc].
+
+## Installation
+
+Using [pip][]:
+
+```sh
+$ pip install azkaban
+```
+
+## Development
+
+Run tests:
+
+```sh
+$ nosetests
+```
+
+To also run the integration tests against an Azkaban server, create
+`~/.azkabanrc` that includes at least:
+
+```cfg
+[azkaban]
+test.alias = local
+
+[alias.local]
+url = azkaban:azkaban@http://localhost:8081
+```
+
+[Azkaban]: http://data.linkedin.com/opensource/azkaban
+[doc]: http://azkabancli.readthedocs.org/
+[examples]: https://github.com/mtth/azkaban/tree/master/examples
+[pip]: http://www.pip-installer.org/en/latest/
+
+%prep
+%autosetup -n azkaban-0.9.14
+
+%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-azkaban -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 0.9.14-1
+- Package Spec generated