ehForwarderBot / efb-telegram-master

EFB Telegram Master Channel, a channel for EH Forwarder Bot.
GNU Affero General Public License v3.0
223 stars 79 forks source link

is telegram.vendor.ptb_urllib3.urllib3 necessary for ETM? #68

Closed specter119 closed 5 years ago

specter119 commented 5 years ago

Sorry for this impolite question, I haven't go further into ETM codes. This question is more concerning about a easier way to build packages than features. Because arch remove ptb_urllib3 submodule from python-telegram-bot. if ptb_urllib3 is needed, then I will created a new packages named python-telegram-bot-with-ptb. By the way, is there any facile way I can follow your setup.py changes of your EFM, ETM and EWS ?

blueset commented 5 years ago

Thanks for bringing this up.

ETM, as well as all other EH Forwarder Bot related packages, are only built with the current PyPI repository in mind. I wasn't aware until now that AUR Python packages are managing their dependencies on their own instead of using what is registered in the setup script.

From the issue tracker of python-telegram-bot (ptb#533), it seems that ptb vendorized its own fork of urllib3 to fix its timeout settings issue. However, along with ptb itself, ptb_urllib is really outdated. There is a more serious bug in their forked version of urllib3 (urllib3#1492 and older, ptb#1202, #54) which prevents files with non-ASCII name from being sent.

urllib3 have already fixed this issue in their latest version, ptb 12 beta has also included a monkey patch to ptb_urllib too (I don't know why they didn't just sync the latest urllib3 source instead). But the latest stable ptb 11.1 did not include this fix as it was released far back in Sept 2018.

ETM has recently included a similar monkey-patch trying to fix the issue in ptb_urllib, that is what you mentioned in the title. The reason the maintainer of ptb the Arch package removed ptb_urllib, I believe, is also trying to tackle this issue.

I will later on try to include a check before performing monkey patch in ETM on master branch so that it will pass the Arch version of ptb.


Regarding tracking single file change on GitHub, a quick search finds me these interesting stuff:

specter119 commented 5 years ago

I think pip is not powerful enough, therefore I always choose the rest when owning other options. Substantial python packages build without pip in arch as I know, also an AUR repo containing the systemd unit file is more suitable for EFB. I will wait for your ETM updates without urgency. It seems that I am the only user of my AUR packages. Thanks for your following links for the tools to track file changes, it will be great help for my further update the AUR packages.