tree 44b0d50ad991e2f3e2c662ce300d29d336e7895b
parent f84931c4908620c6f8fa897582ed2e72ba62f029
author Yunze Xu <xyzinfernity@163.com> 1686535692 +0800
committer GitHub <noreply@github.com> 1686535692 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkhn4MCRBK7hj4Ov3rIwAARH4IAHIvvzTk94By7SsVhIqkfa89
 aowD86uI6ewuPtrEl1EgGYg3pVpZOEHflJ0CYIkSVoLUVH4PhcKe9pmvaamiT+F0
 XGvGZnyGie0GbMHef4y/lM319GRGmgM34aLic37hrpJygWASKTiY4vns5M+gN8tm
 C1deyw2G9OMvmpBr96SkMapbx7Cb+bhh7uLirSGg/OtNlUCoE1f7FQ19hN70yoc0
 rTCRdGadbYfGyuI8/vv+bYvHD1d5Tc2AX2SWRt2o+KDG/BzHa5jO1ahsOMkKNJXR
 Om06tl6VJ28y0o0g5LNr0zFg4wB7bxjzIOXwdVsW4Wh+kHzh1MiOXoeyd4MLQ6s=
 =V4c5
 -----END PGP SIGNATURE-----
 

[docs] Fix the incorrect API docs generation steps in the release process (#131)

### Motivation

https://github.com/apache/pulsar-client-python/pull/126 adds the
instruction to include the `_pulsar` C module when generating the API
docs. However, it does not work when the library is installed from
`pip`. It only works when the wheel is installed from `dist/*.whl` that
is generated by the `python3 setup.py bdist_wheel` command in the
README.

The reason is the official Python wheel uses `auditwheel` to package all
dynamic libraries, so the `_pulsar.so` depends on another dynamic
library in the relative path. e.g.

```bash
$ ldd ~/.local/lib/python3.8/site-packages/_pulsar.cpython-38-x86_64-linux-gnu.so
        libpulsar-b6dad138.so => /home/xyz/.local/lib/python3.8/site-packages/pulsar_client.libs/libpulsar-b6dad138.so (0x00007f8dc09b3000)
        ...
```

If we copy the `_pulsar.cpython-38-x86_64-linux-gnu.so` into the project
directory, the `libpulsar-b6dad138.so` will not be found.

### Modifications

In `RELEASE.md`, specify the path of `_pulsar.so` directly.