summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 16:40:24 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 16:40:24 +0000
commit803c22f8ac57055c8f6356751b551213fb1d5c84 (patch)
treef19c0a21ffe8e391e301783565d0ae10bbe66715
parentb0e91acd9151e4926d80eecabb83defc7cda2fdd (diff)
automatic import of python-py-geth
-rw-r--r--.gitignore1
-rw-r--r--python-py-geth.spec881
-rw-r--r--sources1
3 files changed, 883 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..1893e90 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/py-geth-3.12.0.tar.gz
diff --git a/python-py-geth.spec b/python-py-geth.spec
new file mode 100644
index 0000000..9757558
--- /dev/null
+++ b/python-py-geth.spec
@@ -0,0 +1,881 @@
+%global _empty_manifest_terminate_build 0
+Name: python-py-geth
+Version: 3.12.0
+Release: 1
+Summary: Run Go-Ethereum as a subprocess
+License: MIT
+URL: https://github.com/ethereum/py-geth
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c6/44/a25894e1f63b4ff85cc5bf5cd75343fbfd52faee70734d0d8bef9c5df0e3/py-geth-3.12.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-semantic-version
+Requires: python3-bumpversion
+Requires: python3-wheel
+Requires: python3-setuptools
+Requires: python3-requests
+Requires: python3-tox
+Requires: python3-twine
+Requires: python3-pytest
+Requires: python3-flaky
+Requires: python3-pluggy
+Requires: python3-flake8
+Requires: python3-importlib-metadata
+Requires: python3-flake8
+Requires: python3-importlib-metadata
+Requires: python3-pytest
+Requires: python3-flaky
+Requires: python3-pluggy
+
+%description
+# PyGeth
+
+[![Build Status](https://circleci.com/gh/ethereum/py-geth.svg?style=shield)](https://circleci.com/gh/ethereum/py-geth)
+[![PyPi version](https://img.shields.io/pypi/v/py-geth.svg)](https://pypi.python.org/pypi/py-geth)
+
+
+Python wrapper around running `geth` as a subprocess
+
+
+## System Dependency
+
+This library requires the `geth` executable to be present.
+
+
+## Installation
+
+Installation
+
+```bash
+pip install py-geth
+```
+
+## Quickstart
+
+
+To run geth connected to the mainnet
+
+
+```python
+>>> from geth import LiveGethProcess
+>>> geth = LiveGethProcess()
+>>> geth.start()
+```
+
+Or a private local chain for testing. These require you to give them a name.
+
+```python
+>>> from geth import DevGethProcess
+>>> geth = DevGethProcess('testing')
+>>> geth.start()
+```
+
+By default the `DevGethProcess` sets up test chains in the default `datadir`
+used by `geth`. If you would like to change the location for these test
+chains, you can specify an alternative `base_dir`.
+
+```python
+>>> geth = DevGethProcess('testing', '/tmp/some-other-base-dir/')
+>>> geth.start()
+```
+
+
+Each instance has a few convenient properties.
+
+```python
+>>> geth.data_dir
+"~/.ethereum"
+>>> geth.rpc_port
+8545
+>>> geth.ipc_path
+"~/.ethereum/geth.ipc"
+>>> geth.accounts
+['0xd3cda913deb6f67967b99d67acdfa1712c293601']
+>>> geth.is_alive
+False
+>>> geth.is_running
+False
+>>> geth.is_stopped
+False
+>>> geth.start()
+>>> geth.is_alive
+True # indicates that the subprocess hasn't exited
+>>> geth.is_running
+True # indicates that `start()` has been called (but `stop()` hasn't)
+>>> geth.is_stopped
+False
+>>> geth.stop()
+>>> geth.is_alive
+False
+>>> geth.is_running
+False
+>>> geth.is_stopped
+True
+```
+
+When testing it can be nice to see the logging output produced by the `geth`
+process. `py-geth` provides a mixin class that can be used to log the stdout
+and stderr output to a logfile.
+
+```python
+>>> from geth import LoggingMixin, DevGethProcess
+>>> class MyGeth(LoggingMixin, DevGethProcess):
+... pass
+>>> geth = MyGeth()
+>>> geth.start()
+```
+
+All logs will be written to logfiles in `./logs/` in the current directory.
+
+The underlying `geth` process can take additional time to open the RPC or IPC
+connections, as well as to start mining if it needs to generate the DAG. You
+can use the following interfaces to query whether these are ready.
+
+```python
+>>> geth.is_rpc_ready
+True
+>>> geth.wait_for_rpc(timeout=30) # wait up to 30 seconds for the RPC connection to open
+>>> geth.is_ipc_ready
+True
+>>> geth.wait_for_ipc(timeout=30) # wait up to 30 seconds for the IPC socket to open
+>>> geth.is_dag_generated
+True
+>>> geth.is_mining
+True
+>>> geth.wait_for_dag(timeout=600) # wait up to 10 minutes for the DAG to generate.
+```
+
+> The DAG functionality currently only applies to the DAG for epoch 0.
+
+
+# Installing specific versions of `geth`
+
+> This feature is experimental and subject to breaking changes.
+
+Versions of `geth` dating back to v1.9.14 can be installed using `py-geth`.
+See [install.py](https://github.com/ethereum/py-geth/blob/master/geth/install.py) for
+the current list of supported versions.
+
+Installation can be done via the command line:
+
+```bash
+$ python -m geth.install v1.11.5
+```
+
+Or from python using the `install_geth` function.
+
+```python
+>>> from geth import install_geth
+>>> install_geth('v1.11.5')
+```
+
+The installed binary can be found in the `$HOME/.py-geth` directory, under your
+home directory. The `v1.11.5` binary would be located at
+`$HOME/.py-geth/geth-v1.11.5/bin/geth`.
+
+
+# About `DevGethProcess`
+
+The `DevGethProcess` is designed to facilitate testing. In that regard, it is
+preconfigured as follows.
+
+* A single account is created and allocated 1 billion ether.
+* All APIs are enabled on both `rpc` and `ipc` interfaces.
+* Account 0 is unlocked
+* Networking is configured to not look for or connect to any peers.
+* The `networkid` of `1234` is used.
+* Verbosity is set to `5` (DEBUG)
+* Mining is enabled with a single thread.
+* The RPC interface *tries* to bind to 8545 but will find an open port if this
+ port is not available.
+* The DevP2P interface *tries* to bind to 30303 but will find an open port if this
+ port is not available.
+
+
+# Gotchas
+
+If you are running with `mining` enabled, which is default for `DevGethProcess`,
+then you will likely need to generate the `DAG` manually. If you do not, then
+it will auto-generate the first time you run the process and this takes a
+while.
+
+To generate it manually:
+
+```sh
+$ geth makedag 0 ~/.ethash
+```
+
+This is especially important in CI environments like Travis-CI where your
+process will likely timeout during generation.
+
+
+# Development
+
+Clone the repository:
+
+```shell
+$ git clone git@github.com:ethereum/py-geth.git
+````
+
+Next, run the following from the newly-created `py-geth` directory:
+
+```sh
+$ pip install -e ".[dev]"
+```
+
+
+### Running the tests
+
+You can run the tests with:
+
+```sh
+pytest tests
+```
+
+Or you can install `tox` to run the full test suite.
+
+
+### Releasing
+
+Pandoc is required for transforming the markdown README to the proper format to
+render correctly on pypi.
+
+For Debian-like systems:
+
+```
+apt install pandoc
+```
+
+Or on OSX:
+
+```sh
+brew install pandoc
+```
+
+To release a new version:
+
+```sh
+make release bump=$$VERSION_PART_TO_BUMP$$
+```
+
+The version format for this repo is `{major}.{minor}.{patch}` for stable, and
+`{major}.{minor}.{patch}-{stage}.{devnum}` for unstable (`stage` can be alpha or beta).
+
+To issue the next version in line, specify which part to bump,
+like `make release bump=minor` or `make release bump=devnum`.
+
+If you are in a beta version, `make release bump=stage` will switch to a stable.
+
+To issue an unstable version when the current version is stable, specify the
+new version explicitly, like `make release bump="--new-version 4.0.0-alpha.1 devnum"`
+
+
+## Adding Support For New Geth Versions
+
+There is an automation script to facilitate adding support for new geth versions: `update_geth.py`
+
+To add support for a geth version, run the following line from the py-geth directory, substituting
+the version for the one you wish to add support for. Note that the `v` in the versioning is
+optional.
+
+```shell
+$ python update_geth.py v1.10.9
+```
+
+To introduce support for more than one version, pass in the versions in increasing order,
+ending with the latest version.
+
+```shell
+$ python update_geth.py v1.10.7 v1.10.8 v1.10.9
+```
+
+Always review your changes before committing as something may cause this existing pattern to change at some point.
+It is best to compare the git difference with a previous commit that introduced support for a new geth version to make
+sure everything looks good.
+
+
+%package -n python3-py-geth
+Summary: Run Go-Ethereum as a subprocess
+Provides: python-py-geth
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-py-geth
+# PyGeth
+
+[![Build Status](https://circleci.com/gh/ethereum/py-geth.svg?style=shield)](https://circleci.com/gh/ethereum/py-geth)
+[![PyPi version](https://img.shields.io/pypi/v/py-geth.svg)](https://pypi.python.org/pypi/py-geth)
+
+
+Python wrapper around running `geth` as a subprocess
+
+
+## System Dependency
+
+This library requires the `geth` executable to be present.
+
+
+## Installation
+
+Installation
+
+```bash
+pip install py-geth
+```
+
+## Quickstart
+
+
+To run geth connected to the mainnet
+
+
+```python
+>>> from geth import LiveGethProcess
+>>> geth = LiveGethProcess()
+>>> geth.start()
+```
+
+Or a private local chain for testing. These require you to give them a name.
+
+```python
+>>> from geth import DevGethProcess
+>>> geth = DevGethProcess('testing')
+>>> geth.start()
+```
+
+By default the `DevGethProcess` sets up test chains in the default `datadir`
+used by `geth`. If you would like to change the location for these test
+chains, you can specify an alternative `base_dir`.
+
+```python
+>>> geth = DevGethProcess('testing', '/tmp/some-other-base-dir/')
+>>> geth.start()
+```
+
+
+Each instance has a few convenient properties.
+
+```python
+>>> geth.data_dir
+"~/.ethereum"
+>>> geth.rpc_port
+8545
+>>> geth.ipc_path
+"~/.ethereum/geth.ipc"
+>>> geth.accounts
+['0xd3cda913deb6f67967b99d67acdfa1712c293601']
+>>> geth.is_alive
+False
+>>> geth.is_running
+False
+>>> geth.is_stopped
+False
+>>> geth.start()
+>>> geth.is_alive
+True # indicates that the subprocess hasn't exited
+>>> geth.is_running
+True # indicates that `start()` has been called (but `stop()` hasn't)
+>>> geth.is_stopped
+False
+>>> geth.stop()
+>>> geth.is_alive
+False
+>>> geth.is_running
+False
+>>> geth.is_stopped
+True
+```
+
+When testing it can be nice to see the logging output produced by the `geth`
+process. `py-geth` provides a mixin class that can be used to log the stdout
+and stderr output to a logfile.
+
+```python
+>>> from geth import LoggingMixin, DevGethProcess
+>>> class MyGeth(LoggingMixin, DevGethProcess):
+... pass
+>>> geth = MyGeth()
+>>> geth.start()
+```
+
+All logs will be written to logfiles in `./logs/` in the current directory.
+
+The underlying `geth` process can take additional time to open the RPC or IPC
+connections, as well as to start mining if it needs to generate the DAG. You
+can use the following interfaces to query whether these are ready.
+
+```python
+>>> geth.is_rpc_ready
+True
+>>> geth.wait_for_rpc(timeout=30) # wait up to 30 seconds for the RPC connection to open
+>>> geth.is_ipc_ready
+True
+>>> geth.wait_for_ipc(timeout=30) # wait up to 30 seconds for the IPC socket to open
+>>> geth.is_dag_generated
+True
+>>> geth.is_mining
+True
+>>> geth.wait_for_dag(timeout=600) # wait up to 10 minutes for the DAG to generate.
+```
+
+> The DAG functionality currently only applies to the DAG for epoch 0.
+
+
+# Installing specific versions of `geth`
+
+> This feature is experimental and subject to breaking changes.
+
+Versions of `geth` dating back to v1.9.14 can be installed using `py-geth`.
+See [install.py](https://github.com/ethereum/py-geth/blob/master/geth/install.py) for
+the current list of supported versions.
+
+Installation can be done via the command line:
+
+```bash
+$ python -m geth.install v1.11.5
+```
+
+Or from python using the `install_geth` function.
+
+```python
+>>> from geth import install_geth
+>>> install_geth('v1.11.5')
+```
+
+The installed binary can be found in the `$HOME/.py-geth` directory, under your
+home directory. The `v1.11.5` binary would be located at
+`$HOME/.py-geth/geth-v1.11.5/bin/geth`.
+
+
+# About `DevGethProcess`
+
+The `DevGethProcess` is designed to facilitate testing. In that regard, it is
+preconfigured as follows.
+
+* A single account is created and allocated 1 billion ether.
+* All APIs are enabled on both `rpc` and `ipc` interfaces.
+* Account 0 is unlocked
+* Networking is configured to not look for or connect to any peers.
+* The `networkid` of `1234` is used.
+* Verbosity is set to `5` (DEBUG)
+* Mining is enabled with a single thread.
+* The RPC interface *tries* to bind to 8545 but will find an open port if this
+ port is not available.
+* The DevP2P interface *tries* to bind to 30303 but will find an open port if this
+ port is not available.
+
+
+# Gotchas
+
+If you are running with `mining` enabled, which is default for `DevGethProcess`,
+then you will likely need to generate the `DAG` manually. If you do not, then
+it will auto-generate the first time you run the process and this takes a
+while.
+
+To generate it manually:
+
+```sh
+$ geth makedag 0 ~/.ethash
+```
+
+This is especially important in CI environments like Travis-CI where your
+process will likely timeout during generation.
+
+
+# Development
+
+Clone the repository:
+
+```shell
+$ git clone git@github.com:ethereum/py-geth.git
+````
+
+Next, run the following from the newly-created `py-geth` directory:
+
+```sh
+$ pip install -e ".[dev]"
+```
+
+
+### Running the tests
+
+You can run the tests with:
+
+```sh
+pytest tests
+```
+
+Or you can install `tox` to run the full test suite.
+
+
+### Releasing
+
+Pandoc is required for transforming the markdown README to the proper format to
+render correctly on pypi.
+
+For Debian-like systems:
+
+```
+apt install pandoc
+```
+
+Or on OSX:
+
+```sh
+brew install pandoc
+```
+
+To release a new version:
+
+```sh
+make release bump=$$VERSION_PART_TO_BUMP$$
+```
+
+The version format for this repo is `{major}.{minor}.{patch}` for stable, and
+`{major}.{minor}.{patch}-{stage}.{devnum}` for unstable (`stage` can be alpha or beta).
+
+To issue the next version in line, specify which part to bump,
+like `make release bump=minor` or `make release bump=devnum`.
+
+If you are in a beta version, `make release bump=stage` will switch to a stable.
+
+To issue an unstable version when the current version is stable, specify the
+new version explicitly, like `make release bump="--new-version 4.0.0-alpha.1 devnum"`
+
+
+## Adding Support For New Geth Versions
+
+There is an automation script to facilitate adding support for new geth versions: `update_geth.py`
+
+To add support for a geth version, run the following line from the py-geth directory, substituting
+the version for the one you wish to add support for. Note that the `v` in the versioning is
+optional.
+
+```shell
+$ python update_geth.py v1.10.9
+```
+
+To introduce support for more than one version, pass in the versions in increasing order,
+ending with the latest version.
+
+```shell
+$ python update_geth.py v1.10.7 v1.10.8 v1.10.9
+```
+
+Always review your changes before committing as something may cause this existing pattern to change at some point.
+It is best to compare the git difference with a previous commit that introduced support for a new geth version to make
+sure everything looks good.
+
+
+%package help
+Summary: Development documents and examples for py-geth
+Provides: python3-py-geth-doc
+%description help
+# PyGeth
+
+[![Build Status](https://circleci.com/gh/ethereum/py-geth.svg?style=shield)](https://circleci.com/gh/ethereum/py-geth)
+[![PyPi version](https://img.shields.io/pypi/v/py-geth.svg)](https://pypi.python.org/pypi/py-geth)
+
+
+Python wrapper around running `geth` as a subprocess
+
+
+## System Dependency
+
+This library requires the `geth` executable to be present.
+
+
+## Installation
+
+Installation
+
+```bash
+pip install py-geth
+```
+
+## Quickstart
+
+
+To run geth connected to the mainnet
+
+
+```python
+>>> from geth import LiveGethProcess
+>>> geth = LiveGethProcess()
+>>> geth.start()
+```
+
+Or a private local chain for testing. These require you to give them a name.
+
+```python
+>>> from geth import DevGethProcess
+>>> geth = DevGethProcess('testing')
+>>> geth.start()
+```
+
+By default the `DevGethProcess` sets up test chains in the default `datadir`
+used by `geth`. If you would like to change the location for these test
+chains, you can specify an alternative `base_dir`.
+
+```python
+>>> geth = DevGethProcess('testing', '/tmp/some-other-base-dir/')
+>>> geth.start()
+```
+
+
+Each instance has a few convenient properties.
+
+```python
+>>> geth.data_dir
+"~/.ethereum"
+>>> geth.rpc_port
+8545
+>>> geth.ipc_path
+"~/.ethereum/geth.ipc"
+>>> geth.accounts
+['0xd3cda913deb6f67967b99d67acdfa1712c293601']
+>>> geth.is_alive
+False
+>>> geth.is_running
+False
+>>> geth.is_stopped
+False
+>>> geth.start()
+>>> geth.is_alive
+True # indicates that the subprocess hasn't exited
+>>> geth.is_running
+True # indicates that `start()` has been called (but `stop()` hasn't)
+>>> geth.is_stopped
+False
+>>> geth.stop()
+>>> geth.is_alive
+False
+>>> geth.is_running
+False
+>>> geth.is_stopped
+True
+```
+
+When testing it can be nice to see the logging output produced by the `geth`
+process. `py-geth` provides a mixin class that can be used to log the stdout
+and stderr output to a logfile.
+
+```python
+>>> from geth import LoggingMixin, DevGethProcess
+>>> class MyGeth(LoggingMixin, DevGethProcess):
+... pass
+>>> geth = MyGeth()
+>>> geth.start()
+```
+
+All logs will be written to logfiles in `./logs/` in the current directory.
+
+The underlying `geth` process can take additional time to open the RPC or IPC
+connections, as well as to start mining if it needs to generate the DAG. You
+can use the following interfaces to query whether these are ready.
+
+```python
+>>> geth.is_rpc_ready
+True
+>>> geth.wait_for_rpc(timeout=30) # wait up to 30 seconds for the RPC connection to open
+>>> geth.is_ipc_ready
+True
+>>> geth.wait_for_ipc(timeout=30) # wait up to 30 seconds for the IPC socket to open
+>>> geth.is_dag_generated
+True
+>>> geth.is_mining
+True
+>>> geth.wait_for_dag(timeout=600) # wait up to 10 minutes for the DAG to generate.
+```
+
+> The DAG functionality currently only applies to the DAG for epoch 0.
+
+
+# Installing specific versions of `geth`
+
+> This feature is experimental and subject to breaking changes.
+
+Versions of `geth` dating back to v1.9.14 can be installed using `py-geth`.
+See [install.py](https://github.com/ethereum/py-geth/blob/master/geth/install.py) for
+the current list of supported versions.
+
+Installation can be done via the command line:
+
+```bash
+$ python -m geth.install v1.11.5
+```
+
+Or from python using the `install_geth` function.
+
+```python
+>>> from geth import install_geth
+>>> install_geth('v1.11.5')
+```
+
+The installed binary can be found in the `$HOME/.py-geth` directory, under your
+home directory. The `v1.11.5` binary would be located at
+`$HOME/.py-geth/geth-v1.11.5/bin/geth`.
+
+
+# About `DevGethProcess`
+
+The `DevGethProcess` is designed to facilitate testing. In that regard, it is
+preconfigured as follows.
+
+* A single account is created and allocated 1 billion ether.
+* All APIs are enabled on both `rpc` and `ipc` interfaces.
+* Account 0 is unlocked
+* Networking is configured to not look for or connect to any peers.
+* The `networkid` of `1234` is used.
+* Verbosity is set to `5` (DEBUG)
+* Mining is enabled with a single thread.
+* The RPC interface *tries* to bind to 8545 but will find an open port if this
+ port is not available.
+* The DevP2P interface *tries* to bind to 30303 but will find an open port if this
+ port is not available.
+
+
+# Gotchas
+
+If you are running with `mining` enabled, which is default for `DevGethProcess`,
+then you will likely need to generate the `DAG` manually. If you do not, then
+it will auto-generate the first time you run the process and this takes a
+while.
+
+To generate it manually:
+
+```sh
+$ geth makedag 0 ~/.ethash
+```
+
+This is especially important in CI environments like Travis-CI where your
+process will likely timeout during generation.
+
+
+# Development
+
+Clone the repository:
+
+```shell
+$ git clone git@github.com:ethereum/py-geth.git
+````
+
+Next, run the following from the newly-created `py-geth` directory:
+
+```sh
+$ pip install -e ".[dev]"
+```
+
+
+### Running the tests
+
+You can run the tests with:
+
+```sh
+pytest tests
+```
+
+Or you can install `tox` to run the full test suite.
+
+
+### Releasing
+
+Pandoc is required for transforming the markdown README to the proper format to
+render correctly on pypi.
+
+For Debian-like systems:
+
+```
+apt install pandoc
+```
+
+Or on OSX:
+
+```sh
+brew install pandoc
+```
+
+To release a new version:
+
+```sh
+make release bump=$$VERSION_PART_TO_BUMP$$
+```
+
+The version format for this repo is `{major}.{minor}.{patch}` for stable, and
+`{major}.{minor}.{patch}-{stage}.{devnum}` for unstable (`stage` can be alpha or beta).
+
+To issue the next version in line, specify which part to bump,
+like `make release bump=minor` or `make release bump=devnum`.
+
+If you are in a beta version, `make release bump=stage` will switch to a stable.
+
+To issue an unstable version when the current version is stable, specify the
+new version explicitly, like `make release bump="--new-version 4.0.0-alpha.1 devnum"`
+
+
+## Adding Support For New Geth Versions
+
+There is an automation script to facilitate adding support for new geth versions: `update_geth.py`
+
+To add support for a geth version, run the following line from the py-geth directory, substituting
+the version for the one you wish to add support for. Note that the `v` in the versioning is
+optional.
+
+```shell
+$ python update_geth.py v1.10.9
+```
+
+To introduce support for more than one version, pass in the versions in increasing order,
+ending with the latest version.
+
+```shell
+$ python update_geth.py v1.10.7 v1.10.8 v1.10.9
+```
+
+Always review your changes before committing as something may cause this existing pattern to change at some point.
+It is best to compare the git difference with a previous commit that introduced support for a new geth version to make
+sure everything looks good.
+
+
+%prep
+%autosetup -n py-geth-3.12.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-py-geth -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 3.12.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..3b1d216
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+db0389e7c3708a9e2eca9fad82977c19 py-geth-3.12.0.tar.gz