public inbox for cygwin-apps-cvs@sourceware.org
help / color / mirror / Atom feed
* [setup - the official Cygwin setup program] branch master, updated. release_2.921
@ 2022-08-28 13:53 Jon TURNEY
0 siblings, 0 replies; only message in thread
From: Jon TURNEY @ 2022-08-28 13:53 UTC (permalink / raw)
To: cygwin-apps-cvs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 9340 bytes --]
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=b5b442157755ec33779783188b88e3349379c79b
commit b5b442157755ec33779783188b88e3349379c79b
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Wed Aug 24 13:31:49 2022 +0100
Drop setting root_scope as a side-effect of read_mounts()
Default root_scope as appropriate, allowing GUI to override it
Only enable 'Install For All Users' if we have Admin privs
Drop some comment cruft
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=b82456741ed3fc9d382f3f4cb520985f06cf9084
commit b82456741ed3fc9d382f3f4cb520985f06cf9084
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Mon Aug 22 15:25:24 2022 +0100
Update POT file
Also tweak some translated strings for consistency
Diff:
---
mount.cc | 30 +++++++++++++++++++++++-------
mount.h | 9 +--------
po/fr/res.po | 11 +++++++----
res.pot | 21 ++++++++++++++++++---
res/en/res.rc | 2 +-
res/fr/res.rc | 8 ++++----
root.cc | 12 ++++++++++++
7 files changed, 66 insertions(+), 27 deletions(-)
diff --git a/mount.cc b/mount.cc
index 01363965..a38f52ce 100644
--- a/mount.cc
+++ b/mount.cc
@@ -140,10 +140,6 @@ create_install_root ()
: "LOCAL_MACHINE\\")
<< buf << "\\rootdir = \"" << get_root_dir () << "\""
<< endLog;
-
- // The mount table is already in the right shape at this point.
- // Reading it again is not necessary.
- //read_mounts (std::string ());
}
inline char *
@@ -316,8 +312,6 @@ read_mounts (const std::string val)
}
got_usr_bin = got_usr_lib = false;
- root_scope = (nt_sec.isRunAsAdmin ())? IDC_ROOT_SYSTEM : IDC_ROOT_USER;
-
if (val.size ())
{
/* Cygwin rootdir always < MAX_PATH. */
@@ -353,7 +347,6 @@ read_mounts (const std::string val)
{
m->native = std::string (aBuffer);
m->posix = "/";
- root_scope = isuser ? IDC_ROOT_USER : IDC_ROOT_SYSTEM;
root_here = m++;
from_fstab (m, root_here->native);
add_usr_mnts (m);
@@ -376,6 +369,29 @@ read_mounts (const std::string val)
}
}
+// set default root_scope: USER if only HKEY_CURRENT_USER registry key exists,
+// otherwise SYSTEM.
+void set_default_root_scope()
+{
+ root_scope = IDC_ROOT_SYSTEM;
+
+ char buf[10000];
+ for (int isuser = 0; isuser <= 1; isuser++)
+ {
+ snprintf (buf, sizeof(buf), "Software\\%s\\%s",
+ CYGWIN_INFO_CYGWIN_REGISTRY_NAME,
+ CYGWIN_INFO_CYGWIN_SETUP_REGISTRY_NAME);
+ HKEY key = isuser ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE;
+ if (RegOpenKeyEx (key, buf, 0, KEY_ALL_ACCESS | SETUP_KEY_WOW64,
+ &key) == ERROR_SUCCESS)
+ {
+ RegCloseKey (key);
+ root_scope = isuser ? IDC_ROOT_USER : IDC_ROOT_SYSTEM;
+ break;
+ }
+ }
+}
+
void
set_root_dir (const std::string val)
{
diff --git a/mount.h b/mount.h
index a7d7e393..c451a02d 100644
--- a/mount.h
+++ b/mount.h
@@ -15,11 +15,6 @@
#ifndef SETUP_MOUNT_H
#define SETUP_MOUNT_H
-
-/* Finds the existing root mount, or returns NULL. istext is set to
- nonzero if the existing mount is a text mount, else zero for
- binary. */
-
#include <string>
#include "String++.h"
@@ -27,9 +22,7 @@
void create_install_root ();
void read_mounts (const std::string);
-
-/* Sets the cygdrive flags. Used to make the automounted drives' binary/text
-mode consistent with the standard Cygwin mounts. */
+void set_default_root_scope();
std::string cygpath (const std::string&);
void set_root_dir (const std::string);
diff --git a/po/fr/res.po b/po/fr/res.po
index 78d57d17..ec0e52b1 100644
--- a/po/fr/res.po
+++ b/po/fr/res.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-07-16 14:29+0100\n"
+"POT-Creation-Date: 2022-08-22 15:26+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -365,8 +365,7 @@ msgstr ""
"durant l'installation. \n"
"\n"
"Notez que Cygwin inclus un grand nombre de paquets destinés à de multiples "
-"usages. Nous ne pourrons installer par défaut qu'un jeu de paquets de base.\r"
-"\n"
+"usages. Nous ne pourrons installer par défaut qu'un jeu de paquets de base.\n"
"\n"
"Redémarrez ce programme ultérieurement pour ajouter, enlever ou mettre à "
"jour des paquets si nécessaire."
@@ -1108,9 +1107,13 @@ msgid ""
"\"Continue\"\" to go on anyway (the file will be updated after a reboot).\n"
msgstr ""
"Incapable d'extraire /%s -- erreur à l'écriture du fichier\n"
+"\n"
"Le fichier est utilisé ou une autre erreur est survenue.\n"
+"\n"
"Arrêtez tous les processus Cygwin et sélectionnez «Recommencer», ou\n"
+"\n"
"«Continuer» pour poursuivre (il faudra redémarrer).\n"
+"\n"
#: STRINGTABLE.IDS_INSTALL_OLD_CYGWIN
msgid ""
@@ -1429,7 +1432,7 @@ msgid "Enable old cygwin.com keys"
msgstr "Utiliser les anciennes clés de cygwin.com"
#: STRINGTABLE.IDS_HELPTEXT_ONLY_SITE
-msgid "Do not download mirror list. Only use sites specified with -s."
+msgid "Do not download mirror list. Only use sites specified with -s"
msgstr "Ignorer tous les sites sauf ceux spécifiés par -s"
#: STRINGTABLE.IDS_HELPTEXT_PACKAGES
diff --git a/res.pot b/res.pot
index 2e82da7f..64079c8c 100644
--- a/res.pot
+++ b/res.pot
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-07-16 14:28+0100\n"
+"POT-Creation-Date: 2022-08-27 12:54+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -771,7 +771,14 @@ msgid ""
"haven't been selected for installation.\n"
"\n"
"Picked: Show installed packages that were selected, not installed as a "
-"dependency."
+"dependency.\n"
+"\n"
+"Removable: Show installed packages that were selected and could be safely "
+"removed. No other installed or selected packages depend on these packages.\n"
+"\n"
+"Unneeded: Show automatically installed packages that could now be safely "
+"removed. Other installed or selected packages no longer depend on these "
+"packages."
msgstr ""
#: STRINGTABLE.IDS_HIDEOBS_TOOLTIP
@@ -934,6 +941,14 @@ msgstr ""
msgid "Picked"
msgstr ""
+#: STRINGTABLE.IDS_VIEW_REMOVABLE
+msgid "Removable"
+msgstr ""
+
+#: STRINGTABLE.IDS_VIEW_UNNEEDED
+msgid "Unneeded"
+msgstr ""
+
#: STRINGTABLE.IDS_VIEW_CATEGORY
msgid "Category"
msgstr ""
@@ -1263,7 +1278,7 @@ msgid "Enable old cygwin.com keys"
msgstr ""
#: STRINGTABLE.IDS_HELPTEXT_ONLY_SITE
-msgid "Do not download mirror list. Only use sites specified with -s."
+msgid "Do not download mirror list. Only use sites specified with -s"
msgstr ""
#: STRINGTABLE.IDS_HELPTEXT_PACKAGES
diff --git a/res/en/res.rc b/res/en/res.rc
index fc61e598..ef5e8b19 100644
--- a/res/en/res.rc
+++ b/res/en/res.rc
@@ -691,7 +691,7 @@ BEGIN
IDS_HELPTEXT_NO_WARN_DEPRECATED_WINDOWS "Don't warn about deprecated Windows versions"
IDS_HELPTEXT_NO_WRITE_REGISTRY "Don't write root installation directory to registry"
IDS_HELPTEXT_OLD_KEYS "Enable old cygwin.com keys"
- IDS_HELPTEXT_ONLY_SITE "Do not download mirror list. Only use sites specified with -s."
+ IDS_HELPTEXT_ONLY_SITE "Do not download mirror list. Only use sites specified with -s"
IDS_HELPTEXT_PACKAGES "Specify packages to install"
IDS_HELPTEXT_PACKAGE_MANAGER "Semi-attended chooser-only mode"
IDS_HELPTEXT_PROXY "HTTP/FTP proxy (host:port)"
diff --git a/res/fr/res.rc b/res/fr/res.rc
index 681aea43..d081bb2c 100644
--- a/res/fr/res.rc
+++ b/res/fr/res.rc
@@ -579,10 +579,10 @@ BEGIN
IDS_MBOX_CAPTION "Assistant Cygwin"
IDS_EXTRACTION_FAILED "Impossible d'extraire /%s -- paquet corrompu ?"
IDS_EXTRACTION_INUSE
- "Incapable d'extraire /%s -- erreur à l'écriture du fichier\n"
- "Le fichier est utilisé ou une autre erreur est survenue.\n"
- "Arrêtez tous les processus Cygwin et sélectionnez «Recommencer», ou\n"
- "«Continuer» pour poursuivre (il faudra redémarrer).\n"
+ "Incapable d'extraire /%s -- erreur à l'écriture du fichier\n\n"
+ "Le fichier est utilisé ou une autre erreur est survenue.\n\n"
+ "Arrêtez tous les processus Cygwin et sélectionnez «Recommencer», ou\n\n"
+ "«Continuer» pour poursuivre (il faudra redémarrer).\n\n"
IDS_INSTALL_OLD_CYGWIN "Une ancienne version de cygwin1.dll a été trouvée ici :\n%s\nEffacer ?"
IDS_INSTALL_DELETE_OLD_CYGWIN_FAILED "Impossible de supprimer le fichier %s.\n"
"La DLL est peut être utilisée par une autre application ?\n"
diff --git a/root.cc b/root.cc
index 9f072d7a..ccbd6ae3 100644
--- a/root.cc
+++ b/root.cc
@@ -259,6 +259,18 @@ RootPage::OnInit ()
if (!get_root_dir ().size())
read_mounts (std::string ());
orig_root_dir = get_root_dir();
+
+ if (!nt_sec.isRunAsAdmin())
+ {
+ // disable IDC_ROOT_SYSTEM if not running as admin
+ EnableWindow(GetDlgItem(IDC_ROOT_SYSTEM), FALSE);
+ root_scope = IDC_ROOT_USER;
+ }
+ else
+ {
+ set_default_root_scope();
+ }
+
load_dialog (GetHWND ());
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-08-28 13:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-28 13:53 [setup - the official Cygwin setup program] branch master, updated. release_2.921 Jon TURNEY
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).