* lisp/emacs-lisp/package-vc.el: Replace instances of "source package"
in comments and docstrings.
* lisp/emacs-lisp/package.el: Replace instances of "source package" in
comments and docstrings.
* lisp/emacs-lisp/package-vc.el
(package-vc--generate-description-file): Append a :kind property
instead of modifying the version number.
* lisp/emacs-lisp/package.el (package-desc): Remove special handling
for "vc annotated" versions. (bug#59404)
* lisp/emacs-lisp/package.el (package--download-one-archive): Only add
the archive that is actually being downloaded to
'package--downloads-in-progress'.
* lisp/emacs-lisp/package-vc.el (package-vc-repository-store): Remove
obsolete variable.
(package-vc--unpack-1): Respect :lisp-dir.
(package-vc--unpack): Add :lisp-dir to the package description if
necessary.
* lisp/emacs-lisp/package.el (package--delete-directory): Check if a
directory is a symbolic link.
* lisp/emacs-lisp/package.el (package--download-one-archive): Move
'cl-pushnew' call from 'package--download-one-archive' and cons file
name onto the archive.
(package--download-one-archive): Cons the file name onto the archive.
(package--download-and-read-archives): Remove 'cl-pushnew' call.
* lisp/emacs-lisp/package.el (package-load-descriptor): Remove the
:commit check.
The property is mostly unused anyway, and this unnecessarily slows
down initialisation if a package is installed from source.
* lisp/emacs-lisp/package-vc.el (package-vc-default-backend): Add new
option.
(package-vc-archive-spec-alist): Add new variable to store the
contents of 'elpa-packages' for each archive.
(pacakge-vc-desc->spec): Add function to query package specifications.
(package-vc--read-archive-data): Add a 'package-read-archive-hook'
implementation.
(package-vc--download-and-read-archives): Add a
'package-refresh-contents-hook' implementation.
(package-vc-main-file): Remove function.
(package-vc-generate-description-file): Use package specifications.
(package-vc-unpack-1): Adapt to previous changes.
(package-vc-unpack): Adapt to previous changes.
(package-vc-sourced-packages-list): Adapt to previous changes.
(package-vc-install): Adapt to previous changes.
* lisp/emacs-lisp/package.el (package-read-archive-hook): Allow
extending 'package-read-all-archive-contents' using a hook.
(package-read-all-archive-contents): Use 'package-read-archive-hook'.
(package-refresh-contents-hook): Allow extending
'package-refresh-contents' using a hook.
(package-refresh-contents): Use 'package-refresh-contents-hook'.
* lisp/emacs-lisp/package-vc.el (package-vc-unpack): Check if the
upstream data indicates a custom lisp directory.
* lisp/emacs-lisp/package.el (package--delete-directory): Adapt
accordingly.
* lisp/emacs-lisp/package.el (package-untar-buffer): Fix thinko.
(package-tar-file-info): Handle the case where the first file is in
a subdirectory.
* test/lisp/emacs-lisp/package-tests.el (package-test-bug58367): New test.
* test/lisp/emacs-lisp/package-resources/ustar-withsub-0.1.tar:
* test/lisp/emacs-lisp/package-resources/v7-withsub-0.1.tar: New files.
* lisp/emacs-lisp/package-vc.el (package-vc-repository-store): Add new
user option.
(package-vc-unpack): Use 'package-vc-repository-store'.
* lisp/emacs-lisp/package.el (package--delete-directory): Check and
handle source packages.
(package-delete): Invoke 'package--delete-directory' with an
additional argument.
* package.el (eval-when-compile): Require 'inline during compilation.
(package-vc-p): Add inline function.
(package-desc-full-name): Use it.
(package-load-descriptor): Use it.
(package--get-activatable-pkg): Use it.
(package-install-from-archive): Use it.
(package-update): Use it.
(package-desc-status): Use it.
(package--remove-hidden): Use it.
(package-menu--print-info-simple): Use it.
* lisp/emacs-lisp/package.el (package-reinstall): call
`package--archives-initialize', just like `package-install' does.
This populates `package-alist', and so fixes calling
`package-reinstall' as the first thing done after package "quick
init" (Bug#53527).
* lisp/emacs-lisp/package.el (package-menu--perform-transaction):
Return whether there were errors.
(package-menu-execute): Don't overwrite the error message(s) with
a success message (bug#51201).
* package.el (package--parse-elpaignore): Add new function.
(package--compile): Bind 'byte-compile-ignore-files' to the result of
'package--parse-elpaignore'.
* lisp/subr.el (package--builtin-versions): Adjust comments.
* lisp/emacs-lisp/loaddefs-gen.el (no-update-autoloads): Moved
here from autoload.el.
* lisp/emacs-lisp/loaddefs-gen.el: Removed now that it's no longer
used.
* lisp/emacs-lisp/package.el
(package-autoload-ensure-default-file): Don't warn about
soon-to-be obsolete functon.
Note that the "package kind" was renamed from "source" to "vc".
* package-vc.el: (package-vc-commit): Copy from package.el
(package-vc-version): Add new function
(package-vc-generate-description-file): Add new function.
(package-vc-unpack): Add new function.
(package-vc-fetch): Copy from package.el
(package-checkout): Add alias for package-vc-fetch
* package.el (package-devel-dir): Remove option. The checkouts are
stored in package-user-dir
(package-desc): Handle (vc . VERS) version strings
(package-desc-full-name): Return the plain name for vc packages
(package-devel-commit): Move function to package-vc
(package-load-descriptor): Refactor according to other changes
(package-load-all-descriptors): Remove package-devel-dir
(package-unpack): Remove vc package handling
(package-generate-description-file): Remove special handling for vc
packages
(package-install-from-archive): Remove special handling for vc
packages
(package-fetch): Move function to package-vc
(package-desc-status): Use "vc" instead of "source"
(package--remove-hidden): Use "vc" instead of "source"
(package-menu--print-info-simple): Refactor according to other changes
* lisp/emacs-lisp/package.el (package-directory-list)
(package-quickstart-file): Specify group to avoid warning when
byte-compiling loaddefs.el.
(package-activated-list): Autoload since we're assigning the
variable from a function completely autoloaded.