diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-05 13:30:13 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 13:30:13 +0000 |
| commit | a8c0ca74548a999a84f42261d7e427be0bc198e2 (patch) | |
| tree | 32f302c2d9a67d05a4721a6bfcf8f3cbb9dbc27f | |
| parent | 9033ee96ae29c75e90a9660fd4092e6c614db6ce (diff) | |
automatic import of python-bandersnatchopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-bandersnatch.spec | 673 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 675 insertions, 0 deletions
@@ -0,0 +1 @@ +/bandersnatch-6.3.0.tar.gz diff --git a/python-bandersnatch.spec b/python-bandersnatch.spec new file mode 100644 index 0000000..9e8699d --- /dev/null +++ b/python-bandersnatch.spec @@ -0,0 +1,673 @@ +%global _empty_manifest_terminate_build 0 +Name: python-bandersnatch +Version: 6.3.0 +Release: 1 +Summary: Mirroring tool that implements the client (mirror) side of PEP 381 +License: Academic Free License, version 3 +URL: https://github.com/pypa/bandersnatch/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f4/3a/5ab09d852955a1acae22d6ce79b4a91eca7f8684e3b2fa953d6b7d750348/bandersnatch-6.3.0.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp +Requires: python3-aiohttp-socks +Requires: python3-aiohttp-xmlrpc +Requires: python3-filelock +Requires: python3-humanfriendly +Requires: python3-packaging +Requires: python3-setuptools +Requires: python3-s3path +Requires: python3-bandersnatch-safety-db +Requires: python3-keystoneauth1 +Requires: python3-openstackclient +Requires: python3-swiftclient +Requires: python3-uvloop + +%description +[](https://github.com/ambv/black) +[](https://github.com/pypa/bandersnatch/actions) +[](https://codecov.io/github/pypa/bandersnatch) +[](http://bandersnatch.readthedocs.io/en/latest/?badge=latest) +[](https://pepy.tech/project/bandersnatch) + +______________________________________________________________________ + +This is a PyPI mirror client according to `PEP 381` + `PEP 503` + `PEP 691` +<http://www.python.org/dev/peps/pep-0381/>. + +- bandersnatch >=6.0 implements PEP691 +- bandersnatch >=4.0 supports *Linux*, *MacOSX* + *Windows* +- [Documentation](https://bandersnatch.readthedocs.io/en/latest/) + +**bandersnatch maintainers** are looking for more **help**! Please refer to our +[MAINTAINER](https://github.com/pypa/bandersnatch/blob/master/MAINTAINERS.md) +documentation to see the roles and responsibilities. We would also +ask you read our **Mission Statement** to ensure it aligns with your thoughts for +this project. + +- If interested contact @cooperlees + +## Installation + +The following instructions will place the bandersnatch executable in a +virtualenv under `bandersnatch/bin/bandersnatch`. + +- bandersnatch **requires** `>= Python 3.8.0` + +## Docker + +This will pull latest build. Please use a specific tag if desired. + +- Docker image includes `/bandersnatch/src/runner.py` to periodically + run a `bandersnatch mirror` + - Please `/bandersnatch/src/runner.py --help` for usage +- With docker, we recommend bind mounting in a read only `bandersnatch.conf` + - Defaults to `/conf/bandersnatch.conf` + +```shell +docker pull pypa/bandersnatch +docker run pypa/bandersnatch bandersnatch --help +``` + +### pip + +This installs the latest stable, released version. + +```shell +python3 -m venv bandersnatch +bandersnatch/bin/pip install bandersnatch +bandersnatch/bin/bandersnatch --help +``` + +## Quickstart + +- Run `bandersnatch mirror` - it will create an empty configuration file + for you in `/etc/bandersnatch.conf`. +- Review `/etc/bandersnatch.conf` and adapt to your needs. +- Run `bandersnatch mirror` again. It will populate your mirror with the + current status of all PyPI packages. + Current mirror package size can be seen here: <https://pypi.org/stats/> +- A `blocklist` or `allowlist` can be created to cut down your mirror size. + You might want to [Analyze PyPI downloads](https://packaging.python.org/guides/analyzing-pypi-package-downloads/) + to determine which packages to add to your list. +- Run `bandersnatch mirror` regularly to update your mirror with any + intermediate changes. + +### Webserver + +Configure your webserver to serve the `web/` sub-directory of the mirror. +For PEP691 support we need to respect the format the client requests. + +For an [nginx](https://www.nginx.com/) example, please look at our +[banderx](https://github.com/pypa/bandersnatch/tree/main/src/banderx) +docker container and [nginx.conf](https://github.com/pypa/bandersnatch/blob/main/src/banderx/nginx.conf) +example configuration. + +- Note that it is a good idea to have your webserver publish the HTML index + files correctly with UTF-8 as the charset. The index pages will work without + it but if humans look at the pages the characters will end up looking funny. + +- Make sure that the webserver uses UTF-8 to look up unicode path names. nginx + gets this right by default - not sure about others. + +For more information visit out [official documentation](https://bandersnatch.readthedocs.io/) +for instructions on how to use a NGINX example Docker Image. + +If you are looking to an docker-compose example head over [here](https://github.com/pypa/bandersnatch/tree/main/src/bandersnatch_docker_compose) + +### Cron jobs + +You need to set up one cron job to run the mirror itself. + +Here's a sample that you could place in `/etc/cron.d/bandersnatch`: + +```cron + LC_ALL=en_US.utf8 + */2 * * * * root bandersnatch mirror |& logger -t bandersnatch[mirror] +``` + +This assumes that you have a `logger` utility installed that will convert the +output of the commands to syslog entries. + +[SystemD Timers](https://www.freedesktop.org/software/systemd/man/systemd.timer.html) +are also another alternative in today's modern world. + +### Maintenance + +bandersnatch does not keep much local state in addition to the mirrored data. +In general you can just keep rerunning `bandersnatch mirror` to make it fix +errors. + +If you want to force bandersnatch to check everything against the master PyPI: + +- run `bandersnatch mirror --force-check` to move status files if they exist in your mirror directory in order get a full sync. + +Be aware that full syncs likely take hours depending on PyPI's performance and your network latency and bandwidth. + +#### Other Commands + +- `bandersnatch delete --help` - Allows you to specify package(s) to be removed from your mirror (*dangerous*) +- `bandersnatch verify --help` - Crawls your repo and fixes any missed files + deletes any unowned files found (*dangerous*) + +### Operational notes + +#### Case-sensitive filesystem needed + +You need to run bandersnatch on a case-sensitive filesystem. + +OS X natively does this OK even though the filesystem is not strictly +case-sensitive and bandersnatch will work fine when running on OS X. However, +tarring a bandersnatch data directory and moving it to, e.g. Linux with a +case-sensitive filesystem will lead to inconsistencies. You can fix those by +deleting the status files and have bandersnatch run a full check on your data. + +#### Windows requires elevated prompt + +Bandersnatch makes use of symbolic links. On Windows, this permission is turned off by default for non-admin users. In order to run bandersnatch on Windows either call it from an elevated command prompt (i.e. right-click, run-as Administrator) or give yourself symlink permissions in the group policy editor. + +#### Many sub-directories needed + +The PyPI has a quite extensive list of packages that we need to maintain in a +flat directory. Filesystems with small limits on the number of sub-directories +per directory can run into a problem like this: + +```console + 2013-07-09 16:11:33,331 ERROR: Error syncing package: zweb@802449 + OSError: [Errno 31] Too many links: '../pypi/web/simple/zweb' +``` + +Specifically we recommend to avoid using ext3. Ext4 and newer does not have the +limitation of 32k sub-directories. + +#### Client Compatibility + +A bandersnatch static mirror is compatible only to the "static", cacheable +parts of PyPI that are needed to support package installation. It does not +support more dynamic APIs of PyPI that maybe be used by various clients for +other purposes. + +An example of an unsupported API is [PyPI's XML-RPC interface](https://warehouse.readthedocs.io/api-reference/xml-rpc/), which is used when running `pip search`. + +### Bandersnatch Mission + +The bandersnatch project strives to: + +- Mirror all static objects of the Python Package Index (<https://pypi.org/>) +- bandersnatch's main goal is to support the main global index to local syncing **only** +- This will allow organizations to have lower latency access to PyPI and + save bandwidth on their WAN connections and more importantly the PyPI CDN +- Custom features and requests may be accepted if they can be of a *plugin* form + - e.g. refer to the `blocklist` and `allowlist` plugins + +### Contact + +If you have questions or comments, please submit a bug report to +<https://github.com/pypa/bandersnatch/issues/new> + +- Discord: #bandersnatch now sit in the *PyPA Discord* server. To join visit <https://discord.com/invite/pypa> + +### Code of Conduct + +Everyone interacting in the bandersnatch project's codebases, issue trackers, +chat rooms, and mailing lists is expected to follow the +[PSF Code of Conduct](https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md). + +### Kudos + +This client is based on the original pep381client by *Martin v. Loewis*. + +*Richard Jones* was very patient answering questions at PyCon 2013 and made the +protocol more reliable by implementing some PyPI enhancements. + +*Christian Theune* for creating and maintaining `bandersnatch` for many years! + + +%package -n python3-bandersnatch +Summary: Mirroring tool that implements the client (mirror) side of PEP 381 +Provides: python-bandersnatch +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-bandersnatch +[](https://github.com/ambv/black) +[](https://github.com/pypa/bandersnatch/actions) +[](https://codecov.io/github/pypa/bandersnatch) +[](http://bandersnatch.readthedocs.io/en/latest/?badge=latest) +[](https://pepy.tech/project/bandersnatch) + +______________________________________________________________________ + +This is a PyPI mirror client according to `PEP 381` + `PEP 503` + `PEP 691` +<http://www.python.org/dev/peps/pep-0381/>. + +- bandersnatch >=6.0 implements PEP691 +- bandersnatch >=4.0 supports *Linux*, *MacOSX* + *Windows* +- [Documentation](https://bandersnatch.readthedocs.io/en/latest/) + +**bandersnatch maintainers** are looking for more **help**! Please refer to our +[MAINTAINER](https://github.com/pypa/bandersnatch/blob/master/MAINTAINERS.md) +documentation to see the roles and responsibilities. We would also +ask you read our **Mission Statement** to ensure it aligns with your thoughts for +this project. + +- If interested contact @cooperlees + +## Installation + +The following instructions will place the bandersnatch executable in a +virtualenv under `bandersnatch/bin/bandersnatch`. + +- bandersnatch **requires** `>= Python 3.8.0` + +## Docker + +This will pull latest build. Please use a specific tag if desired. + +- Docker image includes `/bandersnatch/src/runner.py` to periodically + run a `bandersnatch mirror` + - Please `/bandersnatch/src/runner.py --help` for usage +- With docker, we recommend bind mounting in a read only `bandersnatch.conf` + - Defaults to `/conf/bandersnatch.conf` + +```shell +docker pull pypa/bandersnatch +docker run pypa/bandersnatch bandersnatch --help +``` + +### pip + +This installs the latest stable, released version. + +```shell +python3 -m venv bandersnatch +bandersnatch/bin/pip install bandersnatch +bandersnatch/bin/bandersnatch --help +``` + +## Quickstart + +- Run `bandersnatch mirror` - it will create an empty configuration file + for you in `/etc/bandersnatch.conf`. +- Review `/etc/bandersnatch.conf` and adapt to your needs. +- Run `bandersnatch mirror` again. It will populate your mirror with the + current status of all PyPI packages. + Current mirror package size can be seen here: <https://pypi.org/stats/> +- A `blocklist` or `allowlist` can be created to cut down your mirror size. + You might want to [Analyze PyPI downloads](https://packaging.python.org/guides/analyzing-pypi-package-downloads/) + to determine which packages to add to your list. +- Run `bandersnatch mirror` regularly to update your mirror with any + intermediate changes. + +### Webserver + +Configure your webserver to serve the `web/` sub-directory of the mirror. +For PEP691 support we need to respect the format the client requests. + +For an [nginx](https://www.nginx.com/) example, please look at our +[banderx](https://github.com/pypa/bandersnatch/tree/main/src/banderx) +docker container and [nginx.conf](https://github.com/pypa/bandersnatch/blob/main/src/banderx/nginx.conf) +example configuration. + +- Note that it is a good idea to have your webserver publish the HTML index + files correctly with UTF-8 as the charset. The index pages will work without + it but if humans look at the pages the characters will end up looking funny. + +- Make sure that the webserver uses UTF-8 to look up unicode path names. nginx + gets this right by default - not sure about others. + +For more information visit out [official documentation](https://bandersnatch.readthedocs.io/) +for instructions on how to use a NGINX example Docker Image. + +If you are looking to an docker-compose example head over [here](https://github.com/pypa/bandersnatch/tree/main/src/bandersnatch_docker_compose) + +### Cron jobs + +You need to set up one cron job to run the mirror itself. + +Here's a sample that you could place in `/etc/cron.d/bandersnatch`: + +```cron + LC_ALL=en_US.utf8 + */2 * * * * root bandersnatch mirror |& logger -t bandersnatch[mirror] +``` + +This assumes that you have a `logger` utility installed that will convert the +output of the commands to syslog entries. + +[SystemD Timers](https://www.freedesktop.org/software/systemd/man/systemd.timer.html) +are also another alternative in today's modern world. + +### Maintenance + +bandersnatch does not keep much local state in addition to the mirrored data. +In general you can just keep rerunning `bandersnatch mirror` to make it fix +errors. + +If you want to force bandersnatch to check everything against the master PyPI: + +- run `bandersnatch mirror --force-check` to move status files if they exist in your mirror directory in order get a full sync. + +Be aware that full syncs likely take hours depending on PyPI's performance and your network latency and bandwidth. + +#### Other Commands + +- `bandersnatch delete --help` - Allows you to specify package(s) to be removed from your mirror (*dangerous*) +- `bandersnatch verify --help` - Crawls your repo and fixes any missed files + deletes any unowned files found (*dangerous*) + +### Operational notes + +#### Case-sensitive filesystem needed + +You need to run bandersnatch on a case-sensitive filesystem. + +OS X natively does this OK even though the filesystem is not strictly +case-sensitive and bandersnatch will work fine when running on OS X. However, +tarring a bandersnatch data directory and moving it to, e.g. Linux with a +case-sensitive filesystem will lead to inconsistencies. You can fix those by +deleting the status files and have bandersnatch run a full check on your data. + +#### Windows requires elevated prompt + +Bandersnatch makes use of symbolic links. On Windows, this permission is turned off by default for non-admin users. In order to run bandersnatch on Windows either call it from an elevated command prompt (i.e. right-click, run-as Administrator) or give yourself symlink permissions in the group policy editor. + +#### Many sub-directories needed + +The PyPI has a quite extensive list of packages that we need to maintain in a +flat directory. Filesystems with small limits on the number of sub-directories +per directory can run into a problem like this: + +```console + 2013-07-09 16:11:33,331 ERROR: Error syncing package: zweb@802449 + OSError: [Errno 31] Too many links: '../pypi/web/simple/zweb' +``` + +Specifically we recommend to avoid using ext3. Ext4 and newer does not have the +limitation of 32k sub-directories. + +#### Client Compatibility + +A bandersnatch static mirror is compatible only to the "static", cacheable +parts of PyPI that are needed to support package installation. It does not +support more dynamic APIs of PyPI that maybe be used by various clients for +other purposes. + +An example of an unsupported API is [PyPI's XML-RPC interface](https://warehouse.readthedocs.io/api-reference/xml-rpc/), which is used when running `pip search`. + +### Bandersnatch Mission + +The bandersnatch project strives to: + +- Mirror all static objects of the Python Package Index (<https://pypi.org/>) +- bandersnatch's main goal is to support the main global index to local syncing **only** +- This will allow organizations to have lower latency access to PyPI and + save bandwidth on their WAN connections and more importantly the PyPI CDN +- Custom features and requests may be accepted if they can be of a *plugin* form + - e.g. refer to the `blocklist` and `allowlist` plugins + +### Contact + +If you have questions or comments, please submit a bug report to +<https://github.com/pypa/bandersnatch/issues/new> + +- Discord: #bandersnatch now sit in the *PyPA Discord* server. To join visit <https://discord.com/invite/pypa> + +### Code of Conduct + +Everyone interacting in the bandersnatch project's codebases, issue trackers, +chat rooms, and mailing lists is expected to follow the +[PSF Code of Conduct](https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md). + +### Kudos + +This client is based on the original pep381client by *Martin v. Loewis*. + +*Richard Jones* was very patient answering questions at PyCon 2013 and made the +protocol more reliable by implementing some PyPI enhancements. + +*Christian Theune* for creating and maintaining `bandersnatch` for many years! + + +%package help +Summary: Development documents and examples for bandersnatch +Provides: python3-bandersnatch-doc +%description help +[](https://github.com/ambv/black) +[](https://github.com/pypa/bandersnatch/actions) +[](https://codecov.io/github/pypa/bandersnatch) +[](http://bandersnatch.readthedocs.io/en/latest/?badge=latest) +[](https://pepy.tech/project/bandersnatch) + +______________________________________________________________________ + +This is a PyPI mirror client according to `PEP 381` + `PEP 503` + `PEP 691` +<http://www.python.org/dev/peps/pep-0381/>. + +- bandersnatch >=6.0 implements PEP691 +- bandersnatch >=4.0 supports *Linux*, *MacOSX* + *Windows* +- [Documentation](https://bandersnatch.readthedocs.io/en/latest/) + +**bandersnatch maintainers** are looking for more **help**! Please refer to our +[MAINTAINER](https://github.com/pypa/bandersnatch/blob/master/MAINTAINERS.md) +documentation to see the roles and responsibilities. We would also +ask you read our **Mission Statement** to ensure it aligns with your thoughts for +this project. + +- If interested contact @cooperlees + +## Installation + +The following instructions will place the bandersnatch executable in a +virtualenv under `bandersnatch/bin/bandersnatch`. + +- bandersnatch **requires** `>= Python 3.8.0` + +## Docker + +This will pull latest build. Please use a specific tag if desired. + +- Docker image includes `/bandersnatch/src/runner.py` to periodically + run a `bandersnatch mirror` + - Please `/bandersnatch/src/runner.py --help` for usage +- With docker, we recommend bind mounting in a read only `bandersnatch.conf` + - Defaults to `/conf/bandersnatch.conf` + +```shell +docker pull pypa/bandersnatch +docker run pypa/bandersnatch bandersnatch --help +``` + +### pip + +This installs the latest stable, released version. + +```shell +python3 -m venv bandersnatch +bandersnatch/bin/pip install bandersnatch +bandersnatch/bin/bandersnatch --help +``` + +## Quickstart + +- Run `bandersnatch mirror` - it will create an empty configuration file + for you in `/etc/bandersnatch.conf`. +- Review `/etc/bandersnatch.conf` and adapt to your needs. +- Run `bandersnatch mirror` again. It will populate your mirror with the + current status of all PyPI packages. + Current mirror package size can be seen here: <https://pypi.org/stats/> +- A `blocklist` or `allowlist` can be created to cut down your mirror size. + You might want to [Analyze PyPI downloads](https://packaging.python.org/guides/analyzing-pypi-package-downloads/) + to determine which packages to add to your list. +- Run `bandersnatch mirror` regularly to update your mirror with any + intermediate changes. + +### Webserver + +Configure your webserver to serve the `web/` sub-directory of the mirror. +For PEP691 support we need to respect the format the client requests. + +For an [nginx](https://www.nginx.com/) example, please look at our +[banderx](https://github.com/pypa/bandersnatch/tree/main/src/banderx) +docker container and [nginx.conf](https://github.com/pypa/bandersnatch/blob/main/src/banderx/nginx.conf) +example configuration. + +- Note that it is a good idea to have your webserver publish the HTML index + files correctly with UTF-8 as the charset. The index pages will work without + it but if humans look at the pages the characters will end up looking funny. + +- Make sure that the webserver uses UTF-8 to look up unicode path names. nginx + gets this right by default - not sure about others. + +For more information visit out [official documentation](https://bandersnatch.readthedocs.io/) +for instructions on how to use a NGINX example Docker Image. + +If you are looking to an docker-compose example head over [here](https://github.com/pypa/bandersnatch/tree/main/src/bandersnatch_docker_compose) + +### Cron jobs + +You need to set up one cron job to run the mirror itself. + +Here's a sample that you could place in `/etc/cron.d/bandersnatch`: + +```cron + LC_ALL=en_US.utf8 + */2 * * * * root bandersnatch mirror |& logger -t bandersnatch[mirror] +``` + +This assumes that you have a `logger` utility installed that will convert the +output of the commands to syslog entries. + +[SystemD Timers](https://www.freedesktop.org/software/systemd/man/systemd.timer.html) +are also another alternative in today's modern world. + +### Maintenance + +bandersnatch does not keep much local state in addition to the mirrored data. +In general you can just keep rerunning `bandersnatch mirror` to make it fix +errors. + +If you want to force bandersnatch to check everything against the master PyPI: + +- run `bandersnatch mirror --force-check` to move status files if they exist in your mirror directory in order get a full sync. + +Be aware that full syncs likely take hours depending on PyPI's performance and your network latency and bandwidth. + +#### Other Commands + +- `bandersnatch delete --help` - Allows you to specify package(s) to be removed from your mirror (*dangerous*) +- `bandersnatch verify --help` - Crawls your repo and fixes any missed files + deletes any unowned files found (*dangerous*) + +### Operational notes + +#### Case-sensitive filesystem needed + +You need to run bandersnatch on a case-sensitive filesystem. + +OS X natively does this OK even though the filesystem is not strictly +case-sensitive and bandersnatch will work fine when running on OS X. However, +tarring a bandersnatch data directory and moving it to, e.g. Linux with a +case-sensitive filesystem will lead to inconsistencies. You can fix those by +deleting the status files and have bandersnatch run a full check on your data. + +#### Windows requires elevated prompt + +Bandersnatch makes use of symbolic links. On Windows, this permission is turned off by default for non-admin users. In order to run bandersnatch on Windows either call it from an elevated command prompt (i.e. right-click, run-as Administrator) or give yourself symlink permissions in the group policy editor. + +#### Many sub-directories needed + +The PyPI has a quite extensive list of packages that we need to maintain in a +flat directory. Filesystems with small limits on the number of sub-directories +per directory can run into a problem like this: + +```console + 2013-07-09 16:11:33,331 ERROR: Error syncing package: zweb@802449 + OSError: [Errno 31] Too many links: '../pypi/web/simple/zweb' +``` + +Specifically we recommend to avoid using ext3. Ext4 and newer does not have the +limitation of 32k sub-directories. + +#### Client Compatibility + +A bandersnatch static mirror is compatible only to the "static", cacheable +parts of PyPI that are needed to support package installation. It does not +support more dynamic APIs of PyPI that maybe be used by various clients for +other purposes. + +An example of an unsupported API is [PyPI's XML-RPC interface](https://warehouse.readthedocs.io/api-reference/xml-rpc/), which is used when running `pip search`. + +### Bandersnatch Mission + +The bandersnatch project strives to: + +- Mirror all static objects of the Python Package Index (<https://pypi.org/>) +- bandersnatch's main goal is to support the main global index to local syncing **only** +- This will allow organizations to have lower latency access to PyPI and + save bandwidth on their WAN connections and more importantly the PyPI CDN +- Custom features and requests may be accepted if they can be of a *plugin* form + - e.g. refer to the `blocklist` and `allowlist` plugins + +### Contact + +If you have questions or comments, please submit a bug report to +<https://github.com/pypa/bandersnatch/issues/new> + +- Discord: #bandersnatch now sit in the *PyPA Discord* server. To join visit <https://discord.com/invite/pypa> + +### Code of Conduct + +Everyone interacting in the bandersnatch project's codebases, issue trackers, +chat rooms, and mailing lists is expected to follow the +[PSF Code of Conduct](https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md). + +### Kudos + +This client is based on the original pep381client by *Martin v. Loewis*. + +*Richard Jones* was very patient answering questions at PyCon 2013 and made the +protocol more reliable by implementing some PyPI enhancements. + +*Christian Theune* for creating and maintaining `bandersnatch` for many years! + + +%prep +%autosetup -n bandersnatch-6.3.0 + +%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-bandersnatch -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 6.3.0-1 +- Package Spec generated @@ -0,0 +1 @@ +138ab3f4e5b2c53cce06f02df6baf8b2 bandersnatch-6.3.0.tar.gz |
