Updating use-package, Version and Package-Version mess

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Updating use-package, Version and Package-Version mess

Lev Lamberov-3
Hi,

I'd like to ask for advises and suggestions concerning the use-package
package. There's a new upstream release, and I plan to update the
package in Debian.

As you may know it was already a kind of a mess, previously I had to
split use-package and bind-key, because these Emacs packages declared
different versions (say, 2.3 for use-package and 1.0 for bind-key; both
via Version declaration; which was also respected in MELPA), and Debian
supports only one version per source package (and it is not possiblt to
build several binary package with different versions from the same
source package).

Now it became a bit more complicated. So, there's 2.4 release, which
contains the following Emacs Lisp files (declared Version included, no
Package-Version declaration in the original source code):

bind-chord.el, 0.2
bind-key.el, 2.4
use-package-bind-key.el, 1.0
use-package-chords.el, 0.2
use-package-core.el, 2.4
use-package-delight.el, 1.0
use-package-diminish.el, 1.0
use-package-ensure-system-package.el, 0.2
use-package-ensure.el, 1.0
use-package-jump.el, 1.0
use-package-lint.el, 1.0
use-package.el, 2.4

Stable MELPA contains the following (declared Version and
Package-Version included):

bind-chord.el, 0.2, 2.4
bind-key.el, 2.4, 2.4

use-package.tar, 2.4 (no Package-Version declaration):
use-package-bind-key.el, 1.0
use-package-core.el, 2.4
use-package-delight.el, 1.0
use-package-diminish.el, 1.0
use-package-ensure.el, 1.0
use-package-jump.el, 1.0
use-package-lint.el, 1.0
use-package.el, 2.4

use-package-chords.el, 0.2, 2.4
use-package-ensure-system-package.el, 0.2, 2.4

So, sticking to stable MELPA version will not require splitting the
source code into several source packages. Should I patch Version (change
it everywhere to 2.4) or include Package-Version (as it is done in
MELPA)? The main motivation is to choose a plan which will not confuse
users running package-list-packages or some alternative (that is,
use-package and its related packages should not be marked as outdated or
something).

I'm open to all your advises and suggestions.

With regards,
Lev

Reply | Threaded
Open this post in threaded view
|

Re: Updating use-package, Version and Package-Version mess

Sean Whitton
Hello Lev,

Thank you for working on this.

On Wed 05 Dec 2018 at 01:14PM +0500, Lev Lamberov wrote:

> Now it became a bit more complicated. So, there's 2.4 release, which
> contains the following Emacs Lisp files (declared Version included, no
> Package-Version declaration in the original source code):
>
> bind-chord.el, 0.2
> bind-key.el, 2.4
> use-package-bind-key.el, 1.0
> use-package-chords.el, 0.2
> use-package-core.el, 2.4
> use-package-delight.el, 1.0
> use-package-diminish.el, 1.0
> use-package-ensure-system-package.el, 0.2
> use-package-ensure.el, 1.0
> use-package-jump.el, 1.0
> use-package-lint.el, 1.0
> use-package.el, 2.4
>
> Stable MELPA contains the following (declared Version and
> Package-Version included):
>
> bind-chord.el, 0.2, 2.4
> bind-key.el, 2.4, 2.4
>
> use-package.tar, 2.4 (no Package-Version declaration):
> use-package-bind-key.el, 1.0
> use-package-core.el, 2.4
> use-package-delight.el, 1.0
> use-package-diminish.el, 1.0
> use-package-ensure.el, 1.0
> use-package-jump.el, 1.0
> use-package-lint.el, 1.0
> use-package.el, 2.4
>
> use-package-chords.el, 0.2, 2.4
> use-package-ensure-system-package.el, 0.2, 2.4
>
> So, sticking to stable MELPA version will not require splitting the
> source code into several source packages. Should I patch Version (change
> it everywhere to 2.4) or include Package-Version (as it is done in
> MELPA)? The main motivation is to choose a plan which will not confuse
> users running package-list-packages or some alternative (that is,
> use-package and its related packages should not be marked as outdated or
> something).
To confirm, are you saying that MELPA has added Package-Version headers,
overriding the Version: headers from upstream, such that everything in
2.4?  What about the libs in your MELPA list that are 1.0?

--
Sean Whitton

