[PATCH setup 00/11] Add options to choose symlink type (v2)
Jon Turney
jon.turney@dronecode.org.uk
Tue Aug 10 17:02:17 GMT 2021
Revised from [1], this adds an '--symlink-type {sys, native, wsl}' option,
which controls the type of symlinks created by setup and the post-install
scripts it invokes [2].
If creating the symlink using the selected method fails, setup falls back to
using a sys symlink.
'--symlink-type lnk' is not (yet) implemented, because I'm lazy.
If the CYGWIN env var contains a 'winsymlinks' setting, the default is
controlled by that, otherwise, the default behaviour is '--syslink-type
sys', which matches setup's current behaviour (and Cygwin prior to 3.1.5).
[1] https://cygwin.com/pipermail/cygwin-apps/2021-May/041327.html
[2] requires as yet unreleased Cygwin for 'winsymlinks:sys' support for the
'--symlink-type sys' case.
Jon Turney (11):
Add support for creating WSL symlinks
Add support for creating native symlinks
Factor out the iteration over archive files to install
Add seek() method to archive and compress file classes
Add separate symlink-creation phase when extracting archive
Enable SeCreateSymbolicLink privilege
Add symlink capabilities to user-agent telemetry
Factor out StringChoiceOption
Add a command line option to choose symlink type used
Propagate --symlink-type setting to post-install scripts
Default symlink mode from CYGWIN env var
archive.cc | 52 ----
archive.h | 14 +-
archive_tar.cc | 14 +-
compress_bz.cc | 12 +
compress_bz.h | 1 +
compress_gz.cc | 65 +++--
compress_gz.h | 3 +-
compress_xz.cc | 34 ++-
compress_xz.h | 3 +-
compress_zstd.cc | 19 +-
compress_zstd.h | 3 +-
filemanip.cc | 27 ++
filemanip.h | 1 +
inilintmain.cc | 7 +
install.cc | 66 +++--
io_stream_cygfile.cc | 52 +---
libgetopt++/Makefile.am | 3 +-
.../include/getopt++/StringChoiceOption.h | 41 +++
libgetopt++/src/StringChoiceOption.cc | 54 ++++
main.cc | 84 +++++-
mklink2.cc | 256 +++++++++++++++++-
mklink2.h | 10 +
nio-ie5.cc | 12 +-
script.cc | 36 +++
win32.cc | 76 ++++++
win32.h | 3 +
26 files changed, 775 insertions(+), 173 deletions(-)
create mode 100644 libgetopt++/include/getopt++/StringChoiceOption.h
create mode 100644 libgetopt++/src/StringChoiceOption.cc
--
2.32.0
More information about the Cygwin-apps
mailing list