public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Jon Turney <jon.turney@dronecode.org.uk>
To: cygwin-apps@cygwin.com
Cc: Jon Turney <jon.turney@dronecode.org.uk>
Subject: [PATCH setup 00/11] Add options to choose symlink type (v2)
Date: Tue, 10 Aug 2021 18:02:17 +0100	[thread overview]
Message-ID: <20210810170228.1690-1-jon.turney@dronecode.org.uk> (raw)

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


             reply	other threads:[~2021-08-10 17:03 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-10 17:02 Jon Turney [this message]
2021-08-10 17:02 ` [PATCH setup 01/11] Add support for creating WSL symlinks Jon Turney
2021-08-10 17:02 ` [PATCH setup 02/11] Add support for creating native symlinks Jon Turney
2021-08-10 17:02 ` [PATCH setup 03/11] Factor out the iteration over archive files to install Jon Turney
2021-08-10 17:02 ` [PATCH setup 04/11] Add seek() method to archive and compress file classes Jon Turney
2021-08-10 17:02 ` [PATCH setup 05/11] Add separate symlink-creation phase when extracting archive Jon Turney
2021-08-10 17:02 ` [PATCH setup 06/11] Enable SeCreateSymbolicLink privilege Jon Turney
2021-08-11  8:46   ` Corinna Vinschen
2021-09-14 11:53     ` Jon Turney
2021-08-10 17:02 ` [PATCH setup 07/11] Add symlink capabilities to user-agent telemetry Jon Turney
2021-08-10 17:02 ` [PATCH setup 08/11] Factor out StringChoiceOption Jon Turney
2021-08-10 17:02 ` [PATCH setup 09/11] Add a command line option to choose symlink type used Jon Turney
2021-08-10 17:02 ` [PATCH setup 10/11] Propagate --symlink-type setting to post-install scripts Jon Turney
2021-08-10 17:02 ` [PATCH setup 11/11] Default symlink mode from CYGWIN env var Jon Turney
2021-09-14 11:53 ` [PATCH setup 00/11] Add options to choose symlink type (v2) Jon Turney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210810170228.1690-1-jon.turney@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).