signature.asc (847 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Updating use-package, Version and Package-Version mess

Lev Lamberov-3
Пт 07 дек 2018 @ 18:46 Sean Whitton <[hidden email]>:

> Thank you for working on this.
>
> On Wed 05 Dec 2018 at 01:14PM +0500, Lev Lamberov wrote:
>
>> Now it became a bit more complicated. So, there's 2.4 release, which
>> contains the following Emacs Lisp files (declared Version included, no
>> Package-Version declaration in the original source code):
>>
>> bind-chord.el, 0.2
>> bind-key.el, 2.4
>> use-package-bind-key.el, 1.0
>> use-package-chords.el, 0.2
>> use-package-core.el, 2.4
>> use-package-delight.el, 1.0
>> use-package-diminish.el, 1.0
>> use-package-ensure-system-package.el, 0.2
>> use-package-ensure.el, 1.0
>> use-package-jump.el, 1.0
>> use-package-lint.el, 1.0
>> use-package.el, 2.4
>>
>> Stable MELPA contains the following (declared Version and
>> Package-Version included):
>>
>> bind-chord.el, 0.2, 2.4
>> bind-key.el, 2.4, 2.4
>>
>> use-package.tar, 2.4 (no Package-Version declaration):
>> use-package-bind-key.el, 1.0
>> use-package-core.el, 2.4
>> use-package-delight.el, 1.0
>> use-package-diminish.el, 1.0
>> use-package-ensure.el, 1.0
>> use-package-jump.el, 1.0
>> use-package-lint.el, 1.0
>> use-package.el, 2.4
>>
>> use-package-chords.el, 0.2, 2.4
>> use-package-ensure-system-package.el, 0.2, 2.4
>>
>> So, sticking to stable MELPA version will not require splitting the
>> source code into several source packages. Should I patch Version (change
>> it everywhere to 2.4) or include Package-Version (as it is done in
>> MELPA)? The main motivation is to choose a plan which will not confuse
>> users running package-list-packages or some alternative (that is,
>> use-package and its related packages should not be marked as outdated or
>> something).
>
> To confirm, are you saying that MELPA has added Package-Version headers,
> overriding the Version: headers from upstream, such that everything in
> 2.4?  What about the libs in your MELPA list that are 1.0?

Yes, at least in stable MELPA. And these are the only differences.
Please, find the diff between the original source and stable MELPA
attached.

Cheers!
Lev

===File /home/dogsleg/tmp/orig_melpa.diff===================
diff -u -r use-package-orig/bind-chord.el use-package-melpa/bind-chord.el
--- use-package-orig/bind-chord.el 2018-11-20 04:50:27.000000000 +0500
+++ use-package-melpa/bind-chord.el 2018-12-08 00:57:04.000000000 +0500
@@ -4,6 +4,7 @@
 
 ;; Author: Justin Talbott <[hidden email]>
 ;; Keywords: convenience, tools, extensions
+;; Package-Version: 2.4
 ;; URL: https://github.com/waymondo/use-package-chords
 ;; Version: 0.2
 ;; Package-Requires: ((bind-key "1.0") (key-chord "0.6"))
diff -u -r use-package-orig/bind-key.el use-package-melpa/bind-key.el
--- use-package-orig/bind-key.el 2018-11-20 04:50:27.000000000 +0500
+++ use-package-melpa/bind-key.el 2018-12-08 00:57:13.000000000 +0500
@@ -7,6 +7,7 @@
 ;; Created: 16 Jun 2012
 ;; Modified: 29 Nov 2017
 ;; Version: 2.4
+;; Package-Version: 2.4
 ;; Keywords: keys keybinding config dotemacs
 ;; URL: https://github.com/jwiegley/use-package
 
diff -u -r use-package-orig/use-package-chords.el use-package-melpa/use-package-chords.el
--- use-package-orig/use-package-chords.el 2018-11-20 04:50:27.000000000 +0500
+++ use-package-melpa/use-package-chords.el 2018-12-08 10:02:18.000000000 +0500
@@ -4,6 +4,7 @@
 
 ;; Author: Justin Talbott <[hidden email]>
 ;; Keywords: convenience, tools, extensions
+;; Package-Version: 2.4
 ;; URL: https://github.com/waymondo/use-package-chords
 ;; Version: 0.2
 ;; Package-Requires: ((use-package "2.1") (bind-key "1.0") (bind-chord "0.2") (key-chord "0.6"))
diff -u -r use-package-orig/use-package-ensure-system-package.el use-package-melpa/use-package-ensure-system-package.el
--- use-package-orig/use-package-ensure-system-package.el 2018-11-20 04:50:27.000000000 +0500
+++ use-package-melpa/use-package-ensure-system-package.el 2018-12-08 10:02:39.000000000 +0500
@@ -4,6 +4,7 @@
 
 ;; Author: Justin Talbott <[hidden email]>
 ;; Keywords: convenience, tools, extensions
+;; Package-Version: 2.4
 ;; URL: https://github.com/waymondo/use-package-ensure-system-package
 ;; Version: 0.2
 ;; Package-Requires: ((use-package "2.1") (system-packages "1.0.4"))
============================================================

Reply | Threaded
Open this post in threaded view
|

Re: Updating use-package, Version and Package-Version mess

Sean Whitton
Hello Lev,

On Sat 08 Dec 2018 at 11:16am +0500, Lev Lamberov wrote:

> Пт 07 дек 2018 @ 18:46 Sean Whitton <[hidden email]>:
>>
>> To confirm, are you saying that MELPA has added Package-Version headers,
>> overriding the Version: headers from upstream, such that everything in
>> 2.4?  What about the libs in your MELPA list that are 1.0?
>
> Yes, at least in stable MELPA. And these are the only differences.
> Please, find the diff between the original source and stable MELPA
> attached.

Thanks, but could you answer my second question too?

--
Sean Whitton

signature.asc (847 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Updating use-package, Version and Package-Version mess

Lev Lamberov-3
Hi Sean,

Вт 18 дек 2018 @ 17:31 Sean Whitton <[hidden email]>:

> On Sat 08 Dec 2018 at 11:16am +0500, Lev Lamberov wrote:
>
>> Пт 07 дек 2018 @ 18:46 Sean Whitton <[hidden email]>:
>>>
>>> To confirm, are you saying that MELPA has added Package-Version headers,
>>> overriding the Version: headers from upstream, such that everything in
>>> 2.4?  What about the libs in your MELPA list that are 1.0?
>>
>> Yes, at least in stable MELPA. And these are the only differences.
>> Please, find the diff between the original source and stable MELPA
>> attached.
>
> Thanks, but could you answer my second question too?

As I wrote in my first message, all packages in stable MELPA contain
Package-Version with value "2.4", except use-package itself. The
use-package itself is distributed by stable MELPA as tar archive without
any Package-Version declaration in its contents., but use-package.el and
use-package-core.el declare Version 2.4. More specifically it is as
follows:

use-package.tar, 2.4 (no Package-Version declaration):
use-package-bind-key.el, 1.0
use-package-core.el, 2.4
use-package-delight.el, 1.0
use-package-diminish.el, 1.0
use-package-ensure.el, 1.0
use-package-jump.el, 1.0
use-package-lint.el, 1.0
use-package.el, 2.4

Cheers!
Lev

Reply | Threaded
Open this post in threaded view
|

Re: Updating use-package, Version and Package-Version mess

Sean Whitton
In reply to this post by Lev Lamberov-3
Hello Lev,

On Wed 05 Dec 2018 at 01:14pm +0500, Lev Lamberov wrote:

> So, sticking to stable MELPA version will not require splitting the
> source code into several source packages.

Indeed.

> Should I patch Version (change it everywhere to 2.4) or include
> Package-Version (as it is done in MELPA)?

From the user point of view, I don't think there is any difference
between doing these two things.  Package-Version and Version are
semantically equivalent except the former overrides the latter if both
are present.

Was this the only question that you had?

--
Sean Whitton

signature.asc (847 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Updating use-package, Version and Package-Version mess

Lev Lamberov-3
Hi Sean,

Пт 21 дек 2018 @ 12:15 Sean Whitton <[hidden email]>:

> On Wed 05 Dec 2018 at 01:14pm +0500, Lev Lamberov wrote:
>
>> So, sticking to stable MELPA version will not require splitting the
>> source code into several source packages.
>
> Indeed.
>
>> Should I patch Version (change it everywhere to 2.4) or include
>> Package-Version (as it is done in MELPA)?
>
> From the user point of view, I don't think there is any difference
> between doing these two things.  Package-Version and Version are
> semantically equivalent except the former overrides the latter if both
> are present.
>
> Was this the only question that you had?

Yes, that's the only thing I wanted to discuss. Thanks for your input!
I'd stick to MELPA process, that is I plan to add Package-Version in the
very same way. I'll proceed with the update in the next few days.

Regards,
Lev