Skip to content

Don't install 'LICENSE' or 'README.md' directly to the installation directory.#51

Merged
adishavit merged 1 commit intoadishavit:masterfrom
BillyONeal:no-install-readme
Apr 30, 2020
Merged

Don't install 'LICENSE' or 'README.md' directly to the installation directory.#51
adishavit merged 1 commit intoadishavit:masterfrom
BillyONeal:no-install-readme

Conversation

@BillyONeal
Copy link
Contributor

This change unconditionally uses GNUInstallDirs which will correctly 'namespace' these files with the 'argh' project name.

=========

The names 'LICENSE' and 'README.md' are extremely common and likely to be taken by other ports. This happened in a recent full vcpkg catalog rebuild:

Starting package 757/1254: qt-advanced-docking-system:x86-windows
Building package qt-advanced-docking-system[core]:x86-windows...
Could not locate cached archive: C:\agent_work\1\s\archives\a1\a1507296ead5788137561997571557204aaac78f.zip
-- Downloading https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/archive/661d0c4356ab61d155b53718aa1bf6bab86dad13.tar.gz...
-- Extracting source C:/agent/_work/1/s/downloads/githubuser0xFFFF-Qt-Advanced-Docking-System-661d0c4356ab61d155b53718aa1bf6bab86dad13.tar.gz
-- Applying patch config_changes.patch
-- Using source at C:/agent/_work/1/s/buildtrees/qt-advanced-docking-system/src/bab86dad13-3088149a9b
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Installing: C:/agent/_work/1/s/packages/qt-advanced-docking-system_x86-windows/share/qt-advanced-docking-system/copyright
-- Performing post-build validation
-- Performing post-build validation done
Stored binary cache: C:\agent_work\1\s\archives\a1\a1507296ead5788137561997571557204aaac78f.zip
Building package qt-advanced-docking-system[core]:x86-windows... done
Installing package qt-advanced-docking-system[core]:x86-windows...
The following files are already installed in C:/agent/_work/1/s/installed/x86-windows and are in conflict with qt-advanced-docking-system:x86-windows

Installed by argh:x86-windows
license/LICENSE

Elapsed time for package qt-advanced-docking-system:x86-windows: 11.09 s

…irectory.

This change unconditionally uses GNUInstallDirs which will correctly 'namespace' these files with the 'argh' project name.

=========

The names 'LICENSE' and 'README.md' are extremely common and likely to be taken by other ports. This happened in a recent full vcpkg catalog rebuild:

Starting package 757/1254: qt-advanced-docking-system:x86-windows
Building package qt-advanced-docking-system[core]:x86-windows...
Could not locate cached archive: C:\agent\_work\1\s\archives\a1\a1507296ead5788137561997571557204aaac78f.zip
-- Downloading https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/archive/661d0c4356ab61d155b53718aa1bf6bab86dad13.tar.gz...
-- Extracting source C:/agent/_work/1/s/downloads/githubuser0xFFFF-Qt-Advanced-Docking-System-661d0c4356ab61d155b53718aa1bf6bab86dad13.tar.gz
-- Applying patch config_changes.patch
-- Using source at C:/agent/_work/1/s/buildtrees/qt-advanced-docking-system/src/bab86dad13-3088149a9b
-- Configuring x86-windows
-- Building x86-windows-dbg
-- Building x86-windows-rel
-- Installing: C:/agent/_work/1/s/packages/qt-advanced-docking-system_x86-windows/share/qt-advanced-docking-system/copyright
-- Performing post-build validation
-- Performing post-build validation done
Stored binary cache: C:\agent\_work\1\s\archives\a1\a1507296ead5788137561997571557204aaac78f.zip
Building package qt-advanced-docking-system[core]:x86-windows... done
Installing package qt-advanced-docking-system[core]:x86-windows...
The following files are already installed in C:/agent/_work/1/s/installed/x86-windows and are in conflict with qt-advanced-docking-system:x86-windows

Installed by argh:x86-windows
    license/LICENSE

Elapsed time for package qt-advanced-docking-system:x86-windows: 11.09 s
@adishavit
Copy link
Owner

adishavit commented Apr 30, 2020

Thanks Billy.
I have no idea what this does or what the previous thing did. I’ve never use the CMake install facility.
Can you explain a bit more what was there before, why and where it failed and what the fix does?

I accepted the PR regardless 🙂.

@adishavit adishavit merged commit 1e4af08 into adishavit:master Apr 30, 2020
@BillyONeal
Copy link
Contributor Author

vcpkg does cmake install to extract the relevant bits out of your build that are published to customers. It failed because multiple ports all wanted to copy their 'license' file to the same location, see microsoft/vcpkg#10980

The fix changes the license file to be installed into something like argc/doc/license instead.

@BillyONeal BillyONeal deleted the no-install-readme branch April 30, 2020 07:49
@adishavit
Copy link
Owner

Thanks for the explanation 👍
Which vcpkg package installs argh as a dependency?
Is there a way to see all such packages that depend on it?

@BillyONeal
Copy link
Contributor Author

This wasn't caused by a dependency. This was two completely unrelated package trying to stomp on the same file name. I know there's some kind of 'cone of destruction' analysis to rebuild everyone who depends on you when you push a change to a vcpkg port but I don't know if there's an easy way to just dump that.

@adishavit
Copy link
Owner

adishavit commented Apr 30, 2020

Some package must have requested/pulled argh.
I wonder who uses/requested this (I didn't).

@cbezault
Copy link

cbezault commented Apr 30, 2020

Right now no other library in vcpkg requires argh as a dependency. There was a change that required us to rebuild all packages in vcpkg and so argh got built.

@cbezault
Copy link

This PR added argh microsoft/vcpkg#5266. So maybe @myd7349 is using it/was using it for something.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants