GNU bug report logs -
#46964
[ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 46964 in the body.
You can then email your comments to 46964 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Sat, 06 Mar 2021 11:59:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Protesilaos Stavrou <info <at> protesilaos.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 06 Mar 2021 11:59:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Dear maintainers,
With commits de602dd7cf and 8fb33bae32 in emacs.git the 'modus-operandi'
and 'modus-vivendi' themes are now updated to their latest version.
Since the themes are distributed with Emacs, GNU ELPA can treat them as
a single ":core" package. This means that it should stop distributing
the standalone packages 'modus-operandi-theme' and 'modus-vivendi-theme'
which no longer correspond to the current state of the upstream
project.[1]
I tested the attached patch with elpa.git and successfully built
"packages/modus-themes" with the latest version of the files.
What I am not sure about---and apologies if I missed it in the elpa.git
README---is whether a ":core" package benefits from the 'make' command
when that has been called from the root of the emacs.git directory. I
am, in particular, interested in the derived file info/modus-themes.info
(the "info" directory is not available in a fresh clone of emacs.git but
gets generated with 'make').
Thank you!
Protesilaos
[1]: <https://gitlab.com/protesilaos/modus-themes>.
--
Protesilaos Stavrou
protesilaos.com
[0001-Replace-modus-theme-with-modus-themes-from-core.patch (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Sat, 06 Mar 2021 14:41:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 46964 <at> debbugs.gnu.org (full text, mbox):
Protesilaos Stavrou <info <at> protesilaos.com> writes:
> What I am not sure about---and apologies if I missed it in the elpa.git
> README---is whether a ":core" package benefits from the 'make' command
> when that has been called from the root of the emacs.git directory. I
> am, in particular, interested in the derived file info/modus-themes.info
> (the "info" directory is not available in a fresh clone of emacs.git but
> gets generated with 'make').
[...]
> diff --git a/elpa-packages b/elpa-packages
> index 30f634c1b1..70ca5d8fda 100644
> --- a/elpa-packages
> +++ b/elpa-packages
> @@ -208,8 +208,7 @@
> ("mmm-mode"
> :url "https://github.com/purcell/mmm-mode.git"
> :auto-sync t)
> - ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
> - ("modus-vivendi-theme" :url "https://gitlab.com/protesilaos/modus-themes")
> + ("modus-themes" :core ("etc/themes/modus-themes.el" "etc/themes/modus-operandi-theme.el" "etc/themes/modus-vivendi-theme.el" "doc/misc/modus-themes.org" "info/modus-themes.info"))
Have you tried specifying the manual's source .org/.texi file as the
package :doc property?
Although I don't know whether :core packages support that yet, or
whether elpa.git can even build .texi/.org manuals from emacs.git (see,
for example, the commented-out entry in elpa-packages for cc-mode).
Stefan (CCed) will be more familiar with the limitations.
[ P.S. If you're interested in becoming a member, I think it's time you
created a Savannah account and requested inclusion in the Emacs
project: https://savannah.gnu.org/project/memberlist.php?group=emacs ]
Thanks,
--
Basil
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Sat, 06 Mar 2021 15:01:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 46964 <at> debbugs.gnu.org (full text, mbox):
>> What I am not sure about---and apologies if I missed it in the elpa.git
>> README---is whether a ":core" package benefits from the 'make' command
>> when that has been called from the root of the emacs.git directory.
:core packages are made by creating a local "look-alike" package which
just contains symlinks to files in a pristine emacs.git tree.
So I think the answer is "no".
> Have you tried specifying the manual's source .org/.texi file as the
> package :doc property?
Indeed, that should work.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Sat, 06 Mar 2021 16:20:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 46964 <at> debbugs.gnu.org (full text, mbox):
On 2021-03-06, 14:39 +0000, "Basil L. Contovounesios" <contovob <at> tcd.ie> wrote:
> Have you tried specifying the manual's source .org/.texi file as the
> package :doc property?
I tried with this:
("modus-themes"
:core ("etc/themes/modus-themes.el"
"etc/themes/modus-operandi-theme.el"
"etc/themes/modus-vivendi-theme.el")
:doc "doc/misc/modus-themes.org")
The feedback I get at the shell, with 'make packages/modus-themes':
...
Linking files for package: modus-themes
etc/themes/modus-themes.el -> modus-themes.el
etc/themes/modus-operandi-theme.el -> modus-operandi-theme.el
etc/themes/modus-vivendi-theme.el -> modus-vivendi-theme.el
Whereas the following creates a symlink for the org file as well:
("modus-themes"
:core ("etc/themes/modus-themes.el"
"etc/themes/modus-operandi-theme.el"
"etc/themes/modus-vivendi-theme.el"
"doc/misc/modus-themes.org"))
> Although I don't know whether :core packages support that yet, or
> whether elpa.git can even build .texi/.org manuals from emacs.git (see,
> for example, the commented-out entry in elpa-packages for cc-mode).
Indeed. Besides, emacs.git only recently started including manuals in
Org format.
> [ P.S. If you're interested in becoming a member, I think it's time you
> created a Savannah account and requested inclusion in the Emacs
> project: https://savannah.gnu.org/project/memberlist.php?group=emacs ]
Just did. It informed me that it sent an email to a list of
maintainers.
On 2021-03-06, 10:00 -0500, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
>>> What I am not sure about---and apologies if I missed it in the elpa.git
>>> README---is whether a ":core" package benefits from the 'make' command
>>> when that has been called from the root of the emacs.git directory.
>
> :core packages are made by creating a local "look-alike" package which
> just contains symlinks to files in a pristine emacs.git tree.
> So I think the answer is "no".
I see, thank you! What would be the best course of action then, to
include "doc/misc/modus-themes.org" or omit it?
--
Protesilaos Stavrou
protesilaos.com
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Sat, 06 Mar 2021 18:36:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 46964 <at> debbugs.gnu.org (full text, mbox):
> I tried with this:
>
> ("modus-themes"
> :core ("etc/themes/modus-themes.el"
> "etc/themes/modus-operandi-theme.el"
> "etc/themes/modus-vivendi-theme.el")
> :doc "doc/misc/modus-themes.org")
I think you need something like:
("modus-themes"
:core ("etc/themes/modus-themes.el"
"etc/themes/modus-operandi-theme.el"
"etc/themes/modus-vivendi-theme.el"
"doc/misc/modus-themes.org")
:doc "modus-themes.org")
The :core brings the specified files into the directory from which we
build the package, and then the :doc tells where to find the doc in that
directory.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Sun, 07 Mar 2021 07:34:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 46964 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 2021-03-06, 13:35 -0500, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
>> I tried with this:
>>
>> ("modus-themes"
>> :core ("etc/themes/modus-themes.el"
>> "etc/themes/modus-operandi-theme.el"
>> "etc/themes/modus-vivendi-theme.el")
>> :doc "doc/misc/modus-themes.org")
>
> I think you need something like:
>
> ("modus-themes"
> :core ("etc/themes/modus-themes.el"
> "etc/themes/modus-operandi-theme.el"
> "etc/themes/modus-vivendi-theme.el"
> "doc/misc/modus-themes.org")
> :doc "modus-themes.org")
>
> The :core brings the specified files into the directory from which we
> build the package, and then the :doc tells where to find the doc in that
> directory.
Thank you! I have amended the patch using the format you recommended.
--
Protesilaos Stavrou
protesilaos.com
[0001-Replace-modus-theme-with-modus-themes-from-core.patch (text/x-patch, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Tue, 09 Mar 2021 15:56:01 GMT)
Full text and
rfc822 format available.
Message #23 received at 46964 <at> debbugs.gnu.org (full text, mbox):
Protesilaos Stavrou <info <at> protesilaos.com> writes:
> Thank you! I have amended the patch using the format you recommended.
Thanks, LGTM.
Have you been able to verify that the tarball is created properly,
and especially that the contained .info file is nonempty?
Because locally I get either errors or empty .info files when I try
'make packages/modus-themes' or 'make build/modus-themes', regardless
of sandboxing. I'm guessing full deployments don't suffer the same?
> --- a/elpa-packages
> +++ b/elpa-packages
> @@ -208,8 +208,12 @@
> ("mmm-mode"
> :url "https://github.com/purcell/mmm-mode.git"
> :auto-sync t)
> - ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
> - ("modus-vivendi-theme" :url "https://gitlab.com/protesilaos/modus-themes")
Also wondering if we need to do anything special before "ripping off
this bandaid"[1], or can we also get away with the money like MELPA?
[1]: https://github.com/melpa/melpa/issues/7245
Thanks,
--
Basil
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Tue, 09 Mar 2021 16:47:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 46964 <at> debbugs.gnu.org (full text, mbox):
>> - ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
>> - ("modus-vivendi-theme" :url "https://gitlab.com/protesilaos/modus-themes")
> Also wondering if we need to do anything special before "ripping off
> this bandaid"[1], or can we also get away with the money like MELPA?
I think "overwrite modus-operandi-theme and modus-vivendi-theme with
a small package which depends on modus-themes for compatibility and prints some
kind of deprecation warning, maybe via the autoload mechanism" is the
better way forward (but this can be done calmly once the `modus-themes`
is confirmed to be in good shape).
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Tue, 09 Mar 2021 19:09:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 46964 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 2021-03-09, 15:54 +0000, "Basil L. Contovounesios" <contovob <at> tcd.ie> wrote:
> Protesilaos Stavrou <info <at> protesilaos.com> writes:
>
>> Thank you! I have amended the patch using the format you recommended.
>
> Thanks, LGTM.
>
> Have you been able to verify that the tarball is created properly,
> and especially that the contained .info file is nonempty?
No, the build always gives me errors. Though I assumed something was
wrong on my end (I am not familiar with makefiles). This is not just
with the modus-themes. Same for something like project.el. Please see
the attached file with the backtrace.
On 2021-03-09, 11:46 -0500, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
>>> - ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
>>> - ("modus-vivendi-theme" :url "https://gitlab.com/protesilaos/modus-themes")
>> Also wondering if we need to do anything special before "ripping off
>> this bandaid"[1], or can we also get away with the money like MELPA?
>
> I think "overwrite modus-operandi-theme and modus-vivendi-theme with
> a small package which depends on modus-themes for compatibility and prints some
> kind of deprecation warning, maybe via the autoload mechanism" is the
> better way forward (but this can be done calmly once the `modus-themes`
> is confirmed to be in good shape).
Yes, we can look into this once the package is confirmed to work.
I have no strong opinion about how to handle the old packages. I prefer
to go with whatever is easier for you.
--
Protesilaos Stavrou
protesilaos.com
[2021-03-09-elpa-make-build-backtrace (application/octet-stream, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Tue, 09 Mar 2021 20:50:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 46964 <at> debbugs.gnu.org (full text, mbox):
Protesilaos Stavrou [2021-03-09 21:08:22] wrote:
> On 2021-03-09, 15:54 +0000, "Basil L. Contovounesios" <contovob <at> tcd.ie> wrote:
>
>> Protesilaos Stavrou <info <at> protesilaos.com> writes:
>>
>>> Thank you! I have amended the patch using the format you recommended.
>>
>> Thanks, LGTM.
>>
>> Have you been able to verify that the tarball is created properly,
>> and especially that the contained .info file is nonempty?
>
> No, the build always gives me errors. Though I assumed something was
> wrong on my end (I am not familiar with makefiles). This is not just
> with the modus-themes. Same for something like project.el. Please see
> the attached file with the backtrace.
Hmm... indeed. Can you check if the patch below fixes it for you?
Stefan
diff --git a/elpa-admin.el b/elpa-admin.el
index 5cb3d261c5..62ba1abcf2 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -246,7 +246,7 @@ Do it without leaving the current branch."
(expand-file-name (elpaa--main-file pkg-spec) dir)))
(default-directory (file-name-directory ftn)))
(vc-working-revision ftn))))
- (if (equal rev cur-rev)
+ (if (or (not rev) (equal rev cur-rev))
(elpaa--message "Current revision is already desired revision!")
(with-temp-buffer
(let ((default-directory (elpaa--dirname dir)))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Wed, 10 Mar 2021 03:50:02 GMT)
Full text and
rfc822 format available.
Message #35 received at 46964 <at> debbugs.gnu.org (full text, mbox):
>> No, the build always gives me errors. Though I assumed something was
>> wrong on my end (I am not familiar with makefiles). This is not just
>> with the modus-themes. Same for something like project.el. Please see
>> the attached file with the backtrace.
>
> Hmm... indeed. Can you check if the patch below fixes it for you?
I pushed that workaround along with a more real fix for what I believe
is the same problem that was preventing building new :core packages on
elpa.gnu.org.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Wed, 10 Mar 2021 05:44:01 GMT)
Full text and
rfc822 format available.
Message #38 received at 46964 <at> debbugs.gnu.org (full text, mbox):
On 2021-03-09, 22:48 -0500, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
>>> No, the build always gives me errors. Though I assumed something was
>>> wrong on my end (I am not familiar with makefiles). This is not just
>>> with the modus-themes. Same for something like project.el. Please see
>>> the attached file with the backtrace.
>>
>> Hmm... indeed. Can you check if the patch below fixes it for you?
>
> I pushed that workaround along with a more real fix for what I believe
> is the same problem that was preventing building new :core packages on
> elpa.gnu.org.
It no longers returns an error. Thank you!
Below is what I get now, provided this:
("modus-themes"
:core ("etc/themes/modus-themes.el"
"etc/themes/modus-operandi-theme.el"
"etc/themes/modus-vivendi-theme.el"
"doc/misc/modus-themes.org")
:doc "modus-themes.org")
make clean
make build/modus-themes
[...]
Linking files for package: modus-themes
etc/themes/modus-themes.el -> modus-themes.el
etc/themes/modus-operandi-theme.el -> modus-operandi-theme.el
etc/themes/modus-vivendi-theme.el -> modus-vivendi-theme.el
doc/misc/modus-themes.org -> modus-themes.org
The resulting archive does not include the Org file or derivatives:
drwxr-xr-x prot/prot 0 modus-themes-1.2.3/
-rw-r--r-- prot/prot 2550 modus-themes-1.2.3/modus-operandi-theme.el
-rw-r--r-- prot/prot 2544 modus-themes-1.2.3/modus-vivendi-theme.el
-rw-r--r-- prot/prot 397 modus-themes-1.2.3/modus-themes-pkg.el
-rw-r--r-- prot/prot 343994 modus-themes-1.2.3/modus-themes.el
While in archive-devel, the Org file is present, though the Info file is
practically empty:
drwxr-xr-x prot/prot 0 modus-themes-1.2.3.0.20210306.91600/
-rw-r--r-- prot/prot 122691 modus-themes-1.2.3.0.20210306.91600/modus-themes.org
-rw-r--r-- prot/prot 2550 modus-themes-1.2.3.0.20210306.91600/modus-operandi-theme.el
-rw-r--r-- prot/prot 541 modus-themes-1.2.3.0.20210306.91600/dir
-rw-r--r-- prot/prot 2544 modus-themes-1.2.3.0.20210306.91600/modus-vivendi-theme.el
-rw-r--r-- prot/prot 414 modus-themes-1.2.3.0.20210306.91600/modus-themes-pkg.el
-rw-r--r-- prot/prot 343994 modus-themes-1.2.3.0.20210306.91600/modus-themes.el
-rw-r--r-- prot/prot 218 modus-themes-1.2.3.0.20210306.91600/modus-themes.info
--
Protesilaos Stavrou
protesilaos.com
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Wed, 10 Mar 2021 18:42:02 GMT)
Full text and
rfc822 format available.
Message #41 received at 46964 <at> debbugs.gnu.org (full text, mbox):
> While in archive-devel, the Org file is present, though the Info file is
> practically empty:
>
> drwxr-xr-x prot/prot 0 modus-themes-1.2.3.0.20210306.91600/
> -rw-r--r-- prot/prot 122691 modus-themes-1.2.3.0.20210306.91600/modus-themes.org
> -rw-r--r-- prot/prot 2550 modus-themes-1.2.3.0.20210306.91600/modus-operandi-theme.el
> -rw-r--r-- prot/prot 541 modus-themes-1.2.3.0.20210306.91600/dir
> -rw-r--r-- prot/prot 2544 modus-themes-1.2.3.0.20210306.91600/modus-vivendi-theme.el
> -rw-r--r-- prot/prot 414 modus-themes-1.2.3.0.20210306.91600/modus-themes-pkg.el
> -rw-r--r-- prot/prot 343994 modus-themes-1.2.3.0.20210306.91600/modus-themes.el
> -rw-r--r-- prot/prot 218 modus-themes-1.2.3.0.20210306.91600/modus-themes.info
Hmm... I made further changes to elpa-admin.el to handle this case.
Here were the problems I encountered:
- The .texi file generated by Org was basically empty because the .org
file that Org saw was literally empty (a symlink pointing nowhere),
because the `emacs` subdir was not included in the sandbox.
- After adding the `emacs` subdir to the sandbox the problem was that
Emacs followed the symlink to the `emacs` subdir and then Org
tried to generate ../emacs/doc/misc/modus-themes.texi into
../packages/modus-themes/modus-themes.texi.
- After preventing Emacs to follow symlinks Org generated a proper .texi
but makeinfo complained of a missing doclicense.texi, so I had to add
"doc/misc/doclicense.texi" to the :core keyword.
I believe it should work now. Please try again,
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Wed, 10 Mar 2021 20:15:02 GMT)
Full text and
rfc822 format available.
Message #44 received at 46964 <at> debbugs.gnu.org (full text, mbox):
On 2021-03-10, 13:41 -0500, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
> Hmm... I made further changes to elpa-admin.el to handle this case.
> Here were the problems I encountered:
> - The .texi file generated by Org was basically empty because the .org
> file that Org saw was literally empty (a symlink pointing nowhere),
> because the `emacs` subdir was not included in the sandbox.
> - After adding the `emacs` subdir to the sandbox the problem was that
> Emacs followed the symlink to the `emacs` subdir and then Org
> tried to generate ../emacs/doc/misc/modus-themes.texi into
> ../packages/modus-themes/modus-themes.texi.
> - After preventing Emacs to follow symlinks Org generated a proper .texi
> but makeinfo complained of a missing doclicense.texi, so I had to add
> "doc/misc/doclicense.texi" to the :core keyword.
>
> I believe it should work now. Please try again,
Thank you! I confirm that the package builds correctly.
How do we proceed from here? In my original patch, I intended to
outright delete 'modus-{operandi,vivendi}-theme'. Though you noted the
possibility of making those old packages pull in the new one. I am fine
either way.
--
Protesilaos Stavrou
protesilaos.com
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Wed, 10 Mar 2021 23:18:01 GMT)
Full text and
rfc822 format available.
Message #47 received at 46964 <at> debbugs.gnu.org (full text, mbox):
> Thank you! I confirm that the package builds correctly.
>
> How do we proceed from here? In my original patch, I intended to
> outright delete 'modus-{operandi,vivendi}-theme'. Though you noted the
> possibility of making those old packages pull in the new one. I am fine
> either way.
I suggest a 3 step process:
1- Add the new `modus-themes` GNU ELPA package.
2- Update the `modus-*-theme`(s) by replacing them with placeholders
(labeled as obsolete) that depend on `modus-themes`.
3- Remove the old `modus-*-theme`(s) packages.
There's no hurry between each step, and we could wait a year or two
before taking step 3.
We could even have a step 2½ which replaces the `modus-*-theme`(s) with
packages which remove themselves after installation, so upgrading the
package would remove it ;-)
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Wed, 10 Mar 2021 23:24:01 GMT)
Full text and
rfc822 format available.
Message #50 received at 46964 <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> I suggest a 3 step process:
>
> 1- Add the new `modus-themes` GNU ELPA package.
> 2- Update the `modus-*-theme`(s) by replacing them with placeholders
> (labeled as obsolete) that depend on `modus-themes`.
> 3- Remove the old `modus-*-theme`(s) packages.
>
> There's no hurry between each step, and we could wait a year or two
> before taking step 3.
>
> We could even have a step 2½ which replaces the `modus-*-theme`(s) with
> packages which remove themselves after installation, so upgrading the
> package would remove it ;-)
I think the upgrade process should also remove other installed theme
packages ;).
--
Basil
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Thu, 11 Mar 2021 03:09:02 GMT)
Full text and
rfc822 format available.
Message #53 received at 46964 <at> debbugs.gnu.org (full text, mbox):
>> I suggest a 3 step process:
>>
>> 1- Add the new `modus-themes` GNU ELPA package.
>> 2- Update the `modus-*-theme`(s) by replacing them with placeholders
>> (labeled as obsolete) that depend on `modus-themes`.
>> 3- Remove the old `modus-*-theme`(s) packages.
>>
>> There's no hurry between each step, and we could wait a year or two
>> before taking step 3.
>>
>> We could even have a step 2½ which replaces the `modus-*-theme`(s) with
>> packages which remove themselves after installation, so upgrading the
>> package would remove it ;-)
>
> I think the upgrade process should also remove other installed theme
> packages ;).
You got my vote,
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Thu, 11 Mar 2021 08:28:01 GMT)
Full text and
rfc822 format available.
Message #56 received at 46964 <at> debbugs.gnu.org (full text, mbox):
On 2021-03-10, 22:07 -0500, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
>>> I suggest a 3 step process:
>>>
>>> 1- Add the new `modus-themes` GNU ELPA package.
>>> 2- Update the `modus-*-theme`(s) by replacing them with placeholders
>>> (labeled as obsolete) that depend on `modus-themes`.
>>> 3- Remove the old `modus-*-theme`(s) packages.
>>>
>>> There's no hurry between each step, and we could wait a year or two
>>> before taking step 3.
>>>
>>> We could even have a step 2½ which replaces the `modus-*-theme`(s) with
>>> packages which remove themselves after installation, so upgrading the
>>> package would remove it ;-)
>>
>> I think the upgrade process should also remove other installed theme
>> packages ;).
>
> You got my vote,
Sounds promising! Though Basil's suggestion has an implicit dependency
on 'M-x fireworks'.
At any rate, I do not know how to implement such in-place substitutes.
Can you please point me to the relevant documentation or some previous
case that I could study? Then I will try to produce a patch.
[ I don't want to burden you with extra work. ]
--
Protesilaos Stavrou
protesilaos.com
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Thu, 11 Mar 2021 19:46:02 GMT)
Full text and
rfc822 format available.
Message #59 received at 46964 <at> debbugs.gnu.org (full text, mbox):
Protesilaos Stavrou <info <at> protesilaos.com> writes:
> At any rate, I do not know how to implement such in-place substitutes.
> Can you please point me to the relevant documentation or some previous
> case that I could study? Then I will try to produce a patch.
Not sure how many parallels there are, but I recently merged the
dash-functional package into dash, with the former now an obsolete
placeholder.
There was some discussion on how to go about this:
https://github.com/magnars/dash.el/issues/356
https://lists.gnu.org/r/emacs-devel/2021-02/msg00378.html
Most of the work was announcements/documentation:
https://git.sv.gnu.org/cgit/emacs/elpa.git/tree/NEWS.md?h=externals/dash#n16
https://github.com/magnars/dash.el/wiki/Obsoletion-of-dash-functional.el
The rest was just killing/yanking and updating library headers:
https://git.sv.gnu.org/cgit/emacs/elpa.git/commit/?h=externals/dash&id=5eea1560c785d3873316b42dce480fdfefbb7d04
https://git.sv.gnu.org/cgit/emacs/elpa.git/commit/?h=externals/dash&id=0e975782086020aa12863fdb658d6a3cc748a10c
HTH,
--
Basil
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Thu, 11 Mar 2021 22:55:02 GMT)
Full text and
rfc822 format available.
Message #62 received at 46964 <at> debbugs.gnu.org (full text, mbox):
> At any rate, I do not know how to implement such in-place substitutes.
> Can you please point me to the relevant documentation or some previous
> case that I could study? Then I will try to produce a patch.
Rather than point at some similar previous case, here's how I'd do it:
Make a new commit to the the elpa.git branches `modus-<foo>-theme` which
basically gut the `modus-<foo>-theme.el` files, replacing them with tiny
files containing just the header (where `Package-Requires:` says
`modus-themes`) plus some shenanigans to look for the directory holding
the `modus-themes.el` file and load the matching `modus-<foo>-theme.el`
from it. And maybe emit a warning just before doing that (both to
state that the package is obsolete and to warn the users about the
redirect, so they might know where to start looking in case something
goes wrong).
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Fri, 12 Mar 2021 08:00:01 GMT)
Full text and
rfc822 format available.
Message #65 received at 46964 <at> debbugs.gnu.org (full text, mbox):
On 2021-03-11, 17:54 -0500, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
>> At any rate, I do not know how to implement such in-place substitutes.
>> Can you please point me to the relevant documentation or some previous
>> case that I could study? Then I will try to produce a patch.
>
> Rather than point at some similar previous case, here's how I'd do it:
>
> Make a new commit to the the elpa.git branches `modus-<foo>-theme` which
> basically gut the `modus-<foo>-theme.el` files, replacing them with tiny
> files containing just the header (where `Package-Requires:` says
> `modus-themes`) plus some shenanigans to look for the directory holding
> the `modus-themes.el` file and load the matching `modus-<foo>-theme.el`
> from it. And maybe emit a warning just before doing that (both to
> state that the package is obsolete and to warn the users about the
> redirect, so they might know where to start looking in case something
> goes wrong).
Thank you Stefan (and Basil in the other message)! I will research
those and act accordingly.
Note that I do not have commit rights to elpa.git: I sent the request a
few days ago.
--
Protesilaos Stavrou
protesilaos.com
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Sat, 13 Mar 2021 17:11:02 GMT)
Full text and
rfc822 format available.
Message #68 received at 46964 <at> debbugs.gnu.org (full text, mbox):
> I suggest a 3 step process:
>
> 1- Add the new `modus-themes` GNU ELPA package.
Done.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Wed, 17 Mar 2021 07:05:01 GMT)
Full text and
rfc822 format available.
Message #71 received at 46964 <at> debbugs.gnu.org (full text, mbox):
On 2021-03-13, 12:10 -0500, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
>> I suggest a 3 step process:
>>
>> 1- Add the new `modus-themes` GNU ELPA package.
>
> Done.
I can confirm as much. Thank you! My plan now is to produce a patch
for replacing the old packages with the new one. I will post here once
I am done.
--
Protesilaos Stavrou
protesilaos.com
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Thu, 18 Mar 2021 07:56:01 GMT)
Full text and
rfc822 format available.
Message #74 received at 46964 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 2021-03-17, 09:04 +0200, Protesilaos Stavrou <info <at> protesilaos.com> wrote:
> On 2021-03-13, 12:10 -0500, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
>
>>> I suggest a 3 step process:
>>>
>>> 1- Add the new `modus-themes` GNU ELPA package.
>>
>> Done.
>
> I can confirm as much. Thank you! My plan now is to produce a patch
> for replacing the old packages with the new one. I will post here once
> I am done.
I made the necessary changes to the old files, based on what Basil had
shared earlier. I attach modus-operandi, while the same has been done
for modus-vivendi. You can retrieve those from the following branches:
* https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-operandi-theme
* https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-vivendi-theme
Then I applied the following change to elpa.git:
elpa-packages | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/elpa-packages b/elpa-packages
index 98bf5a7f4d..0dbd7187ae 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -213,8 +213,8 @@
("mmm-mode"
:url "https://github.com/purcell/mmm-mode.git"
:auto-sync t)
- ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
- ("modus-vivendi-theme" :url "https://gitlab.com/protesilaos/modus-themes")
+ ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes" :branch "elpa/modus-operandi-theme")
+ ("modus-vivendi-theme" :url "https://gitlab.com/protesilaos/modus-themes" :branch "elpa/modus-vivendi-theme")
("modus-themes" :core ("etc/themes/modus-themes.el"
"etc/themes/modus-operandi-theme.el"
"etc/themes/modus-vivendi-theme.el"
To make elpa.git's "make" commands work, I had to explicitly change
branch to point at my remote.
Anyhow, the new tarball installs properly. So unless I have missed
something, this should be okay now.
In the meantime, I published an announcement regarding the changes:
<https://protesilaos.com/codelog/2021-03-17-modus-themes-packaging-changes/>.
I will update it once we are done with this point. Hopefully this
should be enough.
Thanks again for your time and efforts!
--
Protesilaos Stavrou
protesilaos.com
[modus-operandi-theme.el (text/plain, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Thu, 18 Mar 2021 17:53:01 GMT)
Full text and
rfc822 format available.
Message #77 received at 46964 <at> debbugs.gnu.org (full text, mbox):
> I made the necessary changes to the old files, based on what Basil had
> shared earlier. I attach modus-operandi, while the same has been done
> for modus-vivendi. You can retrieve those from the following branches:
>
> * https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-operandi-theme
> * https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-vivendi-theme
That's looking fine, pushed.
> Then I applied the following change to elpa.git:
>
> elpa-packages | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
And I pushed that as well, thank you.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Fri, 19 Mar 2021 05:31:01 GMT)
Full text and
rfc822 format available.
Message #80 received at 46964 <at> debbugs.gnu.org (full text, mbox):
On 2021-03-18, 13:52 -0400, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
>> I made the necessary changes to the old files, based on what Basil had
>> shared earlier. I attach modus-operandi, while the same has been done
>> for modus-vivendi. You can retrieve those from the following branches:
>>
>> * https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-operandi-theme
>> * https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-vivendi-theme
>
> That's looking fine, pushed.
>
>> Then I applied the following change to elpa.git:
>>
>> elpa-packages | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> And I pushed that as well, thank you.
Thank you! The update went through. All good here. The final step
will be to remove the old packages. I guess we can do that in a new bug
report, say, six months from now. Feel free to close this one.
On another note, is there some way I could use elpa-devel to distribute
the upstream version of my themes? Patching emacs.git on a daily basis
would not be feasible... While having a bleeding edge variant would
help with user testing, so that when I send a new tagged release to
emacs.git (every month or so), I can be confident that everything is in
order.
--
Protesilaos Stavrou
protesilaos.com
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Fri, 19 Mar 2021 12:56:02 GMT)
Full text and
rfc822 format available.
Message #83 received at 46964 <at> debbugs.gnu.org (full text, mbox):
close 46964
thanks
> Thank you! The update went through. All good here. The final step
> will be to remove the old packages. I guess we can do that in a new bug
> report, say, six months from now. Feel free to close this one.
Done.
> On another note, is there some way I could use elpa-devel to distribute
> the upstream version of my themes? Patching emacs.git on a daily basis
> would not be feasible... While having a bleeding edge variant would
> help with user testing, so that when I send a new tagged release to
> emacs.git (every month or so), I can be confident that everything is in
> order.
Hmm... currently the GNU ELPA scripts can understand the situation where
the release and the -devel code come from two different branches of the
same repository, but having the release come from :core and the other
from :url would require a fair bit of changes I think.
I believe it would be easier in that case to make both the release and
the -devel versions come from :url (and not use :core at all).
Stefan
bug closed, send any further explanations to
46964 <at> debbugs.gnu.org and Protesilaos Stavrou <info <at> protesilaos.com>
Request was from
Stefan Monnier <monnier <at> iro.umontreal.ca>
to
control <at> debbugs.gnu.org
.
(Fri, 19 Mar 2021 12:56:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#46964
; Package
emacs
.
(Fri, 19 Mar 2021 14:19:02 GMT)
Full text and
rfc822 format available.
Message #88 received at 46964 <at> debbugs.gnu.org (full text, mbox):
On 2021-03-19, 08:55 -0400, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
> close 46964
> thanks
>
>> Thank you! The update went through. All good here. The final step
>> will be to remove the old packages. I guess we can do that in a new bug
>> report, say, six months from now. Feel free to close this one.
>
> Done.
Thanks!
>> On another note, is there some way I could use elpa-devel to distribute
>> the upstream version of my themes? Patching emacs.git on a daily basis
>> would not be feasible... While having a bleeding edge variant would
>> help with user testing, so that when I send a new tagged release to
>> emacs.git (every month or so), I can be confident that everything is in
>> order.
>
> Hmm... currently the GNU ELPA scripts can understand the situation where
> the release and the -devel code come from two different branches of the
> same repository, but having the release come from :core and the other
> from :url would require a fair bit of changes I think.
>
> I believe it would be easier in that case to make both the release and
> the -devel versions come from :url (and not use :core at all).
In that case, let's leave it as-is. I prefer to keep :core in place
because it is easier to prepare one patch for emacs.git and have it
trickle down to elpa.git.
--
Protesilaos Stavrou
protesilaos.com
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 17 Apr 2021 11:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 years and 124 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.