- 
                Notifications
    
You must be signed in to change notification settings  - Fork 4.9k
 
Rework treatment of built-in packages #16938
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
b3c8160    to
    a00cb4b      
    Compare
  
    This allows programmatically updating specific packages (I am using this for testing syl20bnr#16938, for example). It also prepares the possibility of selecting packages to update through embark. Additionally, it might be slightly easier to read.
This allows programmatically updating specific packages (I am using this for testing syl20bnr#16938, for example). It also prepares the possibility of selecting packages to update through embark. Additionally, it might be slightly easier to read.
Transient is a built-in package, and also a dependency of many other packages users might install. It makes more sense to always configure it, also when the git layer is not used.
Previously, if no location was specified, it was set to the default `elpa`. This did not mean, however, that the packages where installed from ELPA; the built-in packages were used regardless (they might not even be published on an ELPA, of course). Now we correctly set the location to `built-in`, in preparation to making `:location elpa` take effect for built-in packages, too.
9e4a1b2    to
    00174d5      
    Compare
  
    We need to account for built-in packages when installing, checking availability of new versions, updating, and rolling back packages. Also refactor the last call site of configuration-layer//delete-package that used package names instead of pkg-desc objects (namely configuration-layer/rollback), such that we can simplify the function.
The package will now get updated by `configuration-layer/update-packages`. We do not need to manually bump the version anymore.
00174d5    to
    4e1894e      
    Compare
  
    | 
           This is now ready for review. I had no problems with updating packages with these commits in the last months, whereas before I frequently encountered broken package installations. I also vaguely remember quite a few reported issues that were related or caused by these load- and installation-order subtleties.  | 
    
| 
           @bcc32 @smile13241324 (There is no rush, take your time, just pinging again in case the notification got lost.)  | 
    
| 
           Whups this got lost i'll do a test today, thsnks for pinging :) @fnussbaum  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
One instance of the deprecated oref slot syntax remained.
This should prevent frequent errors after updating packages, caused by outdated versions of built-in packages being loaded. We also ensure transient and org get updated, without having to manually bump the
:min-versionparameter. More generally, this PR allows installing built-in packages from arbitrary locations, for example by adding them todotspacemacs-additional-packageswith a custom quelpa recipe.