Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Track files installed by packages, allow query and use for removal #2568

Merged
merged 7 commits into from
Jun 2, 2016

Conversation

AltGr
Copy link
Member

@AltGr AltGr commented Jun 1, 2016

Closes #502, #1215

AltGr added 7 commits June 1, 2016 13:00
For removal, this _adds_ a new mechanism to properly remove files, after
the others, but older behaviour (`remove:` and .install files) is still
retained. This is useful, among other things, to seamlessly upgrade
existing installations (which don't have .changes files yet).
@Drup
Copy link
Contributor

Drup commented Jun 1, 2016

So, this works for both .install files and the install field ? This is great \o/

@AltGr
Copy link
Member Author

AltGr commented Jun 1, 2016

Yes, it includes all, so this is a bit redundant since it's an added mechanism, but that's not really a problem. Next, I intend to:

  • make build dir unneeded by default for remove: (removing the need to download archives)
  • add an uninstall-requires-build-dir flag
  • write a repository-rewriting script to add the above flag where necessary or in doubt (using the infamous findlib-hack from opam, and removing it from opam proper)
  • update the recommendations for the remove: field in the doc: just skip it if you just have to remove the files you added. Retaining the field for documentation is debatable, but since it's often incorrect, if we go that way CI should check that it indeed uninstalled properly (which is now possible).

Packages doing e.g. make uninstall will still need their sources though; maybe we could just suppress their remove: field in this case. Note that when there is no remove: field, the source is never needed, so removing most remove: fields rather than changing the download behaviour might be an alternative to the above.

A nice addition would be to not fail, but just skip the remove: step if the package archive can't be downloaded but we have a .changes file. Probably once I integrate the patch to do the removals as late as possible, and then include downloads in the actions processing graph rather than a first step.

@AltGr
Copy link
Member Author

AltGr commented Jun 1, 2016

Where's Travis ?

@AltGr
Copy link
Member Author

AltGr commented Jun 2, 2016

Filing #2571 seems to have wakened up Travis here too (well, it's the same commit). But in both, @github still displays the commits in the wrong order:
I locally have f10af22 before 7cf7b8d

@AltGr AltGr merged commit 28fc32e into ocaml:master Jun 2, 2016
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants