970160a Use license files installed by crate

Authored and Committed by zbyszek 2 years ago
    Use license files installed by crate
    
    Before, we'd use the same pattern for the main package (if present),
    and the -devel files:
      %license LICENSE1 LICENSE2
    Since the create usually also installs the license files to %create_instdir,
    we end up with duplicated files in -devel.
    
    It seems reasonable to reuse the file that is already present in
    %create_instdir. Fedora packaging guidelines only say that "%license
    must be used for license files", and doesn't say anything about the
    location. And in fact, you can't assume any fixed location, because
    packages will often use a common license directory, so the only
    reliable way to list license files is to look at the %license mark.
    And in our particular case, -devel files are not installed on user
    systems, so we can assume that users will not manually search for
    license files by browsing /usr/share/licenses/<package-name>. We can't
    remove the license file from %{create_instdir}, because the crate might
    be need it, for example to display the license text internally. Thus,
    I think reasonable and not against the guidelines to "reuse" the license
    file present under %{create_instdir}.
    
    For the main package though, it seems better to keep the existing
    location. Those packages *are* installed on end-user systems, and also
    it'd be strange to suddently have one file under /usr/share/cargo/registry/.
    
    So this patch uses absolute paths under %create_instdir for -devel,
    and the relative path (effectively under /usr/share/licenses) for the
    main package.
    
    It is possible to opt-out of the new behaviour with --relative-license-paths.
    
    Fixes #176.
    
        
file modified
+4 -0
file modified
+6 -0