• Re: a short review of ricorambo/dh-elpa-extras

    From Nicholas D Steeves@21:1/5 to Nicholas D Steeves on Sun Oct 29 02:20:01 2023
    Nicholas D Steeves <[email protected]> writes:

    1. [x] Catches misses like the one noted above
    2. [ ] Can be run during the packaging of a $upstream_version-1 Debian
    revision of src:emacs to solve the bootstrap problem.
    3. [ ] Please review your dependencies, because your work depends on at
    least one nifty tool from at least one Optional package.


    Oops, sorry, I missed this:

    L9: http://paste.debian.net/1296572

    Thanks for catching this issue!

    -----BEGIN PGP SIGNATURE-----

    iQJEBAEBCgAuFiEE4qYmHjkArtfNxmcIWogwR199EGEFAmU9pJMQHHN0ZW5AZGVi aWFuLm9yZwAKCRBaiDBHX30QYfJED/9/usk6dx8A/qjV47wewgbFuuqhmAE4MrKl UaRCG7tqenVgkchotDxNVEpKlIX5lW6QRo26Va+TnYSU2nNKNd/GyodxbBVd2ztH Awvy/diaOurf9vCDj0ZmL2ljXjteF8wvECRTnrlZVKqdO/R3IzLX+Tbo22gw0O8z z6fcM+b6TqZsmMIL1BEkgizWIhMPBqem/k5pQcZuOLRayB08BZm/Cz2yjYnxHGHn x0pApbqeXznqQL8ZTTqQR03Fm/xw8DbzibUwECmu1JH+K79NNnYPBG3XZ59OTq6B HD7ztWYGeA+XuM2qR/7hkbFAk+z0JaYkBsClh1lizg6Cas0XDmO0V1ReA/MPNZZk CMxEqqiQ2l9hDgceq8dzdSfNMsjuIUFlFfBG8GEHwusM1wfxlAdPPYqLvKIek0IZ KayryRnsTxkO9mK44oQr+GmtnutTl8q4xW+IsYFYgbbSJkiPGDR7j9LlXF2Or6w+ Mrrm1sSRw3yWhZQnK37DasJauTbhsGMrR+5Q11XWWXfTcSxEj1vAr44HDDtLTqCn 8lwn/yVdGYlI3+yQNwCbdsFmm0+j6Lordz5QT01Qkpx5PPxlU11zwUwxJ1pfP0AZ n03pstVPbBDhJocIwepNUWSXvPa/qpBquHROMfxJnN7Q4qOwJsDFxVNP4782uK98
    C8wz+Jbr7w==
    =wn5G
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Nicholas D Steeves@21:1/5 to All on Sun Oct 29 02:20:01 2023
    Hi,

    Thank you for you work on this, and I'm happy to see the progress on
    this proof-of-concept implementation :)

    https://salsa.debian.org/ricorambo/dh-elpa-extras/-/blame/master/extracted-data/1:29.1+1-5#L468

    shows "nil". Is this because the metadata is missing in Emacs 29.1
    (upstream bug, as I noted existed in my understanding of the problem,
    noted on #debian-emacs), or is it a bug in dh-elpa-extras? This is
    significant because emacs-common needs to Provide transient, because
    it's an elpa package. Ie:

    https://melpa.org/#/transient
    https://packages.debian.org/sid/elpa-transient

    Upstream Emacs master branch had version 3.2 back in 2021:

    https://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/transient.el?id=afcdd4cab3d8c3450852405a3dd64a5316d38b85

    I chose to spend my review time looking for this specific issue and
    stopped when I found one incidence. From what I can tell, this would be
    the checklist Rob (sorry for being presumptuous) would be looking for:

    1. [ ] Catches misses like the one noted above
    2. [ ] Can be run during the packaging of a $upstream_version-1 Debian
    revision of src:emacs to solve the bootstrap problem.
    3. [ ] Please review your dependencies, because your work depends on at
    least one nifty tool from at least one Optional package.

    Other than that, yes, as I previously noted on #debian-emacs, this looks
    like right direction to do things.

    Cheers,
    Nicholas

    -----BEGIN PGP SIGNATURE-----

    iQJEBAEBCgAuFiEE4qYmHjkArtfNxmcIWogwR199EGEFAmU9o/MQHHN0ZW5AZGVi aWFuLm9yZwAKCRBaiDBHX30QYUh7D/9PLj80hNGdK6JVKOSo2o04jW9UtYAXPlBS K6cUTzqgb2yiUq83xDUXVxXG5sJCTcS8qOxqwxvk9sSN1kLEhYDAkRm9YM1xDbRo me3z/H26+eHv+Ix+Fp9rfM4eHzcp1SsbCY/0l2/rZMRXKpwRttt6mcD1RXBrM7gm ENxAVfwCMbtRkTGnZGQhVRxvT+J8ZCl0kI+HttLnvQtj7l8mXVL9s297ZiQeYtlZ JiNaX6izcIIcj30fXvnjia5kXsT5is7PzVtl1S7ZE9JWarJFbHdiBubaJzPvYoRN UMNT3t8FMA3cpbpr9Pz5HzMIwzyYkvG86iBzdz12iCx4JbMHCPVMW+0dpcbepxdw S1WmCYtOCgxiX60YfwVGvGi60sQCm1EVNEhoOsmWW50EeEl/vgA4pH+3hYoCnU8Q JpMIO8YI4J/3DOmRhmmo9tiOzu4MEIBLs+fGCsvbs9AGdooQ7SvXAhjQr2IAqbIq L3exVAhL+dYgWWrHKSpRJ3ayEk1IXBaVVJ9ZJTZ7ybFG3A9eHTzQQIFam5oZlw09 QNsG6HRK1QW7BNwhj4F6RP1QFoGYHqyxc9HxiGIkjtiYUVHuTKH+3P40z3W0zyAO eV267CK0duxg8P0s8BkV8DkVguLERKHVj4CiKt5OxGIFpCYAqFSwhw6ETLDu2L9G
    VljFAk6ZfA==
    =uOAY
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Aymeric Agon-Rambosson@21:1/5 to All on Sun Oct 29 20:40:01 2023
    Hi,

    Le samedi 28 octobre 2023 à 20:17, Nicholas D Steeves
    <[email protected]> a écrit :

    Is this because the metadata is missing in Emacs 29.1
    (upstream bug, as I noted existed in my understanding of the
    problem,
    noted on #debian-emacs), or is it a bug in dh-elpa-extras?

    This metadata is provided by the library "finder-inf" (/usr/share/emacs/29.1/lisp/finder-inf.el), which sets the
    variable package--builtins to a constant value.

    The library "finder" (/usr/share/emacs/29.1/lisp/finder.el.gz)
    also provides some utilities, in particular the function finder-compile-keywords, that apparently parses all the source
    elisp files part of the load-path, and produces the file
    finder-inf.el. I am not entirely sure when this last file is
    produced (at compile time ? by upstream themselves, just before
    release ?).

    The thing is, this library is apparently incapable of parsing the
    source file of transient correctly (and possibly others). I think
    this qualifies as an upstream bug, either in the finder library,
    or in the header of transient.el.gz (maybe someone did not respect
    some standard header format). Apparently, it looks for some header
    "version", when in the case of transient, it should look for "package-version". This could indeed be notified to upstream.

    Oops, sorry, I missed this:

    L9: http://paste.debian.net/1296572

    Thanks for catching this issue!

    Yes, the parser I implemented works at least for transient, so we
    can consider this problem orthogonal with our purpose in the
    meantime.

    Moving on to your more important other points :

    2. [ ] Can be run during the packaging of a $upstream_version-1
    Debian
    revision of src:emacs to solve the bootstrap problem.

    I think the first question we want to ask ourselves is how we want
    to inject this information in the control file : since we're
    packaging a new version of emacs once every 18 months or so, we
    could very well just do it manually and not bother with trying to
    include it in the build process of src:emacs. How I saw things, I
    imagined Someone(TM) would run the script, copy-paste the output
    in the right place in the control file and then build and push
    src:emacs. Of course, that Someone(TM) would have to remember to
    do it. If Rob and Sean agree, I could be that someone and arrange
    for this information to be included in the control file by pushing
    it to salsa, every time they finish packaging a new version, and
    before they push it.

    On the other hand, if we absolutely want to include this info
    automatically at build-time, we have to think about the
    dependencies you mentioned. I needed aptitude to compute the list
    of packages maintained by the team, and I am not aware of a tool
    provided by an essential package that would allow us to do the
    same. I chose aptitude because it allows to search in specific
    fields of the control files, which apt-cache doesn't, if I'm not
    mistaken. As for the rest, I just need to get the list of packages
    provided by emacs from the finder-inf.el file, just after
    compiling it. The whole schroot machinery can go away, since the
    buildd machines run on unstable anyway (I needed them to make the
    scripts work on my machine, that runs on stable). I'm also not
    familiar at all with the rules file of src:emacs, so I wouldn't
    know how to modify it.

    I personnaly have a preference for the first solution, because I'm
    lazy, but I'm curious what all of you think.

    3. [ ] Please review your dependencies, because your work
    depends on at
    least one nifty tool from at least one Optional package.

    I removed combine from the script calculate_intersection.sh, as it
    was provided by moreutils. Thanks for catching this. As for the
    other dependencies not provided by Essential packages, see my
    previous point.

    Thank you very much for your review.

    Best,

    Aymeric

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)