Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1250412

Bug#1103033: emacs: generate versioned Provides for all :core packages

From Xiyue Deng <manphiz@gmail.com>
Newsgroups linux.debian.bugs.dist
Subject Bug#1103033: emacs: generate versioned Provides for all :core packages
Date 2025-06-19 04:10 +0200
Message-ID <KZcSZ-byZE-1@gated-at.bofh.it> (permalink)
References (5 earlier) <KBgXL-dlMz-1@gated-at.bofh.it> <KYsZP-b5qL-1@gated-at.bofh.it> <KZ1NT-brB3-9@gated-at.bofh.it> <KBgXL-dlMz-1@gated-at.bofh.it> <KZ1NT-brB3-9@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

Sean Whitton <spwhitton@spwhitton.name> writes:

> Hello,
>
> On Mon 16 Jun 2025 at 05:59pm -07, Xiyue Deng wrote:
>
>> Sean Whitton <spwhitton@spwhitton.name> writes:
>>
>>> control: reassign -1 src:emacs
>>> control: retitle -1 emacs: generate versioned Provides for all :core packages
>>>
>>> Hello,
>>>
>>> On Sun 13 Apr 2025 at 08:55pm -07, Xiyue Deng wrote:
>>>
>>>> Option 1 also sounds good to me.
>>>
>>> Cool.  I'm not planning to work on it but I can review patches.
>>>
>>
>> I have made proof-of-concept patches as a pseudo-MR at [1] (this MR is
>> against my own fork just for illustration).  Basically, it uses an Emacs
>> script to generate Debian compatible versions from the builtin package
>> list, which is integrated with `debian-sync' in debian/rules (similar to
>> the handling of debian/copyright.in).  I'm currently making the provide
>> list in emacs-common package which ships the compiled elisp files.
>>
>> Please review and comment.
>
> Very interesting.
>
> Have you considered using debhelper substvars for this?  Like how we
> have ${elpa:Depends}.  It avoids needing a control.in.  A control.in
> isn't the end of the world but it might be cleaner not to have one.
>

Ah didn't think about that.  I think it's better than using control.in
in general, though there are the "unused" warning on other packages
(using "?=" doesn't seem to help).

One advantage of generating d/control that I like is that we can see the
provide list directly and can inspect the diff on regeneration.  To get
something similar, I have each package version pair as one line of
comment in the substvars file before setting emacs:Provides (the
substitute variable I'm using for now).  This way we get something
similar.

Somehow I cannot use debian/substvars or debian/<package>.substvars
(which probably got removed by "clean") and need to use
override_dh_gencontrol to pass the generated substvars file (I'm using
debian/emacs-substvars).  Let me know if there is a better way.

> Don't sharpquote lambdas; unlike in CL, doing so will mean they don't
> get compiled (I think).
>

Ack.  TIL.

> You can rewrite the cond using cl-case or pcase.
>

Done

> Use cl-incf (just incf in Emacs 31) instead of setq and 1+.
>

Done

> I see you're using package--builtin-versions.  I'm not happy to be using
> an internal variable -- it got us in trouble before!
>

Current there seems to be no way to get the builtin package info
otherwise.  Fortunately we can easily verify whether it still works by
running "debian/rules debian-sync" and inspect the diff in
debian/emacs-substvars.

Meanwhile I'll try to file a wishlist bug upstream and migrate in
future.

> -- 
> Sean Whitton

I have updated my branch accordingly.  Also attached the formatted patch
in case it's preferred.

PTAL.

-- 
Regards,
Xiyue Deng

Back to linux.debian.bugs.dist | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Bug#1103033: dh-elpa: Handle version of built-in package better Xiyue Deng <manphiz@gmail.com> - 2025-04-14 03:40 +0200
  Bug#1103033: dh-elpa: Handle version of built-in package better Sean Whitton <spwhitton@spwhitton.name> - 2025-04-14 04:50 +0200
    Bug#1103033: dh-elpa: Handle version of built-in package better Xiyue Deng <manphiz@gmail.com> - 2025-04-14 06:00 +0200
      Bug#1103033: dh-elpa: Handle version of built-in package better Sean Whitton <spwhitton@spwhitton.name> - 2025-04-14 06:30 +0200
        Bug#1103033: dh-elpa: Handle version of built-in package better Xiyue Deng <manphiz@gmail.com> - 2025-04-14 06:40 +0200
        Bug#1103033: emacs: generate versioned Provides for all :core packages Xiyue Deng <manphiz@gmail.com> - 2025-06-17 03:10 +0200
          Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-06-18 16:20 +0200
            Bug#1103033: emacs: generate versioned Provides for all :core packages Xiyue Deng <manphiz@gmail.com> - 2025-06-19 04:10 +0200
              Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-06-19 14:50 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-06-20 13:40 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-04 14:40 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-04 22:50 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-15 11:20 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-15 23:00 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-15 23:00 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-16 11:40 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-16 12:10 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-16 20:40 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-18 11:20 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-20 16:40 +0200
  Bug#1103033: emacs: generate versioned Provides for all :core packages Sean Whitton <spwhitton@spwhitton.name> - 2025-07-21 10:30 +0200

csiph-web