[setup - the official Cygwin setup program] branch master, updated. release_2.919-4-g1ff458d0

Jon TURNEY jturney@sourceware.org
Wed Jun 29 13:10:26 GMT 2022




https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=1ff458d0e5e34bec9336ae51952805c0b994b54d

commit 1ff458d0e5e34bec9336ae51952805c0b994b54d
Author: Christian Franke <christian.franke@t-online.de>
Date:   Sun Jun 26 18:01:03 2022 +0200

    Add perpetual support for preremove scripts
    
    Always run all /etc/preremove/0p_* first.

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=4f76b0dfa08a711e6c5a28f02e51c88fafb9aa52

commit 4f76b0dfa08a711e6c5a28f02e51c88fafb9aa52
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Wed Jun 29 12:54:45 2022 +0100

    Consistently use '\n' rather than '\r\n' in resources
    
    '\r\n' is unnecessary, and apparently appears as '\r\r\n' in text copied
    from a messagebox.

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=163a51d41de49cf0575f206a92143fbb593c6a21

commit 163a51d41de49cf0575f206a92143fbb593c6a21
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Tue Jun 28 20:36:43 2022 +0100

    Handle self-destruct packages
    
    These are sometimes useful in situations where a package is obsoleted,
    but doesn't have a simple replacement.
    
    The parser can't currently handle "libsolv-self-destruct-pkg()" (the
    magic provide name which triggers this behaviour in libsolv) appearing
    as a provide, because (i) brackets aren't a valid character in a package
    name, and (ii) empty braces isn't permitted for a versioncriteria
    following a package name.
    
    For backwards-compatibility (to allow old versions of setup to parse a
    setup.ini containing this instruction) and terseness, accept
    '_self-destruct' as equivalent to that magic package name.
    
    Requires libsolv >= 0.7.8

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=69ccd7669712339f4855457d68d5b885152fbfb2

commit 69ccd7669712339f4855457d68d5b885152fbfb2
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Mon Jun 27 19:02:38 2022 +0100

    Suppress bogus free-nonheap-object warning in iniparse.cc
    
    This warning bogusly occurs with -O0 in bison generated code.  The
    free() is not reachable when the pointer references a non-heap object.
    
    See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98753
    
    iniparse.cc: In function ‘int yyparse()’:
    iniparse.cc:1789:18: warning: ‘void free(void*)’ called on unallocated object ‘yyssa’ [-Wfree-nonheap-object]
    iniparse.cc:1148:16: note: declared here


Diff:
---
 IniDBBuilderPackage.cc |   7 ++-
 Makefile.am            |   1 +
 install.cc             |  47 +++++++++++++++++
 po/fr/res.po           | 136 ++++++++++++++++++++++++-------------------------
 res.pot                |  72 +++++++++++++-------------
 res/en/res.rc          |  50 +++++++++---------
 res/fr/res.rc          |  52 +++++++++----------
 7 files changed, 209 insertions(+), 156 deletions(-)

diff --git a/IniDBBuilderPackage.cc b/IniDBBuilderPackage.cc
index 3a8f10f8..6305ac80 100644
--- a/IniDBBuilderPackage.cc
+++ b/IniDBBuilderPackage.cc
@@ -322,7 +322,12 @@ IniDBBuilderPackage::buildPackageListNode (const std::string & name)
 #if DEBUG
   Log (LOG_BABBLE) << "New node '" << name << "' for package list" << endLog;
 #endif
-  currentSpec = new PackageSpecification (name);
+
+  std::string actual_name = name;
+  if (name == "_self-destruct")
+    actual_name = "libsolv-self-destruct-pkg()";
+
+  currentSpec = new PackageSpecification (actual_name);
   if (currentNodeList)
     currentNodeList->push_back (currentSpec);
 }
diff --git a/Makefile.am b/Makefile.am
index 423f4d78..bf8b52ec 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -33,6 +33,7 @@ AM_CPPFLAGS = -D__USE_MINGW_ANSI_STDIO=1 -DLZMA_API_STATIC\
 	       $(ZLIB_CFLAGS) $(LZMA_CFLAGS) $(ZSTD_CFLAGS) $(LIBCRYPT_CFLAGS) $(LIBSOLV_CFLAGS)
 
 inilex_CXXFLAGS:=-Wno-sign-compare
