jorgenschaefer / elpy

Emacs Python Development Environment
GNU General Public License v3.0
1.89k stars 259 forks source link

Disconnect between Package-Requires line in elpy.el and elpy-pkg.el #1870

Open doolio opened 3 years ago

doolio commented 3 years ago

The elpy.el file contains the lines:

;; Version: 1.35.0
;; Package-Requires: ((company "0.9.10") (emacs "24.4") (highlight-indentation "0.7.0") (pyvenv "1.20") (yasnippet "0.13.0") (s "1.12.0"))

My understanding is that this Package-Requires line specifies the minimum version of each dependency required by this package.

However, I note the elpy-pkg.el is as follows:

(define-package "elpy" "1.35.0"
                "Emacs Python Development Environment"
                '((company "0.9.2")
                  (emacs "24.4")
                  (highlight-indentation "0.5.0")
                  (pyvenv "1.3")
                  (yasnippet "0.8.0")
                  (s "1.11.0"))
                )

Is there a disconnect here between these files?

sten0 commented 3 years ago

@doolio, good find! The MELPA tarball also has this discrepancy: https://melpa.org/packages/elpy-20201115.1811.tar Also, I just noticed that Debian's Emacs packaging, using dh-elpa, is also trusting elpy-pkg.el and exporting the wrong depencies to dpkg/apt. @galaunay, many MELPA packages use MELPA's server-side foo-pkg.el-generating functionality to keep dependencies up-to-date from Package-Requires in foo.el, and dh-elpa also has this capability, so I'd recommend reducing the maintenance burden by dropping elpy-pkg.el from the repo and activating the MELPA autogeneration of this file.

Alternatively, it could be automatically regenerated using a release script, pre-tag hook on the local git repo, or possibly a github release hook.

doolio commented 3 years ago

The Cask file may also need to be reviewed ...