python / cpython

The Python programming language
https://www.python.org
Other
62.42k stars 29.97k forks source link

Update to libmpdec-2.5.0 #85051

Closed 5531d0d8-2a9c-46ba-8b8b-ef76132a492c closed 4 years ago

5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago
BPO 40874
Nosy @rhettinger, @doko42, @mdickinson, @pitrou, @skrah, @ambv, @asottile, @miss-islington
PRs
  • python/cpython#20652
  • python/cpython#20654
  • python/cpython#21202
  • python/cpython#21203
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields: ```python assignee = 'https://github.com/skrah' closed_at = created_at = labels = ['extension-modules', 'type-bug', '3.9', '3.10'] title = 'Update to libmpdec-2.5.0' updated_at = user = 'https://github.com/skrah' ``` bugs.python.org fields: ```python activity = actor = 'skrah' assignee = 'skrah' closed = True closed_date = closer = 'skrah' components = ['Extension Modules'] creation = creator = 'skrah' dependencies = [] files = [] hgrepos = [] issue_num = 40874 keywords = ['patch'] message_count = 58.0 messages = ['370766', '370774', '370780', '372530', '372532', '372534', '372579', '372580', '372581', '372584', '372585', '372586', '372587', '372589', '372591', '372593', '372597', '372598', '372608', '372609', '372613', '372614', '372615', '372616', '372617', '372618', '372620', '372623', '372626', '372629', '372632', '372635', '372917', '372918', '372919', '372920', '372921', '372922', '372924', '372926', '372928', '372930', '372931', '372932', '372935', '372943', '372944', '372945', '372946', '372947', '372948', '373001', '373003', '373005', '373021', '373093', '373094', '373096'] nosy_count = 8.0 nosy_names = ['rhettinger', 'doko', 'mark.dickinson', 'pitrou', 'skrah', 'lukasz.langa', 'Anthony Sottile', 'miss-islington'] pr_nums = ['20652', '20654', '21202', '21203'] priority = 'normal' resolution = 'fixed' stage = 'resolved' status = 'closed' superseder = None type = 'behavior' url = 'https://bugs.python.org/issue40874' versions = ['Python 3.9', 'Python 3.10'] ```

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Synopsis: There are no relevant new features for _decimal, but it would be too much work/error prone to have divergent code in libmpdec-2.5.0 and Python 3.9, especially for the Linux distributions.

    I'll release libmpdec-2.5.0/libmpdec++-2.5.0 in a month or so. The standalone lib needs the new versions of mpd_qsqrt() and mpd_qdiv(), because it allows identical result/input args. This is not needed for _decimal, but the distributions should have the correct version.

    In detail \=========

    New functions for the upcoming libmpdec++ (unused in _decimal) \==============================================================

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    New changeset 087d612efebe7c64e5f079b07e0454111859830e by Stefan Krah in branch 'master': bpo-40874: Update to libmpdec-2.5.0 (GH-20652) https://github.com/python/cpython/commit/087d612efebe7c64e5f079b07e0454111859830e

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    New changeset 83bff88b4b16fb30491faa9263bbd6f3df4bab56 by Miss Islington (bot) in branch '3.9': bpo-40874: Update to libmpdec-2.5.0 (GH-20652) https://github.com/python/cpython/commit/83bff88b4b16fb30491faa9263bbd6f3df4bab56

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    New changeset 8bea91b5e9ea07ca93958e131b436024f0b1b1cf by Stefan Krah in branch 'master': bpo-40874 Update the required libmpdec version for the decimal module (GH-21202) https://github.com/python/cpython/commit/8bea91b5e9ea07ca93958e131b436024f0b1b1cf

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    New changeset 119de0eba839993cf6a909dba5d60202ad5566d6 by Miss Islington (bot) in branch '3.9': bpo-40874 Update the required libmpdec version for the decimal module (GH-21202) https://github.com/python/cpython/commit/119de0eba839993cf6a909dba5d60202ad5566d6

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    A very brief guide for all users of --with-system-libmpdec:

    Python 3.7 and Python 3.8 both require the release with this sha256sum:

    83c628b90f009470981cf084c5418329c88b19835d8af3691b930afccb7d79c7 mpdecimal-2.4.2.tar.gz

    Python 3.9 requires the release with this sha256sum:

    15417edc8e12a57d1d9d75fa7e3f22b158a3b98f44db9d694cfd2acde8dfa0ca mpdecimal-2.5.0.tar.gz

    341ce0e2-bdbb-4bd4-99e6-746f11201a3f commented 4 years ago

    this breaks builds for ubuntu, I'd suggest reverting this (especially because it appears to build fine without this patch)

    2020-06-29T08:52:56.8303672Z x86_64-linux-gnu-gcc -pthread -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -g -fdebug-prefix-map=/tmp/code=. -specs=/usr/share/dpkg/no-pie-compile.specs -fstack-protector -Wformat -Werror=format-security -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden -I../Include/internal -DCONFIG_64=1 -DASM=1 -I../Include -IObjects -IPython -I. -I/usr/include/x86_64-linux-gnu -I/tmp/code/Include -I/tmp/code/build-static -c /tmp/code/Modules/_decimal/_decimal.c -o build/temp.linux-x86_64-3.9/tmp/code/Modules/_decimal/_decimal.o 2020-06-29T08:52:56.9003112Z /tmp/code/Modules/_decimal/_decimal.c:40:4: error: #error "libmpdec version >= 2.5.0 required" 2020-06-29T08:52:56.9005053Z #error "libmpdec version >= 2.5.0 required" 2020-06-29T08:52:56.9006190Z ^~~~~

    341ce0e2-bdbb-4bd4-99e6-746f11201a3f commented 4 years ago

    especially this late in the beta period for 3.9 -- it would be unfortunate for 3.10 but it's an explicit break of feature freeze for 3.9

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Ubuntu is my main system, and it does not break the build.

    If you use --with-system-libmpdec, you need to keep in sync with the external libmpdec.

    341ce0e2-bdbb-4bd4-99e6-746f11201a3f commented 4 years ago

    reverting this patch passes all the tests, what's the motivation and why were there no code reviews for this?

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Please name a buildbot that does not pass.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Or is this CoC bait again?

    341ce0e2-bdbb-4bd4-99e6-746f11201a3f commented 4 years ago

    I package pythons for ubuntu:

    https://github.com/deadsnakes/python3.9-nightly/actions/runs/151286686 https://github.com/deadsnakes/python3.10-nightly/actions/runs/151287821

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    If Python is packaged with **system** libmpdec, you can only use the official Ubuntu Python/libmpdec version combination.

    Which are packaged by Matthias Klose, who is on the CC list here.

    Otherwise, why use the system libmpdec at all and not the version shipped with Python?

    If I install into a venv, I also don't use the system libmpdec.

    341ce0e2-bdbb-4bd4-99e6-746f11201a3f commented 4 years ago

    Otherwise, why use the system libmpdec at all and not the version shipped with Python?

    the packages are faithful reproductions of upstream packages, deviating from those introduces surprises for downstreams

    If I install into a venv, I also don't use the system libmpdec.

    that's simply not true:

    $ python3.9 -m venv vvv
    $ vvv/bin/python -c 'import _decimal, subprocess; subprocess.check_call(("ldd", _decimal.__file__))'
        linux-vdso.so.1 (0x00007fff429ec000)
        libmpdec.so.2 => /lib/x86_64-linux-gnu/libmpdec.so.2 (0x00007fcaeae03000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcaeade0000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcaeabee000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcaeaa9f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fcaeae7f000)
    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    You are talking to the author of libmpdec *and* the _decimal module. Perhaps this problem has occurred to me, too:

    $ diff -ur mpdecimal-2.5.0/libmpdec cpython-commit/Modules/_decimal/libmpdec/
    Only in mpdecimal-2.5.0/libmpdec: .objs
    Only in mpdecimal-2.5.0/libmpdec: Makefile.in
    Only in mpdecimal-2.5.0/libmpdec: Makefile.vc
    diff -ur mpdecimal-2.5.0/libmpdec/README.txt cpython-commit/Modules/_decimal/libmpdec/README.txt
    --- mpdecimal-2.5.0/libmpdec/README.txt 2020-06-27 21:41:49.000000000 +0200
    +++ cpython-commit/Modules/_decimal/libmpdec/README.txt 2020-06-29 13:46:45.379299458 +0200
    @@ -8,6 +8,9 @@
     Mike Cowlishaw/IBM's General Decimal Arithmetic Specification.
    
    +Files required for the Python _decimal module
    +

    ============================================= + Core files for small and medium precision arithmetic ----------------------------------------------------

    Only in mpdecimal-2.5.0/libmpdec: bench.c Only in mpdecimal-2.5.0/libmpdec: bench_full.c Only in mpdecimal-2.5.0/libmpdec: examples Only in cpython-commit/Modules/_decimal/libmpdec/: mpdecimal.h Only in mpdecimal-2.5.0/libmpdec: mpdecimal.h.in Only in mpdecimal-2.5.0/libmpdec: mpdecimal32vc.h Only in mpdecimal-2.5.0/libmpdec: mpdecimal64vc.h Only in mpdecimal-2.5.0/libmpdec: mpsignal.c

    You are the one here who wants to ship a non-recommended libmpdec version with Python-3.9.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    This is no release blocker. Version 2.5.0 has been in 3.9 for a long time, and people should use the correct version.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    --with-system-libmpdec is a **long term** tool for distributions.

    Pinning the version number ensures that they use the correct version.

    ambv commented 4 years ago

    Stefan brought libmpdec-2.5.0 to 3.9 shortly before Beta 2. Due to us being busy with the importlib fiasco, this went under our radar. It shouldn't have. It's a large chunk of refactored code merged without review after the beta freeze. Betas aren't for changing style guides and language standards, etc. etc.

    Sadly, given that this already got released as part of Beta 2 and Beta 3 shortly after, I think at this point it's pointless to revert it. And the new PR simply requires a shared version to match the one that we are bundling now in sources, reverting just this one is out of the question.

    Or is this CoC bait again?

    Stefan, please, don't be like that. What purpose does this serve?

    Anthony noted a new failure related to your unreviewed and under-documented commit. You slipped in libmpdec-2.5.0 during the beta freeze without any discussion. It catches up to you right now. No reason to shoot the messenger.

    341ce0e2-bdbb-4bd4-99e6-746f11201a3f commented 4 years ago

    Łukasz: what would you recommend for downstream packagers?

    I have essentially two options (assuming this isn't reverted in cpython master which I believe makes the most sense since cpython still works fine with older libmpdec):

    I'd rather not carry that patch indefinitely if possible -- especially when this cannot be built in a compatible way on software that's a mere 2 months old (ubuntu 20.04). For similar libraries (ssl, ffi, etc.) this would be a very major break in building.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Anthony noted a new failure related to your unreviewed and under-documented commit.

    He claimed a failure in Ubuntu (in a manner that I took as petulant), which isn't the case. It is a failure in a custom Ubuntu distro that uses --with-system-libmpdec in an unintended way.

    You slipped in libmpdec-2.5.0 during the beta freeze without any discussion.

    I did not slip it in at all. You were on the nosy list from the very start of this issue, and so was Matthias.

    It catches up to you right now. No reason to shoot the messenger.

    It catches up to people who use --with-system-libmpdec in an unintended manner.

    It is intended for a scenario like merging Python 3.9 into Sid, then testing, then stable.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    unreviewed and under-documented commit.

    libmpdec has been one of the few zero fault areas of Python. Please stop spreading FUD.

    tiran commented 4 years ago

    > unreviewed and under-documented commit.

    libmpdec has been one of the few zero fault areas of Python. Please stop spreading FUD.

    This has nothing to do with your excellent fault rate (lack of any issues).

    The commit had no Misc/NEWS.d blurb and therefore was undocumented. I have opened bpo-41161 to address the issue. There was also no approval or review from another core dev on python/cpython#64851.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    This has nothing to do with your excellent fault rate (lack of any issues).

    I sounds like that though for random people who read this issue and think that Łukasz is the grand release manager who puts a person in his place.

    That was incredibly inappropriate. libmpdec has **found** issues in decNumber that were acknowledged by Cowlishaw.

    If one's reputation is questioned every time one opens an issue here (notably by people who are not subject experts at all), then I *have* to respond in no uncertain terms.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    I have opened bpo-41161 to address the issue.

    Thanks, that is a more considerate approach, I'll add the note!

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Also note that people did not react at all to the fact that coroutine storage was not thread safe across several releases.

    No one asked for News entry.

    But "breaking" a fringe distro seems to be a major disaster.

    tiran commented 4 years ago

    Also note that people did not react at all to the fact that coroutine storage was not thread safe across several releases.

    That's whataboutism.

    No one asked for News entry.

    The bot did ask you to add a news entry. According to https://devguide.python.org/triaging/#github-labels-for-prs the "skip news" label should only be used in trivial cases like fixing a typo.

    But "breaking" a fringe distro seems to be a major disaster.

    I find your choice of words hurtful and it demeaning.

    Other core developer go through great length to keep backwards compatibility for older or less commonly used systems. In bpo-40810 Erlend researched SQLite version numbers before support for support for ancient SQLite was dropped. I'm spending a considerable effort to keep Python working with unsupported but still widely used OpenSSL and LibreSSL versions.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    The bot did ask you to add a news entry.

    And I deliberately did not, out of politeness. Two release managers were added and they did not ask.

    Other core developer go through great length to keep backwards compatibility for older or less commonly used systems.

    Ok, I take that back then. I go through great lengths to keep libmpdec and Python in sync.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Major correction: Victor *did* ask for a news entry, but otherwise I would not have added one.

    ambv commented 4 years ago

    That was incredibly inappropriate.

    You'll have to let the readers of this thread judge that for themselves.

    You're right that you added me to nosy. I missed it as I've been busy with other things at the time. You let *3 hours* pass between opening this issue and merging the original backport PR into Python 3.9.

    Python users and fellow core developers value your contributions. I personally could not have done them myself. We only ask you to try to play along. For example by letting other core devs stamp non-trivial non-bugfix contributions late in the release cycle. Let's not make this unnecessarily hostile.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    You'll have to let the readers of this thread judge that for themselves.

    Ask Cowlishaw or the mpfr developers to read this thread.

    As for politeness, msg372581 was entirely polite and directly answered by an inappropriate and petulant msg372584.

    This no way to talk to an experienced core developer.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Since this is an ongoing problem: When I submitted the decNumber patches to Cowlishaw, he asked me if I would be interested in maintaining decNumber. I declined at the time due to time constraints.

    Had I accepted, I'd control 2/3 of the decimal market now, the Intel library being the remaining 1/3.

    I'm unwilling to justify my competence to random bug reporters in this forum, especially when I'm nice to them initially.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    It is instructive that ArchLinux quietly and professionally packaged mpdecimal-2.5.0 hours after the release:

    https://www.archlinux.org/packages/?sort=&q=mpdecimal&maintainer=&flagged=

    This is in stark contrast with Python-dev, where a maintainer of an *experimental *nightly Ubuntu package that abuses --with-system-libmpdec claimed that "Ubuntu builds are broken". And a release manager who has no libmpdec expertise or authority took the side of the "bug" reporter without much thought.

    I presume that ArchLinux still follows the "shut up and hack" philosophy.

    tiran commented 4 years ago

    As soon as a Python release enters beta phase, all dependencies are locked. Since Python 3.9.0-b1 supported --with-system-libmpdec with libmpdec-2.4.2, all future releases of 3.9.0 until EOL of 3.9 branch have to support 2.4.2. Since 3.9.0-b3 does not work with libmpdec-2.4.2 you have introduced a regression.

    It's always possible to drop support for older versions of a dependency. A developer has to make a formal case for deprecation, provide technical arguments why an old version of a dependency cannot be support without great effort, and get written permission from the release manager. It's the release manager's discretion what they consider a regression. It's well in their power and authority to refuse and even revert a change if a release manager considers a change a regression. A developer can call upon the steering council to mediate.

    Any kind of personal attacks on community members, core developers, or release manage is not acceptable way to resolve a dispute.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    I was the one being attacked in this issue, while releasing a zero fault library whose release procedures resemble those found in avionics software.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Christian, you are also completely ignoring the original attack of Anthony, so you are biased and there is no point continuing.

    tiran commented 4 years ago

    I was the one being attacked in this issue, while releasing a zero fault library whose release procedures resemble those found in avionics software.

    I have reported this incident to the steering council and Code of Conduct working group. I let them decide who attacked whom.

    In the mean time may I request that you follow our protocol for code review and backwards incompatible changes? There is no "Quod licet Iovi, non licet bovi" in Python (except that RM is close to the power of Zeus). Everybody has to follow the rules no matter who you are.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    I was accused of breaking the release, which is false. It is outside of a release manager's authority to claim that an *experimental and *nightly build that uses a flag in an unintended manner needs counts as breakage.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Raymond, Mark, Antoine: If you think this should be reverted, I'll revert it.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    backwards incompatible changes.

    It is not a backwards incompatible change. Slamming a 3.9 into a nightly build has never been supported.

    doko42 commented 4 years ago

    I'm +-0 on if that should be integrated into 3.9. Only a few people are using --with-system-libmpdec. However the way that mpdecimal 2.4 and 2.5 are released, they are not usable for Debian or Ubuntu for the transition from 3.8 to 3.9. For that, both 3.8 and 3.9 have to be available on the systems for the transition period, and that's just not possible without mpdecimal changing it's soname, or building one Python version with the internal libmpdec.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Since this issue has been brought to the attention of the CoC committee. Here is how *I* report issues:

    https://bugs.python.org/issue40223#msg372578 https://bugs.python.org/issue40223#msg372637 https://github.com/google/sanitizers/issues/1257

    Note that I do not go straight into accusing people, especially in uncertain cases. I never have any problems with my bug reports.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Matthias, to tell the truth, I was never sure about the soname. I read this:

    https://www.debian.org/doc/debian-policy/ch-sharedlibs.html

    """ The SONAME and binary package name need not, and indeed normally should not, change if new interfaces are added but none are removed or changed, since this will not break binaries linked against the old shared library. Correct versioning of dependencies on the newer shared library by binaries that use the new interfaces is handled via the symbols or shlibs system (see Dependencies between the library and other packages). """

    I took the interface to mean ABI, which did not change. Also this:

    """Every time the shared library ABI changes in a way that may break binaries linked against older versions of the shared library, the SONAME of the library and the corresponding name for the binary package containing the runtime shared library should change. Normally, this means the SONAME should change any time an interface is removed from the shared library or the signature of an interface (the number of parameters or the types of parameters that it takes, for example) is changed. This practice is vital to allowing clean upgrades from older versions of the package and clean transitions between the old ABI and new ABI without having to upgrade every affected package simultaneously. """

    So I left the soname at 2.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    In the mean time may I request that you follow our protocol for code review.

    Ah, who reviews libffi? It is just updated. Not counting the thousands of other cases people commit unreviewed, like in changing the C-API.

    And no, Christian, that isn't "whataboutism", that is comparative analysis.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    both 3.8 and 3.9 have to be available on the systems for the transition period.

    If sonames can be incremented for libraries even if they are ABI compatible, how about using up as many as you need for the Debian package? Next time when I release mpdecimal, I'll ask you about the highest version that's in use at Debian and increment it by one.

    ambv commented 4 years ago

    And a release manager who has no libmpdec expertise or authority took the side of the "bug" reporter without much thought.

    What is this elusive "authority" you keep bringing up?

    Note that I do not go straight into accusing people, especially in uncertain cases.

    Neither did Anthony. He observed breakage in his builds and reported it. He noted that the change happened during the beta freeze which is documented to only allow bug fixes:

    https://devguide.python.org/devcycle/#beta

    Anthony's only fault here was depending on the system libmpdec which you claim is invalid use. As he explained, he did this to mirror behavior of the official Python packages. And it worked for the first three betas. His surprise breakage report wasn't unreasonable, let alone "petulant". Compare with your own responses which to many of us read unnecessarily defensive.

    Nobody is challenging your competence. The problem is entirely with the timing and making non-bugfix changes during the beta phase. Bringing up credentials, track records, or listing professional networks doesn't change that.

    Finally, while Raymond and Antoine are welcome to voice their opinions on the matter, your change is landing in 3.9.0b4 which I'm about to announce. So we won't be reverting it. In the future let's make sure we stick to the release calendar to avoid similar heat. If we need to bend a rule or two, that's okay, it happens. Making a fellow core developer stamp your change in such case will increase visibility, and is a good practice regardless, required for example in avionics software.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Łukasz, which one is nicer?

    reverting this patch passes all the tests, what's the motivation and why were there no code reviews for this?

    or:

    Yeah, I already felt a bit guilty about adding you -- it could be a compiler bug or an actual overflow. My bet is also that the reordering exposes an existing overflow. The reordering itself certainly looks correct to me.

    I'm always astonished that some of the CoC proponents (and reporters) have little idea about actual politeness, a fact which is a main source of friction.

    Hint: I'd prefer actual politeness.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Finally, about the Debian issue, of course you could also link 3.8 against the static lib.

    5531d0d8-2a9c-46ba-8b8b-ef76132a492c commented 4 years ago

    Finally, while Raymond and Antoine are welcome to voice their opinions on the matter, your change is landing in 3.9.0b4 which I'm about to announce. So we won't be reverting it. In the future let's make sure we stick to the release calendar to avoid similar heat. If we need to bend a rule or two, that's okay, it happens. Making a fellow core developer stamp your change in such case will increase visibility, and is a good practice regardless, required for example in avionics software.

    I've added Antoine, Mark and Raymond because they know the history of libmpdec, unlike people who came later.

    Like for libffi, it is not feasible to get review, because there is no time. This would effectively mean that nothing ever changes.

    The alternative is to trust that the zero fault situation continues.

    Or download *one* of the gigantic test suites, which I have laboriously updated for this release:

    http://www.bytereef.org/software/mpdecimal/releases/mpdecimal-testit-2.5.0.tar.gz

    The second one isn't even published.

    So again, just clamoring for review (which often is just rubber stamping) leads to nothing but scoring a few cheap points.

    tiran commented 4 years ago

    Are you saying that you are not follow advises and guidelines of the developer guide?