emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: feature/package+vc 04c4c578c7 3/4: Allow for packages to be installe


From: Philip Kaludercic
Subject: Re: feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS
Date: Sat, 08 Oct 2022 15:47:20 +0000

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>     Allow for packages to be installed directly from VCS
>
> Yay!

I would to bring up the "feature/package+vc" branch once more and ask if
it would be possible for the feature to be merged before Emacs 29 is cut
off.

To recapitulate: The current set of features this branch would add are
as follows:

- The ability to install a package directly from source using
  `package-vc-fetch' (aliased to `package-checkout').  This
  functionality is ideally VC generic.

- The ability to update a package using `package-upgrade'[0]

- Package metadata can either be inferred from the package URL (see
  `package-vc-heusitic-alist') or via explicit hints from an ELPA
  server.  I plan to add the necessary features to GNU and NonGNU ELPA
  in time so that the heuristics can be avoided.

- The ability to (i) contact, (ii) send bug reports and (iii) patches
  (using the new `vc-patch-prepare') to package maintainers.

Some changes had to be made to package.el for these features to work,
but most of the heavy-lifting is done in package-vc.el.

Features I have thought about implementing but haven't gotten around
/managed to are:

- Checking if local modifications have been made to the tarball-based
  installation and offering to transpose these into the source
  installation, making it easier to submit these as patches.

- Offering some way of detecting revisions that bump the package version
  and to switch between these.

- Better integration with package specifications that modify the package
  before bundling it into a tarball (e.g. moving files around or running
  custom commands).  There is a conflict here between providing packages
  that work just like their tarballs while also trying to avoid
  situations where arbitrary code is executed on installing a package --
  though that has arguably always been an issue in general.

If it is imaginable for the branch to be merged, I'd like to ask anyone
interested in testing the features and giving feedback on what could be
added.  Given some ack, I'd also like to start writing some
documentation for the manual.

[0] This feature is currently broken because it tries to use `vc-pull'
    which refuses to work if any changes have been made.  This is an
    issue as package-vc-fetch tries to modify the list of ignored files
    in a repository (think of .gitignore).  It will either be necessary
    to change how vc-pull works or try to do something with
    vc-log-incoming + vc-merge.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]