Control: retitle -1 RFS: markdown-mode/2.6-3 [Team] -- mode for editing Markdown-formatted text files in GNU Emacs
Xiyue Deng <manp...@gmail.com> writes: > Xiyue Deng <manp...@gmail.com> writes: > >> [[PGP Signed Part:Undecided]] >> Hi Nicholas, >> >> Nicholas D Steeves <s...@debian.org> writes: >> >>> Xiyue Deng <manp...@gmail.com> writes: >>> >>> Git pull, then read along with the reply that follows inline. >>> >>>>> Xiyue Deng <manp...@gmail.com> writes: >>>>> >>>>>> * Drop unused override_dh_auto_test in d/rules (dh_elpa_test is in >>>>>> effect) >>>>> >>>>> override_dh_auto_test: >>>>> @echo Using dh_elpa_test to run tests instead of upstream Makefile >>>>> >>>>> Used to be useful, because the Makefile tests used to run as well as the >>>>> dh_elpa_test ones. Dh_elpa_test was also "in effect then"... >>>>> >>>> >>>> I believe dh_elpa_test disables dh_auto_test by default unless it is >>>> disabled in debian/elpa-test[1]. I think you did this change back in >>>> this commit[2] back in 2019. On the other hand, it looks like >>>> dh_auto_test was disabled by dh-elpa even earlier[3]. Maybe you were >>>> referring to even more back then? Anyway, would be good to figure this >>>> out. >>> >>> Some team members voluntarily accommodate backports and/or >>> oldstable-backports. Write something like "No longer needed" or >>> something to that effect, if it's buildable on bookworm and bullseye. >>> If not buildable, talk to whoever added the B-D. >>> >>> If "Drop unnecessary Build-Depends on markdown" were true than discount >>> shouldn't become a B-D. So there's a major contradiction in your >>> changelog entries and/or thinking. Likewise, in the interest of >>> timeliness I'm fixing this myself. Read the updated changelog carefully >>> and recursively follow any references. Also, consider that if markdown >>> wasn't a B-D we wouldn't have received this RC bug notifying us of >>> markdowns removal, and it's probable no one would have noticed until >>> users complained. That might have been after Trixie's release. If >>> nothing else, the B-D is worth it for that. >>> >> >> (Here your response was below a past discussion on dh_elpa_test but was >> really about B-D, and I got a bit confused, but I'll assume the >> previously quoted texts are not relevant here. I believe your were >> referring to a later part that discusses B-D.) >> >> I'd like to clarify that the contradiction in the changelog was an >> oversight and I tried to fix that: I realized that `discount' provides a >> compatible markdown command and should be a suitable replacement of the >> `markdown' and used that in place of markdown. I tried to remove that >> entry about dropping, as you can see from my first upload on mentors[1]. >> It got overwritten due to a later `gbp dch` as I didn't commit that >> changelog yet and added more work and hence that change was lost. So in >> retrospect, I realized the early change mentioning that `markdown' is >> "unnecessary" was incorrect and tried to replace it with `discount', but >> forgot to remove the earlier entry generated from `gbp dch`. Please >> also see my previous reply (quoted below) for my analysis on how >> markdown-mode checks for available commands to process. I guess the >> better word to describe it is "optional" instead of "unused" indeed, >> which I tried to remove from d/changelog anyway. >> >>> Why should your colleagues give you the time of day (ie: spend any of >>> their time to review your work) if you systematically refuse to trust >>> their work? Doing security audits would be a better use >>> skepticism/suspicion ;) >>> >> >> I hope the previous explanation would clarify that there is no >> ill-intent to discredit any of the existing work. >> >>>>>> * Update debian copyright year in d/copyright >>>>> >>>>> -Copyright: 2015-2017 David Bremner <brem...@debian.org> >>>>> +Copyright: 2015-2024 David Bremner <brem...@debian.org> >>>>> >>>>> In terms of copyright, please explain your understanding of copyright >>>>> what you're doing here. This is not a mere 's/17/24/' symbol >>>>> manipulation. >>>>> >>>> >>>> I was thinking about adding myself to copyright, but I remember one of >>>> the early reviews I got (which I forgot from whom) suggested that adding >>>> oneself to copyright list would require significant change to the >>>> debian/ files so I didn't do it and instead extending the copyright year >>>> coverage of the existing entry. Maybe in such case like this one, I >>>> should go over the git history and add all people that had contributed >>>> and also add myself to the list. Wdyt? >>> >>> For upstream, we copy what upstream says, and it's non-authoritative. >>> For debian/*, we are the authority, and it affects all of our >>> downstreams. This means one needs to get it right. >>> >>> Rather than communicating on the level of symbol manipulation, I expect >>> you to write in a way that demonstrates a minimal understanding of >>> copyright and license. Go to #debian-mentors on IRC and ask for reading >>> material, then get back to me about what your proposed change actual >>> means. Key terms: "introduction to copyright free software dfsg Debian >>> packaging maintainers". >>> >>> You did add yourself to copyright, which is fine, but just remember that >>> I expect that your work will evolve from symbol manipulation to >>> understanding. I've added a TODO for you in the changelog. Answer >>> those questions, write a human-authored response rather than >>> machine-talk regurgitation of the git data and I think you'll meet the >>> minimum requirements. >>> >> >> I hoped my previous explanation could clarify that I have no >> ill-intention. I guess I'll have to be more explicit here: I think >> copyright is used to acknowledge intellectual work and to ensure that >> Debian has legal permission to host and redistribute the work, and >> making it right is important. I believe my current approach to add all >> people previously worked on `debian/*' is on the right track. >> >> I'll address the TODOs in later part. >> >>>>>> Note: this revision drops the dependency on markdown, which is important >>>>>> so that itself and all its reverse dependencies are free from >>>>>> bug#1063645 so that they are free from being removed from testing. >>>>> >>>>> This is premature. Also, does upstream skip functional tests if a >>>>> $PATH/markdown binary cannot be called? If this is the case then the >>>>> correct action is to configure a $PATH/compatible-markdown-replacement. >>>>> >>>> >>>> I checked by a simple grep in tests/markdown-test.el. I had a closer >>>> look just now and it looks like it will consider 3 commands, `markdown', >>>> `pandoc', `markdown_py', and use one that is available[4]. As we already >>>> depends on pandoc, it will use it instead of markdown. That said, it >>>> would be better if we use an alternative markdown implementation to >>>> replace the out-of-date markdown, so I have now used discount to replace >>>> markdown and reworked the Build-Depends list in the source stanza[5], as >>>> well as the Recommends list in binary stanza[6]. >>> >>> Follow the breadcrumb trail that I made more explicit for you. >>> >>>> I have also compared the output with or without markdown and with >>>> discount: >>>> >>>> With markdown dependency: >>>> ,---- >>>> | Ran 543 tests, 540 results as expected, 0 unexpected, 3 skipped >>>> (2024-06-11 04:04:39+0000, 1.465706 sec) >>>> | 1 expected failures >>>> | >>>> | 3 skipped results: >>>> | SKIPPED test-markdown-flyspell/check-word-p >>>> | SKIPPED test-markdown-flyspell/remove-overlay >>>> | SKIPPED test-markdown-flyspell/yaml-metadata >>>> `---- >>>> >>>> Without markdown dependency: >>>> ,---- >>>> | Ran 543 tests, 540 results as expected, 0 unexpected, 3 skipped >>>> (2024-06-11 03:56:33+0000, 1.504459 sec) >>>> | 1 expected failures >>>> | >>>> | 3 skipped results: >>>> | SKIPPED test-markdown-flyspell/check-word-p >>>> | SKIPPED test-markdown-flyspell/remove-overlay >>>> | SKIPPED test-markdown-flyspell/yaml-metadata >>>> `---- >>>> >>>> With discount replacing markdown: >>>> ,---- >>>> | Ran 543 tests, 540 results as expected, 0 unexpected, 3 skipped >>>> (2024-06-11 04:55:59+0000, 1.410098 sec) >>>> | 1 expected failures >>>> | >>>> | 3 skipped results: >>>> | SKIPPED test-markdown-flyspell/check-word-p >>>> | SKIPPED test-markdown-flyspell/remove-overlay >>>> | SKIPPED test-markdown-flyspell/yaml-metadata >>>> `---- >>>> >>>> So regardless of dropping markdown or adding discount, the test behavior >>>> did not change. I think now with discount replacing markdown it is in a >>>> better state. >>> >>> Really? It looks to me like you proved this: >>> >>> (setq markdown-state 3) >>> (setq without-markdown-state 3) >>> (setq with-discount-state 3) >>> (setq markdown-to-discount-diff 0) >>> (setq markdown-state (/ markdown-state markdown-to-discount-diff)) >>> >>> I know this isn't idiomatically correct, but I want non-LISPers to be >>> able to understand this gentle point. >>> >> >> Sorry but you completely lost me here, especially the calculation in >> this last assignment. What does it mean? >> >>> Please resolve this issue by completing the TODO item I put in the >>> changelog. >>> >> >> For completeness let me copy your TODO items here: >> >> ,---- >> | TODO: read the source code to see if it needs to be patched to use >> | discount-by-default during tests, as well as in the default config. That >> | work will go in this section. Answer if they're unit tests or functional >> | tests? That justification needs to go here. If I have to look this >> | stuff up myself then you can't share credit. >> `---- >> >> The tests need not to be patched. Looking into tests/markdown-test.el, >> and try to search for `markdown-command', you can find >> * 11 occurrences that it's bound to `markdown-command-identity' that >> copies a given region, which is basically a mock implementation; >> * 1 occurrence that it's bound to a lisp function that records all >> arguments; >> * 3 occurrences that it's bound to a `pandoc' command with or without >> arguments; >> - This shows why pandoc is not used as an alternative in B-D because >> there are tests directly use it. >> * 1 occurrence that it's bound to a non-existent command; >> * 1 occurrence it's bound to `false'; >> now, this leaves 1 occurrence that it actually checks the availability >> of the command using `executable-find'. As I mentioned in previous >> mail, it will try to find the first available command in `markdown', >> `pandoc', or `markdown_py'. As we have package "discount" replacing >> package "markdown" which also provides `/usr/bin/markdown', it should >> still work. In fact, the package will still work with pandoc as the >> only B-D because it can handle markdown format just fine. This also >> explains why the 3 scenarios produce the same result: as long as the >> command "markdown" or "pandoc" are available, the tests will work as >> intended. >> >> Regarding your question of test types, except the 4 tests that use a >> real markdown-command which are functional tests, all others can be >> considered unit tests with a mock markdown-command. >> >> ,---- >> | P.S: Were we to "discount | libtext-multimarkdown-perl", the latter would >> | never be tested, because the first branch is always chosen. >> `---- >> >> Alternatives in B-D are useful in case one package is not available in >> all Debian supported architectures so that the rest of the alternatives >> can be used instead. In this case, yes the latter would never be used >> because discount is available in all supported archs. >> >>> Best, >>> Nicholas >>> >> >> [1] Upload #1 on https://mentors.debian.net/package/markdown-mode/ >> >> P.S. I feel that your wording in the last email is quite strong, and I >> don't think this was necessary. If there is something I did or said that >> you dislike or make you uncomfortable please let me know. > > Friendly ping. Friendly ping. (Also updated the package version in title w.r.t. the recent rebuilt against dh-elpa.) -- Xiyue Deng