Skip to content
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

kdenlive: Avoid exposing configurable paths to melt #68470

Merged
merged 1 commit into from Sep 15, 2019

Conversation

acowley
Copy link
Contributor

@acowley acowley commented Sep 11, 2019

kdenlive's configuration stores two paths to the mlt package. These
may be set in the GUI under Settings -> Configure Kdenlive -> Environment, and are persisted in $XDG_CONFIG_HOME/.kdenliverc

A problem I encountered was kdenlive holding on to old mlt paths
in these settings after a nixpkgs update, causing video rendering to fail.

The C++ class kdenlive uses for these settings is automatically
generated, so what this patch does is edit the declaration of the
relevant settings to provide default values with the absolute path of
mlt known at build time, and mark those settings as hidden.

In testing, I've found that changing mlt and rebuilding kdenlive
causes updated paths to appear in the GUI, and no entries to be added
to the kdenliverc file.

A shortcoming of this patch is that existing users will already have paths
stored in their kdenliverc files that can cause trouble. The hope is
that an approach like the one taken here will reduce this sort
of breakage moving forward.

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @

kdenlive's configuration stores two paths to the `mlt` package. These
may be set in the GUI under `Settings -> Configure Kdenlive ->
Environment`, and are persisted in $XDG_CONFIG_HOME/.kdenliverc

A problem I encountered was `kdenlive` holding on to old `mlt` paths
in these settings after a nixpkgs update, causing video rendering to fail.

The C++ class kdenlive uses for these settings is automatically
generated, so what this patch does is edit the declaration of the
relevant settings to provide default values with the absolute path of
`mlt` known at build time, and mark those settings as hidden.

In testing, I've found that changing `mlt` and rebuilding `kdenlive`
causes updated paths to appear in the GUI, and no entries to be added
to the kdenliverc file.

A shortcoming of this patch is that existing users will already have paths
stored in their `kdenliverc` files that can cause trouble. The hope is
that an approach like the one taken here will reduce this sort
of breakage moving forward.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants