delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/03/03/13:01:37

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <002101c1c2dd$36f06650$dda8883e@wdg.uk.ibm.com>
From: "Max Bowsher" <maxb AT ukf DOT net>
To: <cygwin AT cygwin DOT com>
Subject: setup.exe (cinstall) bugfixes + minor new feature
Date: Sun, 3 Mar 2002 17:53:59 -0000
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000

------=_NextPart_000_001A_01C1C2DC.65A72110
Content-Type: multipart/mixed;
	boundary="----=_NextPart_001_001B_01C1C2DC.65A72110"


------=_NextPart_001_001B_01C1C2DC.65A72110
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

I've been working with the setup code, and have discovered some bugs in the
current (just updated) CVS version.

I'm posting a patch here for comments, whilst I join cygwin-patches, and
study the Contributing instructions.

The patch does the following:

BugFix: io_stream::mkpath_p(isadir, path) misuse
mkpath_p is supposed to take a path with either a file:// or a cygfile://
prefix, but it is fed a path with no prefix in some places. The patch adds a
file:// prefix where needed.
This was causing some directories not to be created, including the Cygwin
directory in the start menu.

BugFix: add backslash call to make_link, in desktop.cc
This was causing the start menu shortcut to be called
'Programs/Cygwin/Cygwin Bash Shell' instead of being in the correct
directory structure

Feature Addition: Use files /etc/setup/inhibit-{startmenu,desktop}-icon to
remeber user de-selection of the create icon checkboxes on the last page of
setup.

Max.

------=_NextPart_001_001B_01C1C2DC.65A72110
Content-Type: application/octet-stream;
	name="currwork.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="currwork.patch"

diff -mru -X patch-excludes src/winsup/cinstall/desktop.cc =
src-work/winsup/cinstall/desktop.cc=0A=
--- src/winsup/cinstall/desktop.cc	Sun Mar  3 17:29:24 2002=0A=
+++ src-work/winsup/cinstall/desktop.cc	Sun Mar  3 17:23:41 2002=0A=
@@ -103,7 +103,7 @@=0A=
 static void=0A=
 make_link (String const &linkpath, String const &title, String const =
&target)=0A=
 {=0A=
-  String fname =3D linkpath + "/" + title + ".lnk";=0A=
+  String fname =3D backslash(linkpath + "/" + title + ".lnk");=0A=
 =0A=
   if (_access (fname.cstr_oneuse(), 0) =3D=3D 0)=0A=
     return;			/* already exists */=0A=
@@ -111,7 +111,7 @@=0A=
   msg ("make_link %s, %s, %s\n",=0A=
        fname.cstr_oneuse(), title.cstr_oneuse(), target.cstr_oneuse());=0A=
 =0A=
-  io_stream::mkpath_p (PATH_TO_FILE, fname);=0A=
+  io_stream::mkpath_p (PATH_TO_FILE, String("file://") + fname);=0A=
 =0A=
   String exepath;=0A=
 =0A=
@@ -278,7 +278,7 @@=0A=
 make_passwd_group ()=0A=
 {=0A=
   String fname =3D cygpath ("/etc/postinstall/passwd-grp.bat");=0A=
-  io_stream::mkpath_p (PATH_TO_FILE, fname);=0A=
+  io_stream::mkpath_p (PATH_TO_FILE, String("file://") + fname);=0A=
 =0A=
   if (uexists ("/etc/passwd") && uexists ("/etc/group"))=0A=
     return;=0A=
@@ -339,14 +339,27 @@=0A=
   make_etc_profile ();=0A=
   make_passwd_group ();=0A=
 =0A=
+  String inhibit_menu_file =3D =
backslash(cygpath("/etc/setup/inhibit-startmenu-icon"));=0A=
+  String inhibit_desktop_file =3D =
backslash(cygpath("/etc/setup/inhibit-desktop-icon"));=0A=
+=0A=
   if (root_menu)=0A=
     {=0A=
       start_menu ("Cygwin Bash Shell", batname);=0A=
+      _unlink(inhibit_menu_file.cstr_oneuse());=0A=
+    }=0A=
+  else=0A=
+    {=0A=
+      fclose(fopen(inhibit_menu_file.cstr_oneuse(),"wb"));=0A=
     }=0A=
 =0A=
   if (root_desktop)=0A=
     {=0A=
       desktop_icon ("Cygwin", batname);=0A=
+      _unlink(inhibit_desktop_file.cstr_oneuse());=0A=
+    }=0A=
+  else=0A=
+    {=0A=
+      fclose(fopen(inhibit_desktop_file.cstr_oneuse(),"wb"));=0A=
     }=0A=
 }=0A=
 =0A=
@@ -397,6 +410,9 @@=0A=
   if (_access (fname.cstr_oneuse(), 0) =3D=3D 0)=0A=
     return 0;			/* already exists */=0A=
 =0A=
+  if (uexists("/etc/setup/inhibit-desktop-icon"))=0A=
+    return 0;			/* inhibited by previous user choice */=0A=
+=0A=
   return IDC_ROOT_DESKTOP;=0A=
 }=0A=
 =0A=
@@ -430,6 +446,9 @@=0A=
 =0A=
   if (_access (fname.cstr_oneuse(), 0) =3D=3D 0)=0A=
     return 0;			/* already exists */=0A=
+=0A=
+  if (uexists("/etc/setup/inhibit-startmenu-icon"))=0A=
+    return 0;			/* inhibited by previous user choice */=0A=
 =0A=
   return IDC_ROOT_MENU;=0A=
 }=0A=
diff -mru -X patch-excludes src/winsup/cinstall/localdir.cc =
src-work/winsup/cinstall/localdir.cc=0A=
--- src/winsup/cinstall/localdir.cc	Mon Feb 18 13:53:06 2002=0A=
+++ src-work/winsup/cinstall/localdir.cc	Sun Mar  3 17:20:34 2002=0A=
@@ -45,7 +45,7 @@=0A=
 void=0A=
 save_local_dir ()=0A=
 {=0A=
-  io_stream::mkpath_p (PATH_TO_DIR, local_dir);=0A=
+  io_stream::mkpath_p (PATH_TO_DIR, String("file://") + local_dir);=0A=
 =0A=
   io_stream *f;=0A=
   if (get_root_dir ().size())=0A=

------=_NextPart_001_001B_01C1C2DC.65A72110--

------=_NextPart_000_001A_01C1C2DC.65A72110
Content-Type: application/x-pkcs7-signature;
	name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="smime.p7s"

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
CnCbAAAAAAAA

------=_NextPart_000_001A_01C1C2DC.65A72110--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019