Xiyue Deng <manp...@gmail.com> writes:

> 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.)
>

It turns out that `markdown' has been adopted and is no longer being
RMed.  So I took the liberty to update the changelog to remove the
review question and adding markdown back to Recommends but as last
alternative.  `discount' is still preferred as B-D.

Also, this review has taken over 4 months.  As I still haven't received
a reply from Nicholas for a while, I would like to invite a wider
audience for sponsorship.

> -- 
> Xiyue Deng

-- 
Regards,
Xiyue Deng

Attachment: signature.asc
Description: PGP signature

Reply via email to