diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-06-20 07:21:54 +0000 | 
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 07:21:54 +0000 | 
| commit | 1d8453d13abfc64cb85114fa6b940783a4f90d52 (patch) | |
| tree | 9712b191aeedba8bf12be07552a0ebbdb06c6634 | |
| parent | 00c7fa5c8e3c0ab74e640a2bb4ea7a3ee0a38df0 (diff) | |
automatic import of python-ntsbuildtoolsopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-ntsbuildtools.spec | 510 | ||||
| -rw-r--r-- | sources | 1 | 
3 files changed, 512 insertions, 0 deletions
| @@ -0,0 +1 @@ +/ntsbuildtools-4.0.7.tar.gz diff --git a/python-ntsbuildtools.spec b/python-ntsbuildtools.spec new file mode 100644 index 0000000..74121b1 --- /dev/null +++ b/python-ntsbuildtools.spec @@ -0,0 +1,510 @@ +%global _empty_manifest_terminate_build 0 +Name:		python-ntsbuildtools +Version:	4.0.7 +Release:	1 +Summary:	CLI toolset that supports CICD processes. +License:	MIT +URL:		https://git.uoregon.edu/projects/ISN/repos/buildtools/browse +Source0:	https://mirrors.aliyun.com/pypi/web/packages/52/d1/8823ae1b101a3447b988d512c83b866493517d1e93c877b7117b7d060d67/ntsbuildtools-4.0.7.tar.gz +BuildArch:	noarch + + +%description +BuildTools is a collection of scripts that support the University of Oregon's Network and Telecom Services team (NTS)  +continuous integration and deployment solutions. E.g. this solution is used in Jenkinsfile pipelines. + +[](https://badge.fury.io/py/ntsbuildtools) + +# Install BuildTools + +BuildTools is packaged as `ntsbuildtools` and provided in the Python Package Index (PyPI). +So, simply use pip to install BuildTools. + +    pip install ntsbuildtools + +# BuildTools Usage + +With BuildTools installed, the `buildtools` CLI utility should now be available in your shell. + +    $ buildtools --version +    BuildTools Version: 1.3.5 + +Below is an example of posting a comment onto an existing BitBucket Pull Request. + +    $ buildtools post bitbucket pr-comment \ +        --bitbucket-url https://git.uoregon.edu \ +        --user rleonar7 \  +        --password SuperSecretPassword \  +        --project ISN \ +        --repo buildtools \ +        --pull-request-id 2 \  +        --message "Hello, world! I am BuildTools!" + + + +## BuildTools Capabilities + +BuildTools has many capabilities. These capabilities are provided as subcommands.  +To discover the subcommands available in your version of BuildTools, use the `--help` argument anywhere in the CLI.  + +> BuildTools capabilities can discovered much more easily when using tab completion -- **how to enable tab completion via `argcomplete` is discussed below.** + +In the example below, we see how the `--help` flag informs us that the `buildtools post bitbucket pr-comment` command is available and how to run it! + +    $ buildtools --help +    usage: buildtools [-h] [--version] [--bitbucket-url BITBUCKET_URL] {post,parse} ... +      +    positional arguments: +      {post,parse} +        post                Make an HTTP POST to a target. +        parse               Parse some input (typically from a file). + +    $ buildtools post --help +    usage: buildtools post [-h] {bitbucket,teams,github} ... +     +    positional arguments: +      {bitbucket,teams,github} +        bitbucket           Target Bitbucket. +        teams               Target Microsoft Teams. +        github              Target GitHub. + +    $ buildtools post bitbucket --help +    usage: buildtools post bitbucket [-h] {build-status,pr-comment} ... +     +    positional arguments: +      {build-status,pr-comment} +        build-status        Set the "Build Status" in Bitbucket for a particular git commit. +        pr-comment          Posts a comment to a Bitbucket pull request, with optional arguments for 'Jenkins build  +                            annotations', indicating build status, encasing content in 'diff markdown', and more! + +    $ buildtools post bitbucket pr-comment --help +    usage: buildtools post bitbucket pr-comment [-h] [--version] [--bitbucket-url BITBUCKET_URL] +                                                (--message COMMENT_MESSAGE | --file COMMENT_FILE | --json JSON_OUTPUT | --json-file JSON_FILE) +                                                --user USER --password PASSWORD --project PROJECT +                                                --repo REPO --pull-request-id PULL_REQUEST_ID +                                                [--diff-markdown] +                                                [--code-markdown] +                                                [--max-comment-size MAX_COMMENT_SIZE] [--tail TAIL] +                                                [--build-annotation] +                                                [--playbook-limit PLAYBOOK_LIMIT] +                                                [--build-id BUILD_ID] [--build-url BUILD_URL] +                                                [--build-status {SUCCESS,UNSTABLE,FAILURE,NOT_BUILD,ABORTED}] +     +    optional arguments: +      -h, --help            show this help message and exit +      --version             show program's version number and exit +      --bitbucket-url BITBUCKET_URL +                            URL for Bitbucket. [env var: BITBUCKET_URL] +      --message COMMENT_MESSAGE, -m COMMENT_MESSAGE +                            Provide the comment as a message on the command line. +      --file COMMENT_FILE, -f COMMENT_FILE +                            Provide the comment in a file. +      --json JSON_OUTPUT, -j JSON_OUTPUT +                            Provide ansible JSON output as a message on the command line (which will +                            be parsed to extract build-status info). NOTE: Additional 'formatting' +                            arguments, such as '--code-markdown', are ignored when using json input. +      --json-file JSON_FILE +                            Provide ansible JSON output as a file (which will be parsed to extract +                            build-status info). NOTE: Additional 'formatting' arguments, such as '-- +                            code-markdown', are ignored when using json input. +      --user USER           Bitbucket user that will be used to authenticate to Bitbucket. [env var: +                            BITBUCKET_USER] +      --password PASSWORD   Bitbucket password (or Personal Access Token) for the Bitbucket user. +                            [env var: BITBUCKET_PASSWORD] +      --project PROJECT     The Bitbucket project key for the project where the pull request exists. +                            [env var: BITBUCKET_PROJECT] +      --repo REPO           The Bitbucket repository slug for the repository where the pull request +                            exists. [env var: BITBUCKET_REPO] +      --pull-request-id PULL_REQUEST_ID +                            The ID of the Bitbucket pull request to be commented on. [env var: PR_ID] +     +    formatting: +      --diff-markdown       Wrap the provided comment in diff markdown. E.g. ```diff \{comment\}) ``` +      --code-markdown       Wrap the provided comment in code markdown. E.g. ``` \{comment\}) ``` +      --max-comment-size MAX_COMMENT_SIZE +                            Fragment the comment into based on the maximum comment size. +      --trim TRIM           Only print the last `TRIM` lines of the provided message/file. + +### Tab Completion? Yes, please! + +BuildTools works as a CLI by default, and can support tab completion via the [`argcomplete` module](https://kislyuk.github.io/argcomplete/). + +    $ buildtools (double press 'tab' to see possible commands)  +    --bitbucket-url  --help           --version        -h               parse            post              +    $ buildtools post (double press 'tab') +    --help     -h         bitbucket  github     teams       +    $ buildtools post bitbucket (double press 'tab') +    --help        -h            build-status  pr-comment     +    $ buildtools post bitbucket pr-comment + +Unfortunately, this does not work 'out of the box' without doing some 'bash configuration.' +So, run the following commands to enable argcomplete in your bash session: +         +    pip install argcomplete +    eval "$(register-python-argcomplete buildtools)" + +#### Tab Completion for *all* bash sessions + +If you want `buildtools` tab completion to work for *all* your bash sessions, we just need to install argcomplete for your user and add a line to your `bashrc` file. + +Install argcomplete to your Python user site-package: + +    deactivate # (if currently in a Python venv) +    pip3 install --user argcomplete + +Add the following to your `~/.bashrc`: + +    if [ -x "register-python-argcomplete" ] ; then +        eval "$(register-python-argcomplete buildtools)" +    fi + +%package -n python3-ntsbuildtools +Summary:	CLI toolset that supports CICD processes. +Provides:	python-ntsbuildtools +BuildRequires:	python3-devel +BuildRequires:	python3-setuptools +BuildRequires:	python3-pip +%description -n python3-ntsbuildtools +BuildTools is a collection of scripts that support the University of Oregon's Network and Telecom Services team (NTS)  +continuous integration and deployment solutions. E.g. this solution is used in Jenkinsfile pipelines. + +[](https://badge.fury.io/py/ntsbuildtools) + +# Install BuildTools + +BuildTools is packaged as `ntsbuildtools` and provided in the Python Package Index (PyPI). +So, simply use pip to install BuildTools. + +    pip install ntsbuildtools + +# BuildTools Usage + +With BuildTools installed, the `buildtools` CLI utility should now be available in your shell. + +    $ buildtools --version +    BuildTools Version: 1.3.5 + +Below is an example of posting a comment onto an existing BitBucket Pull Request. + +    $ buildtools post bitbucket pr-comment \ +        --bitbucket-url https://git.uoregon.edu \ +        --user rleonar7 \  +        --password SuperSecretPassword \  +        --project ISN \ +        --repo buildtools \ +        --pull-request-id 2 \  +        --message "Hello, world! I am BuildTools!" + + + +## BuildTools Capabilities + +BuildTools has many capabilities. These capabilities are provided as subcommands.  +To discover the subcommands available in your version of BuildTools, use the `--help` argument anywhere in the CLI.  + +> BuildTools capabilities can discovered much more easily when using tab completion -- **how to enable tab completion via `argcomplete` is discussed below.** + +In the example below, we see how the `--help` flag informs us that the `buildtools post bitbucket pr-comment` command is available and how to run it! + +    $ buildtools --help +    usage: buildtools [-h] [--version] [--bitbucket-url BITBUCKET_URL] {post,parse} ... +      +    positional arguments: +      {post,parse} +        post                Make an HTTP POST to a target. +        parse               Parse some input (typically from a file). + +    $ buildtools post --help +    usage: buildtools post [-h] {bitbucket,teams,github} ... +     +    positional arguments: +      {bitbucket,teams,github} +        bitbucket           Target Bitbucket. +        teams               Target Microsoft Teams. +        github              Target GitHub. + +    $ buildtools post bitbucket --help +    usage: buildtools post bitbucket [-h] {build-status,pr-comment} ... +     +    positional arguments: +      {build-status,pr-comment} +        build-status        Set the "Build Status" in Bitbucket for a particular git commit. +        pr-comment          Posts a comment to a Bitbucket pull request, with optional arguments for 'Jenkins build  +                            annotations', indicating build status, encasing content in 'diff markdown', and more! + +    $ buildtools post bitbucket pr-comment --help +    usage: buildtools post bitbucket pr-comment [-h] [--version] [--bitbucket-url BITBUCKET_URL] +                                                (--message COMMENT_MESSAGE | --file COMMENT_FILE | --json JSON_OUTPUT | --json-file JSON_FILE) +                                                --user USER --password PASSWORD --project PROJECT +                                                --repo REPO --pull-request-id PULL_REQUEST_ID +                                                [--diff-markdown] +                                                [--code-markdown] +                                                [--max-comment-size MAX_COMMENT_SIZE] [--tail TAIL] +                                                [--build-annotation] +                                                [--playbook-limit PLAYBOOK_LIMIT] +                                                [--build-id BUILD_ID] [--build-url BUILD_URL] +                                                [--build-status {SUCCESS,UNSTABLE,FAILURE,NOT_BUILD,ABORTED}] +     +    optional arguments: +      -h, --help            show this help message and exit +      --version             show program's version number and exit +      --bitbucket-url BITBUCKET_URL +                            URL for Bitbucket. [env var: BITBUCKET_URL] +      --message COMMENT_MESSAGE, -m COMMENT_MESSAGE +                            Provide the comment as a message on the command line. +      --file COMMENT_FILE, -f COMMENT_FILE +                            Provide the comment in a file. +      --json JSON_OUTPUT, -j JSON_OUTPUT +                            Provide ansible JSON output as a message on the command line (which will +                            be parsed to extract build-status info). NOTE: Additional 'formatting' +                            arguments, such as '--code-markdown', are ignored when using json input. +      --json-file JSON_FILE +                            Provide ansible JSON output as a file (which will be parsed to extract +                            build-status info). NOTE: Additional 'formatting' arguments, such as '-- +                            code-markdown', are ignored when using json input. +      --user USER           Bitbucket user that will be used to authenticate to Bitbucket. [env var: +                            BITBUCKET_USER] +      --password PASSWORD   Bitbucket password (or Personal Access Token) for the Bitbucket user. +                            [env var: BITBUCKET_PASSWORD] +      --project PROJECT     The Bitbucket project key for the project where the pull request exists. +                            [env var: BITBUCKET_PROJECT] +      --repo REPO           The Bitbucket repository slug for the repository where the pull request +                            exists. [env var: BITBUCKET_REPO] +      --pull-request-id PULL_REQUEST_ID +                            The ID of the Bitbucket pull request to be commented on. [env var: PR_ID] +     +    formatting: +      --diff-markdown       Wrap the provided comment in diff markdown. E.g. ```diff \{comment\}) ``` +      --code-markdown       Wrap the provided comment in code markdown. E.g. ``` \{comment\}) ``` +      --max-comment-size MAX_COMMENT_SIZE +                            Fragment the comment into based on the maximum comment size. +      --trim TRIM           Only print the last `TRIM` lines of the provided message/file. + +### Tab Completion? Yes, please! + +BuildTools works as a CLI by default, and can support tab completion via the [`argcomplete` module](https://kislyuk.github.io/argcomplete/). + +    $ buildtools (double press 'tab' to see possible commands)  +    --bitbucket-url  --help           --version        -h               parse            post              +    $ buildtools post (double press 'tab') +    --help     -h         bitbucket  github     teams       +    $ buildtools post bitbucket (double press 'tab') +    --help        -h            build-status  pr-comment     +    $ buildtools post bitbucket pr-comment + +Unfortunately, this does not work 'out of the box' without doing some 'bash configuration.' +So, run the following commands to enable argcomplete in your bash session: +         +    pip install argcomplete +    eval "$(register-python-argcomplete buildtools)" + +#### Tab Completion for *all* bash sessions + +If you want `buildtools` tab completion to work for *all* your bash sessions, we just need to install argcomplete for your user and add a line to your `bashrc` file. + +Install argcomplete to your Python user site-package: + +    deactivate # (if currently in a Python venv) +    pip3 install --user argcomplete + +Add the following to your `~/.bashrc`: + +    if [ -x "register-python-argcomplete" ] ; then +        eval "$(register-python-argcomplete buildtools)" +    fi + +%package help +Summary:	Development documents and examples for ntsbuildtools +Provides:	python3-ntsbuildtools-doc +%description help +BuildTools is a collection of scripts that support the University of Oregon's Network and Telecom Services team (NTS)  +continuous integration and deployment solutions. E.g. this solution is used in Jenkinsfile pipelines. + +[](https://badge.fury.io/py/ntsbuildtools) + +# Install BuildTools + +BuildTools is packaged as `ntsbuildtools` and provided in the Python Package Index (PyPI). +So, simply use pip to install BuildTools. + +    pip install ntsbuildtools + +# BuildTools Usage + +With BuildTools installed, the `buildtools` CLI utility should now be available in your shell. + +    $ buildtools --version +    BuildTools Version: 1.3.5 + +Below is an example of posting a comment onto an existing BitBucket Pull Request. + +    $ buildtools post bitbucket pr-comment \ +        --bitbucket-url https://git.uoregon.edu \ +        --user rleonar7 \  +        --password SuperSecretPassword \  +        --project ISN \ +        --repo buildtools \ +        --pull-request-id 2 \  +        --message "Hello, world! I am BuildTools!" + + + +## BuildTools Capabilities + +BuildTools has many capabilities. These capabilities are provided as subcommands.  +To discover the subcommands available in your version of BuildTools, use the `--help` argument anywhere in the CLI.  + +> BuildTools capabilities can discovered much more easily when using tab completion -- **how to enable tab completion via `argcomplete` is discussed below.** + +In the example below, we see how the `--help` flag informs us that the `buildtools post bitbucket pr-comment` command is available and how to run it! + +    $ buildtools --help +    usage: buildtools [-h] [--version] [--bitbucket-url BITBUCKET_URL] {post,parse} ... +      +    positional arguments: +      {post,parse} +        post                Make an HTTP POST to a target. +        parse               Parse some input (typically from a file). + +    $ buildtools post --help +    usage: buildtools post [-h] {bitbucket,teams,github} ... +     +    positional arguments: +      {bitbucket,teams,github} +        bitbucket           Target Bitbucket. +        teams               Target Microsoft Teams. +        github              Target GitHub. + +    $ buildtools post bitbucket --help +    usage: buildtools post bitbucket [-h] {build-status,pr-comment} ... +     +    positional arguments: +      {build-status,pr-comment} +        build-status        Set the "Build Status" in Bitbucket for a particular git commit. +        pr-comment          Posts a comment to a Bitbucket pull request, with optional arguments for 'Jenkins build  +                            annotations', indicating build status, encasing content in 'diff markdown', and more! + +    $ buildtools post bitbucket pr-comment --help +    usage: buildtools post bitbucket pr-comment [-h] [--version] [--bitbucket-url BITBUCKET_URL] +                                                (--message COMMENT_MESSAGE | --file COMMENT_FILE | --json JSON_OUTPUT | --json-file JSON_FILE) +                                                --user USER --password PASSWORD --project PROJECT +                                                --repo REPO --pull-request-id PULL_REQUEST_ID +                                                [--diff-markdown] +                                                [--code-markdown] +                                                [--max-comment-size MAX_COMMENT_SIZE] [--tail TAIL] +                                                [--build-annotation] +                                                [--playbook-limit PLAYBOOK_LIMIT] +                                                [--build-id BUILD_ID] [--build-url BUILD_URL] +                                                [--build-status {SUCCESS,UNSTABLE,FAILURE,NOT_BUILD,ABORTED}] +     +    optional arguments: +      -h, --help            show this help message and exit +      --version             show program's version number and exit +      --bitbucket-url BITBUCKET_URL +                            URL for Bitbucket. [env var: BITBUCKET_URL] +      --message COMMENT_MESSAGE, -m COMMENT_MESSAGE +                            Provide the comment as a message on the command line. +      --file COMMENT_FILE, -f COMMENT_FILE +                            Provide the comment in a file. +      --json JSON_OUTPUT, -j JSON_OUTPUT +                            Provide ansible JSON output as a message on the command line (which will +                            be parsed to extract build-status info). NOTE: Additional 'formatting' +                            arguments, such as '--code-markdown', are ignored when using json input. +      --json-file JSON_FILE +                            Provide ansible JSON output as a file (which will be parsed to extract +                            build-status info). NOTE: Additional 'formatting' arguments, such as '-- +                            code-markdown', are ignored when using json input. +      --user USER           Bitbucket user that will be used to authenticate to Bitbucket. [env var: +                            BITBUCKET_USER] +      --password PASSWORD   Bitbucket password (or Personal Access Token) for the Bitbucket user. +                            [env var: BITBUCKET_PASSWORD] +      --project PROJECT     The Bitbucket project key for the project where the pull request exists. +                            [env var: BITBUCKET_PROJECT] +      --repo REPO           The Bitbucket repository slug for the repository where the pull request +                            exists. [env var: BITBUCKET_REPO] +      --pull-request-id PULL_REQUEST_ID +                            The ID of the Bitbucket pull request to be commented on. [env var: PR_ID] +     +    formatting: +      --diff-markdown       Wrap the provided comment in diff markdown. E.g. ```diff \{comment\}) ``` +      --code-markdown       Wrap the provided comment in code markdown. E.g. ``` \{comment\}) ``` +      --max-comment-size MAX_COMMENT_SIZE +                            Fragment the comment into based on the maximum comment size. +      --trim TRIM           Only print the last `TRIM` lines of the provided message/file. + +### Tab Completion? Yes, please! + +BuildTools works as a CLI by default, and can support tab completion via the [`argcomplete` module](https://kislyuk.github.io/argcomplete/). + +    $ buildtools (double press 'tab' to see possible commands)  +    --bitbucket-url  --help           --version        -h               parse            post              +    $ buildtools post (double press 'tab') +    --help     -h         bitbucket  github     teams       +    $ buildtools post bitbucket (double press 'tab') +    --help        -h            build-status  pr-comment     +    $ buildtools post bitbucket pr-comment + +Unfortunately, this does not work 'out of the box' without doing some 'bash configuration.' +So, run the following commands to enable argcomplete in your bash session: +         +    pip install argcomplete +    eval "$(register-python-argcomplete buildtools)" + +#### Tab Completion for *all* bash sessions + +If you want `buildtools` tab completion to work for *all* your bash sessions, we just need to install argcomplete for your user and add a line to your `bashrc` file. + +Install argcomplete to your Python user site-package: + +    deactivate # (if currently in a Python venv) +    pip3 install --user argcomplete + +Add the following to your `~/.bashrc`: + +    if [ -x "register-python-argcomplete" ] ; then +        eval "$(register-python-argcomplete buildtools)" +    fi + +%prep +%autosetup -n ntsbuildtools-4.0.7 + +%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-ntsbuildtools -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 4.0.7-1 +- Package Spec generated @@ -0,0 +1 @@ +0f2a33123ce7c9f3e532951aff0b24af  ntsbuildtools-4.0.7.tar.gz | 