+iniparse_CXXFLAGS:=-Wno-free-nonheap-object
 
 noinst_PROGRAMS = @SETUP@$(EXEEXT) inilint
 
diff --git a/install.cc b/install.cc
index e58ef4b3..6689a08d 100644
--- a/install.cc
+++ b/install.cc
@@ -33,6 +33,7 @@
 #include <sys/stat.h>
 #include <errno.h>
 #include <process.h>
+#include <algorithm>
 
 #include "ini.h"
 #include "resource.h"
@@ -50,6 +51,8 @@
 #include "archive.h"
 #include "archive_tar.h"
 #include "script.h"
+#include "find.h"
+#include "FindVisitor.h"
 
 #include "package_db.h"
 #include "package_meta.h"
@@ -73,6 +76,28 @@ struct std_dirs_t {
   mode_t mode;
 };
 
+class Perpetual0RemoveFindVisitor : public FindVisitor
+{
+public:
+  explicit Perpetual0RemoveFindVisitor (std::vector<Script> *scripts)
+    : _scripts(scripts)
+  {}
+  virtual void visitFile(const std::string& basePath,
+                         const WIN32_FIND_DATA *theFile)
+    {
+      std::string fn = std::string("/etc/preremove/") + theFile->cFileName;
+      Script script(fn);
+      if (script.is_p("0"))
+	  _scripts->push_back(Script (fn));
+    }
+  virtual ~ Perpetual0RemoveFindVisitor () {}
+protected:
+  Perpetual0RemoveFindVisitor (Perpetual0RemoveFindVisitor const &);
+  Perpetual0RemoveFindVisitor & operator= (Perpetual0RemoveFindVisitor const &);
+private:
+  std::vector<Script> *_scripts;
+};
+
 class Installer
 {
   public:
@@ -80,6 +105,7 @@ class Installer
     Installer();
     void initDialog();
     void progress (int bytes);
+    void preremovePerpetual0 ();
     void preremoveOne (packagemeta &);
     void uninstallOne (packagemeta &);
     void replaceOnRebootFailed (const std::string& fn);
@@ -150,6 +176,24 @@ Installer::StandardDirs[] = {
 
 static int num_installs, num_uninstalls;
 
+void
+Installer::preremovePerpetual0 ()
+{
+  std::vector<Script> perpetual;
+  Perpetual0RemoveFindVisitor visitor (&perpetual);
+  Find (cygpath ("/etc/preremove")).accept (visitor);
+  if (perpetual.empty())
+    return;
+
+  Progress.SetText1 (IDS_PROGRESS_PREREMOVE);
+  Progress.SetText2 ("0/Perpetual");
+  std::sort (perpetual.begin(), perpetual.end());
+  for (std::vector<Script>::iterator i = perpetual.begin (); i != perpetual.end (); ++i) {
+    Progress.SetText3 (i->fullName ().c_str());
+    i->run();
+  }
+}
+
 void
 Installer::preremoveOne (packagemeta & pkg)
 {
@@ -859,6 +903,9 @@ do_install_thread (HINSTANCE h, HWND owner)
   }
 
   /* start with uninstalls - remove files that new packages may replace */
+  Progress.SetBar2(0);
+  myInstaller.preremovePerpetual0 ();
+
   Progress.SetBar2(0);
   for (std::vector <packageversion>::iterator i = uninstall_q.begin ();
        i != uninstall_q.end (); ++i)
diff --git a/po/fr/res.po b/po/fr/res.po
index a741eaa8..75c133c3 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-06-17 10:45+0100\n"
+"POT-Creation-Date: 2022-06-29 12:56+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"
@@ -11,7 +11,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Accelerator-Marker: &\n"
-"X-Generator: Translate Toolkit 3.6.2\n"
+"X-Generator: Translate Toolkit 3.7.0\n"
 "X-Merge-On: location\n"
 
 #: DIALOG.IDD_SOURCE.CAPTION
@@ -352,22 +352,22 @@ msgstr "Programme Assistant Cygwin"
 msgid ""
 "This setup program is used for the initial installation of the Cygwin "
 "environment as well as all subsequent updates. The pages that follow will "
-"guide you through the installation.\r\n"
-"\r\n"
+"guide you through the installation.\n"
+"\n"
 "Please note that we only install a base set of packages by default.  Cygwin "
-"provides a large number of packages spanning a wide variety of purposes.\r\n"
-"\r\n"
+"provides a large number of packages spanning a wide variety of purposes.\n"
+"\n"
 "You can always run this program at any time in the future to add, remove, or "
 "upgrade packages as necessary."
 msgstr ""
 "Cet assistant est utilisé pour l'installation initiale de l'environnement "
 "Cygwin ainsi que pour ses mises à jour. Les pages suivantes vont vous guider "
-"durant l'installation. \r\n"
-"\r\n"
+"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"
-"\r\n"
+"\n"
 "Redémarrez ce programme ultérieurement pour ajouter, enlever ou mettre à "
 "jour des paquets si nécessaire."
 
@@ -844,41 +844,41 @@ msgstr "Autoriser les versions de test."
 
 #: STRINGTABLE.IDS_VIEWBUTTON_TOOLTIP
 msgid ""
-"Select the package view.  This determines which packages are shown below.\r\n"
-"\r\n"
-"Category: Group by package category.  Click on '+' to expand.\r\n"
-"\r\n"
-"Full: Show all packages.\r\n"
-"\r\n"
+"Select the package view.  This determines which packages are shown below.\n"
+"\n"
+"Category: Group by package category.  Click on '+' to expand.\n"
+"\n"
+"Full: Show all packages.\n"
+"\n"
 "Pending: Show only packages that are about to be installed, removed, or "
-"upgraded.  This tells you what is going to change when you press 'Next'.\r\n"
-"\r\n"
+"upgraded.  This tells you what is going to change when you press 'Next'.\n"
+"\n"
 "Up To Date: Show installed packages that need no action because they are at "
-"the desired version already.\r\n"
-"\r\n"
+"the desired version already.\n"
+"\n"
 "Not installed: Show packages that are are not currently installed and "
-"haven't been selected for installation.\r\n"
-"\r\n"
+"haven't been selected for installation.\n"
+"\n"
 "Picked: Show installed packages that were selected, not installed as a "
 "dependency."
 msgstr ""
 "Itérer les différentes vues des paquets.  Ceci détermine quels paquets "
-"seront montrés dans la vue ci-dessous.\r\n"
-"\r\n"
+"seront montrés dans la vue ci-dessous.\n"
+"\n"
 "Catégorie : regroupe par catégorie de paquets. Cliquez sur '+' pour étendre."
-"\r\n"
-"\r\n"
-"Tout : montre tous les paquets.\r\n"
-"\r\n"
+"\n"
+"\n"
+"Tout : montre tous les paquets.\n"
+"\n"
 "En attente : montre uniquement les paquets à ajouter, enlever ou mettre à "
 "jour. Ceci montre ce que l'assistant est sur le point de modifier lors de "
-"l'appui sur 'Suivant'.\r\n"
-"\r\n"
-"À jour : montre les paquets installés qui ne nécessitent pas d'action.\r\n"
-"\r\n"
+"l'appui sur 'Suivant'.\n"
+"\n"
+"À jour : montre les paquets installés qui ne nécessitent pas d'action.\n"
+"\n"
 "Non installé : montre les paquets non installés ou qui ne sont pas "
-"sélectionnés pour installation.\r\n"
-"\r\n"
+"sélectionnés pour installation.\n"
+"\n"
 "Choisi : montre les paquets installés qui ont été sélectionnés, et non "
 "installés pour résoudre une dépendance."
 
@@ -1100,37 +1100,37 @@ msgstr "Impossible d'extraire /%s -- paquet corrompu ?"
 
 #: STRINGTABLE.IDS_EXTRACTION_INUSE
 msgid ""
-"Unable to extract /%s -- error writing file\r\n"
-"\r\n"
-"The file is in use or some other error occurred.\r\n"
-"\r\n"
+"Unable to extract /%s -- error writing file\n"
+"\n"
+"The file is in use or some other error occurred.\n"
+"\n"
 "Please stop all Cygwin processes and select \"\"Retry\"\", or select \""
-"\"Continue\"\" to go on anyway (the file will be updated after a reboot).\r\n"
+"\"Continue\"\" to go on anyway (the file will be updated after a reboot).\n"
 msgstr ""
-"Incapable d'extraire /%s -- erreur à l'écriture du fichier\r\n"
-"Le fichier est utilisé ou une autre erreur est survenue.\r\n"
-"Arrêtez tous les processus Cygwin et sélectionnez «Recommencer», ou\r\n"
-"«Continuer» pour poursuivre (il faudra redémarrer).\r\n"
+"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"
 
 #: STRINGTABLE.IDS_INSTALL_OLD_CYGWIN
 msgid ""
-"An old version of cygwin1.dll was found here:\r\n"
-"%s\r\n"
+"An old version of cygwin1.dll was found here:\n"
+"%s\n"
 "Delete?"
 msgstr ""
-"Une ancienne version de cygwin1.dll a été trouvée ici :\r\n"
-"%s\r\n"
+"Une ancienne version de cygwin1.dll a été trouvée ici :\n"
+"%s\n"
 "Effacer ?"
 
 #: STRINGTABLE.IDS_INSTALL_DELETE_OLD_CYGWIN_FAILED
 msgid ""
-"Couldn't delete file %s.\r\n"
-"Is the DLL in use by another application?\r\n"
+"Couldn't delete file %s.\n"
+"Is the DLL in use by another application?\n"
 "You should delete the old version of cygwin1.dll at your earliest "
 "convenience."
 msgstr ""
-"Impossible de supprimer le fichier %s.\r\n"
-"La DLL est peut être utilisée par une autre application ?\r\n"
+"Impossible de supprimer le fichier %s.\n"
+"La DLL est peut être utilisée par une autre application ?\n"
 "Vous devriez effacer la vieille version de cygwin1.dll dès que possible."
 
 #: STRINGTABLE.IDS_SHELLLINK_FAILED
@@ -1175,44 +1175,44 @@ msgstr "Erreur Internet : %s"
 
 #: STRINGTABLE.IDS_PREREQ_UNSOLVED_PROBLEMS
 msgid ""
-"WARNING - Unsolved Problems\r\n"
-"\r\n"
-"Some packages may not work properly if you continue.\r\n"
-"\r\n"
+"WARNING - Unsolved Problems\n"
+"\n"
+"Some packages may not work properly if you continue.\n"
+"\n"
 "Are you sure you want to proceed (NOT RECOMMENDED)?"
 msgstr ""
-"ATTENTION - Problèmes non résolus\r\n"
-"\r\n"
-"Certains paquets ne fonctionneront pas correctement si vous continuez.\r\n"
-"\r\n"
+"ATTENTION - Problèmes non résolus\n"
+"\n"
+"Certains paquets ne fonctionneront pas correctement si vous continuez.\n"
+"\n"
 "Voulez vous continuer (NON RECOMMANDÉ) ?"
 
 #: STRINGTABLE.IDS_MIXED_BITNESS_ERROR
 msgid ""
-"Target CPU mismatch\r\n"
-"\r\n"
+"Target CPU mismatch\n"
+"\n"
 "You're trying to install a %s bit version of Cygwin into a directory "
 "containing a %s bit version of Cygwin.  Continuing to do so would break the "
-"existing installation.\r\n"
-"\r\n"
+"existing installation.\n"
+"\n"
 "Either run setup-%s.exe to update your existing %s bit installation of "
 "Cygwin, or choose another directory for your %s bit installation."
 msgstr ""
-"Erreur CPU cible\r\n"
-"\r\n"
+"Erreur CPU cible\n"
+"\n"
 "Vous essayez d'installer une version %s bits de Cygwin dans un dossier qui "
 "contient une version %s bits de Cygwin.  Si vous insistez, vous aller casser "
-"l'installation existante.\r\n"
-"\r\n"
+"l'installation existante.\n"
+"\n"
 "Utilisez setup-%s.exe pour mettre à jour votre installation %s bits de "
 "Cygwin, ou choisissez un autre dossier pour votre installation %s bits."
 
 #: STRINGTABLE.IDS_GET_SITELIST_ERROR
 msgid ""
-"Can't get list of download sites.\r\n"
+"Can't get list of download sites.\n"
 "Make sure your network settings are correct and try again."
 msgstr ""
-"Impossible d'avoir la liste des sites de téléchargement.\r\n"
+"Impossible d'avoir la liste des sites de téléchargement.\n"
 "Vérifiez que vos paramètres réseau sont corrects et réessayez."
 
 #: STRINGTABLE.IDS_CONFIRM_EXIT
diff --git a/res.pot b/res.pot
index f2aaa60e..ea9ba4e7 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-06-17 10:45+0100\n"
+"POT-Creation-Date: 2022-06-29 12:53+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"
@@ -11,7 +11,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Accelerator-Marker: &\n"
-"X-Generator: Translate Toolkit 3.6.2\n"
+"X-Generator: Translate Toolkit 3.7.0\n"
 "X-Merge-On: location\n"
 
 #: DIALOG.IDD_SOURCE.CAPTION
@@ -332,11 +332,11 @@ msgstr ""
 msgid ""
 "This setup program is used for the initial installation of the Cygwin "
 "environment as well as all subsequent updates. The pages that follow will "
-"guide you through the installation.\r\n"
-"\r\n"
+"guide you through the installation.\n"
+"\n"
 "Please note that we only install a base set of packages by default.  Cygwin "
-"provides a large number of packages spanning a wide variety of purposes.\r\n"
-"\r\n"
+"provides a large number of packages spanning a wide variety of purposes.\n"
+"\n"
 "You can always run this program at any time in the future to add, remove, or "
 "upgrade packages as necessary."
 msgstr ""
@@ -755,21 +755,21 @@ msgstr ""
 
 #: STRINGTABLE.IDS_VIEWBUTTON_TOOLTIP
 msgid ""
-"Select the package view.  This determines which packages are shown below.\r\n"
-"\r\n"
-"Category: Group by package category.  Click on '+' to expand.\r\n"
-"\r\n"
-"Full: Show all packages.\r\n"
-"\r\n"
+"Select the package view.  This determines which packages are shown below.\n"
+"\n"
+"Category: Group by package category.  Click on '+' to expand.\n"
+"\n"
+"Full: Show all packages.\n"
+"\n"
 "Pending: Show only packages that are about to be installed, removed, or "
-"upgraded.  This tells you what is going to change when you press 'Next'.\r\n"
-"\r\n"
+"upgraded.  This tells you what is going to change when you press 'Next'.\n"
+"\n"
 "Up To Date: Show installed packages that need no action because they are at "
-"the desired version already.\r\n"
-"\r\n"
+"the desired version already.\n"
+"\n"
 "Not installed: Show packages that are are not currently installed and "
-"haven't been selected for installation.\r\n"
-"\r\n"
+"haven't been selected for installation.\n"
+"\n"
 "Picked: Show installed packages that were selected, not installed as a "
 "dependency."
 msgstr ""
@@ -977,25 +977,25 @@ msgstr ""
 
 #: STRINGTABLE.IDS_EXTRACTION_INUSE
 msgid ""
-"Unable to extract /%s -- error writing file\r\n"
-"\r\n"
-"The file is in use or some other error occurred.\r\n"
-"\r\n"
+"Unable to extract /%s -- error writing file\n"
+"\n"
+"The file is in use or some other error occurred.\n"
+"\n"
 "Please stop all Cygwin processes and select \"\"Retry\"\", or select \""
-"\"Continue\"\" to go on anyway (the file will be updated after a reboot).\r\n"
+"\"Continue\"\" to go on anyway (the file will be updated after a reboot).\n"
 msgstr ""
 
 #: STRINGTABLE.IDS_INSTALL_OLD_CYGWIN
 msgid ""
-"An old version of cygwin1.dll was found here:\r\n"
-"%s\r\n"
+"An old version of cygwin1.dll was found here:\n"
+"%s\n"
 "Delete?"
 msgstr ""
 
 #: STRINGTABLE.IDS_INSTALL_DELETE_OLD_CYGWIN_FAILED
 msgid ""
-"Couldn't delete file %s.\r\n"
-"Is the DLL in use by another application?\r\n"
+"Couldn't delete file %s.\n"
+"Is the DLL in use by another application?\n"
 "You should delete the old version of cygwin1.dll at your earliest "
 "convenience."
 msgstr ""
@@ -1033,28 +1033,28 @@ msgstr ""
 
 #: STRINGTABLE.IDS_PREREQ_UNSOLVED_PROBLEMS
 msgid ""
-"WARNING - Unsolved Problems\r\n"
-"\r\n"
-"Some packages may not work properly if you continue.\r\n"
-"\r\n"
+"WARNING - Unsolved Problems\n"
+"\n"
+"Some packages may not work properly if you continue.\n"
+"\n"
 "Are you sure you want to proceed (NOT RECOMMENDED)?"
 msgstr ""
 
 #: STRINGTABLE.IDS_MIXED_BITNESS_ERROR
 msgid ""
-"Target CPU mismatch\r\n"
-"\r\n"
+"Target CPU mismatch\n"
+"\n"
 "You're trying to install a %s bit version of Cygwin into a directory "
 "containing a %s bit version of Cygwin.  Continuing to do so would break the "
-"existing installation.\r\n"
-"\r\n"
+"existing installation.\n"
+"\n"
 "Either run setup-%s.exe to update your existing %s bit installation of "
 "Cygwin, or choose another directory for your %s bit installation."
 msgstr ""
 
 #: STRINGTABLE.IDS_GET_SITELIST_ERROR
 msgid ""
-"Can't get list of download sites.\r\n"
+"Can't get list of download sites.\n"
 "Make sure your network settings are correct and try again."
 msgstr ""
 
diff --git a/res/en/res.rc b/res/en/res.rc
index d5f6d1f1..9683ab52 100644
--- a/res/en/res.rc
+++ b/res/en/res.rc
@@ -245,11 +245,11 @@ BEGIN
                     "updates. "
                     "The pages that follow will guide you through the "
                     "installation."
-                    "\r\n\r\n"
+                    "\n\n"
                     "Please note that we only install a base set of packages by "
                     "default.  Cygwin provides a large number of packages "
                     "spanning a wide variety of purposes."
-                    "\r\n\r\n"
+                    "\n\n"
                     "You can always run this program at any time in "
                     "the future to add, remove, or upgrade packages as "
                     "necessary.",IDC_SPLASH_TEXT,115,25,195,90
@@ -520,22 +520,22 @@ BEGIN
        "package repository, downgrading if necessary."
     IDS_TRUSTEXP_TOOLTIP    "Enable test packages."
     IDS_VIEWBUTTON_TOOLTIP  "Select the package view.  This determines "
-       "which packages are shown below.\r\n"
-       "\r\n"
-       "Category: Group by package category.  Click on '+' to expand.\r\n"
-       "\r\n"
-       "Full: Show all packages.\r\n"
-       "\r\n"
+       "which packages are shown below.\n"
+       "\n"
+       "Category: Group by package category.  Click on '+' to expand.\n"
+       "\n"
+       "Full: Show all packages.\n"
+       "\n"
        "Pending: Show only packages that are about to be installed, removed, "
        "or upgraded.  This tells you what is going to change when you press "
-       "'Next'.\r\n"
-       "\r\n"
+       "'Next'.\n"
+       "\n"
        "Up To Date: Show installed packages that need no action because they "
-       "are at the desired version already.\r\n"
-       "\r\n"
+       "are at the desired version already.\n"
+       "\n"
        "Not installed: Show packages that are are not currently installed "
-       "and haven't been selected for installation.\r\n"
-       "\r\n"
+       "and haven't been selected for installation.\n"
+       "\n"
        "Picked: Show installed packages that were selected, not installed "
        "as a dependency."
     IDS_HIDEOBS_TOOLTIP     "If selected, setup will hide packages in categories "
@@ -589,13 +589,13 @@ BEGIN
     IDS_MBOX_CAPTION "Cygwin Setup"
     IDS_EXTRACTION_FAILED "Unable to extract /%s -- corrupt package?"
     IDS_EXTRACTION_INUSE
-        "Unable to extract /%s -- error writing file\r\n\r\n"
-        "The file is in use or some other error occurred.\r\n\r\n"
+        "Unable to extract /%s -- error writing file\n\n"
+        "The file is in use or some other error occurred.\n\n"
         "Please stop all Cygwin processes and select ""Retry"", or "
-        "select ""Continue"" to go on anyway (the file will be updated after a reboot).\r\n"
-    IDS_INSTALL_OLD_CYGWIN "An old version of cygwin1.dll was found here:\r\n%s\r\nDelete?"
-    IDS_INSTALL_DELETE_OLD_CYGWIN_FAILED "Couldn't delete file %s.\r\n"
-                   "Is the DLL in use by another application?\r\n"
+        "select ""Continue"" to go on anyway (the file will be updated after a reboot).\n"
+    IDS_INSTALL_OLD_CYGWIN "An old version of cygwin1.dll was found here:\n%s\nDelete?"
+    IDS_INSTALL_DELETE_OLD_CYGWIN_FAILED "Couldn't delete file %s.\n"
+                   "Is the DLL in use by another application?\n"
                    "You should delete the old version of cygwin1.dll "
                    "at your earliest convenience."
     IDS_SHELLLINK_FAILED
@@ -609,21 +609,21 @@ BEGIN
     IDS_NIO_ERROR "Internet Error: %s"
     IDS_PREREQ_UNSOLVED_PROBLEMS
           "WARNING - Unsolved Problems"
-          "\r\n\r\n"
+          "\n\n"
           "Some packages may not work properly if you continue."
-          "\r\n\r\n"
+          "\n\n"
           "Are you sure you want to proceed (NOT RECOMMENDED)?"
     IDS_MIXED_BITNESS_ERROR
         "Target CPU mismatch"
-        "\r\n\r\n"
+        "\n\n"
         "You're trying to install a %s bit version of Cygwin into a directory "
         "containing a %s bit version of Cygwin.  Continuing to do so would "
         "break the existing installation."
-        "\r\n\r\n"
+        "\n\n"
         "Either run setup-%s.exe to update your existing %s bit installation of Cygwin, "
         "or choose another directory for your %s bit installation."
     IDS_GET_SITELIST_ERROR
-          "Can't get list of download sites.\r\n"
+          "Can't get list of download sites.\n"
           "Make sure your network settings are correct and try again."
     IDS_CONFIRM_EXIT "Are you sure you want to exit setup? Any current download or installation will be aborted."
     IDS_CONTINUE "Continue"
diff --git a/res/fr/res.rc b/res/fr/res.rc
index 3468e45e..79f23711 100644
--- a/res/fr/res.rc
+++ b/res/fr/res.rc
@@ -234,11 +234,11 @@ BEGIN
     LTEXT           "Cet assistant est utilisé pour l'installation initiale "
 		    "de l'environnement Cygwin ainsi que pour ses mises à jour. "
 		    "Les pages suivantes vont vous guider durant l'installation. "
-                    "\r\n\r\n"
+                    "\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\r\n"
+                    "\n\n"
 		    "Redémarrez ce programme ultérieurement pour ajouter, enlever ou "
 		    "mettre à jour des paquets si nécessaire.",IDC_SPLASH_TEXT,115,25,195,90
     ICON            IDI_CYGWIN,IDC_SPLASH_ICON,4,6,0,0,SS_ICON | SS_REALSIZEIMAGE
@@ -507,21 +507,21 @@ BEGIN
        "dans le site, éventuellement une version plus ancienne."
     IDS_TRUSTEXP_TOOLTIP    "Autoriser les versions de test."
     IDS_VIEWBUTTON_TOOLTIP  "Itérer les différentes vues des paquets.  Ceci détermine"
-       " quels paquets seront montrés dans la vue ci-dessous.\r\n"
-       "\r\n"
-       "Catégorie : regroupe par catégorie de paquets. Cliquez sur '+' pour étendre.\r\n"
-       "\r\n"
-       "Tout : montre tous les paquets.\r\n"
-       "\r\n"
+       " quels paquets seront montrés dans la vue ci-dessous.\n"
+       "\n"
+       "Catégorie : regroupe par catégorie de paquets. Cliquez sur '+' pour étendre.\n"
+       "\n"
+       "Tout : montre tous les paquets.\n"
+       "\n"
        "En attente : montre uniquement les paquets à ajouter, enlever ou mettre à jour. "
        "Ceci montre ce que l'assistant est sur le point de modifier "
-       "lors de l'appui sur 'Suivant'.\r\n"
-       "\r\n"
-       "À jour : montre les paquets installés qui ne nécessitent pas d'action.\r\n"
-       "\r\n"
+       "lors de l'appui sur 'Suivant'.\n"
+       "\n"
+       "À jour : montre les paquets installés qui ne nécessitent pas d'action.\n"
+       "\n"
        "Non installé : montre les paquets non installés ou qui ne sont pas "
-       "sélectionnés pour installation.\r\n"
-       "\r\n"
+       "sélectionnés pour installation.\n"
+       "\n"
        "Choisi : montre les paquets installés qui ont été sélectionnés, et non installés "
        "pour résoudre une dépendance."
     IDS_HIDEOBS_TOOLTIP     "L'assistant cachera les paquets des catégories dont "
@@ -575,13 +575,13 @@ 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\r\n"
-        "Le fichier est utilisé ou une autre erreur est survenue.\r\n"
-        "Arrêtez tous les processus Cygwin et sélectionnez «Recommencer», ou\r\n"
-        "«Continuer» pour poursuivre (il faudra redémarrer).\r\n"
-    IDS_INSTALL_OLD_CYGWIN "Une ancienne version de cygwin1.dll a été trouvée ici :\r\n%s\r\nEffacer ?"
-    IDS_INSTALL_DELETE_OLD_CYGWIN_FAILED "Impossible de supprimer le fichier %s.\r\n"
-        "La DLL est peut être utilisée par une autre application ?\r\n"
+        "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"
+    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"
         "Vous devriez effacer la vieille version de cygwin1.dll "
         "dès que possible."
     IDS_SHELLLINK_FAILED
@@ -595,21 +595,21 @@ BEGIN
     IDS_NIO_ERROR "Erreur Internet : %s"
     IDS_PREREQ_UNSOLVED_PROBLEMS
         "ATTENTION - Problèmes non résolus"
-        "\r\n\r\n"
+        "\n\n"
         "Certains paquets ne fonctionneront pas correctement si vous continuez."
-        "\r\n\r\n"
+        "\n\n"
         "Voulez vous continuer (NON RECOMMANDÉ) ?"
     IDS_MIXED_BITNESS_ERROR
         "Erreur CPU cible"
-        "\r\n\r\n"
+        "\n\n"
         "Vous essayez d'installer une version %s bits de Cygwin dans un dossier "
         "qui contient une version %s bits de Cygwin.  Si vous insistez, vous aller "
         "casser l'installation existante."
-        "\r\n\r\n"
+        "\n\n"
         "Utilisez setup-%s.exe pour mettre à jour votre installation %s bits de Cygwin, "
         "ou choisissez un autre dossier pour votre installation %s bits."
     IDS_GET_SITELIST_ERROR
-        "Impossible d'avoir la liste des sites de téléchargement.\r\n"
+        "Impossible d'avoir la liste des sites de téléchargement.\n"
         "Vérifiez que vos paramètres réseau sont corrects et réessayez."
     IDS_CONFIRM_EXIT "Voulez-vous vraiment quitter l'assistant ? Les téléchargements ou installations en cours seront annulés."
     IDS_CONTINUE "Continuer"



More information about the Cygwin-apps-cvs mailing list