diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog index 752dd52a3..e4b9d6b94 100644 --- a/winsup/doc/ChangeLog +++ b/winsup/doc/ChangeLog @@ -1,3 +1,23 @@ +2015-02-03 Corinna Vinschen + + * Throughout, replace http with https as far as cygwin.com and + sourceware.org URLs are concerned. + * Throughout, simplify ulink expressions if the visible text is the + URL anyway. + * faq-programming.xml (faq.programming.dll-relocatable): Remove. + * faq-setup.xml (faq.setup.name-with-space): Change for 1.7.34. + (faq.setup.home): Ditto. + * faq-using.xml (faq.using.printing): Clarify old links and availability + of a2ps and file. + (faq.using.xemacs): Drop outdated version info and pointers to native + XEmacs. + (faq.using.ntemacs): Remove. + * faq-what.xml (faq.what.what): Rephrase to reflect reality. + (faq.what.supported): Ditto. + (faq.what.who): Rephrase slightly. + * legal.xml: Bump copyright. + * setup-net.xml (internet-setup): Fix references to setup executables. + 2015-01-23 Pierre A. Humblet Corinna Vinschen diff --git a/winsup/doc/README b/winsup/doc/README index 58fd88721..091db1fd8 100644 --- a/winsup/doc/README +++ b/winsup/doc/README @@ -1,5 +1,5 @@ The cygwin-doc source files are kept in CVS. Please see -http://cygwin.com/cvs.html for more information. +https://cygwin.com/cvs.html for more information. BUILD REQUIREMENTS: diff --git a/winsup/doc/cygwinenv.xml b/winsup/doc/cygwinenv.xml index 38121927c..0b0e5ac7e 100644 --- a/winsup/doc/cygwinenv.xml +++ b/winsup/doc/cygwinenv.xml @@ -20,7 +20,7 @@ by prefixing with no. foreign applications which try to inject threads into a Cygwin process, or which redirect system sockets by providing an enforced so-called Layered Service Provider. This may or may not help to -detect +detect BLODAs. Don't use this option for day-to-day usage, it will slow down every thread and socket creation! diff --git a/winsup/doc/faq-api.xml b/winsup/doc/faq-api.xml index de2d31cc6..d2aa02950 100644 --- a/winsup/doc/faq-api.xml +++ b/winsup/doc/faq-api.xml @@ -36,7 +36,7 @@ is going on). They are only intended for those people who wish to contribute code to the project. If you aren't going to be happy debugging problems in a buggy snapshot, avoid these and wait for a real release. The snapshots are available from -http://cygwin.com/snapshots/. +. diff --git a/winsup/doc/faq-copyright.xml b/winsup/doc/faq-copyright.xml index 95abaa2b4..c7005b495 100644 --- a/winsup/doc/faq-copyright.xml +++ b/winsup/doc/faq-copyright.xml @@ -10,7 +10,7 @@ What are the copyrights? - Please see + Please see for more information about Cygwin copyright and licensing. diff --git a/winsup/doc/faq-programming.xml b/winsup/doc/faq-programming.xml index 4332d2b75..78e449167 100644 --- a/winsup/doc/faq-programming.xml +++ b/winsup/doc/faq-programming.xml @@ -15,17 +15,17 @@ volunteers to prepare and maintain packages, because the priority of the Cygwin Team is Cygwin itself. The Cygwin Package Contributor's Guide at -http://cygwin.com/setup.html details everything you need to know + details everything you need to know about being a package maintainer. The quickest way to get started is to read the Initial packaging procedure, script-based section on that page. The generic-build-script found there works well for most packages. For questions about package maintenance, use the cygwin-apps mailing -list (start at http://cygwin.com/lists.html) after +list (start at ) after searching and browsing the cygwin-apps list archives, of course. Be sure to look at the Submitting a package checklist at -http://cygwin.com/setup.html before sending an ITP (Intent To + before sending an ITP (Intent To Package) email to cygwin-apps. You should also announce your intentions to the general cygwin list, in @@ -38,7 +38,7 @@ case others were thinking the same thing. If you want to contribute to Cygwin itself, see -http://cygwin.com/contrib.html. +. @@ -360,7 +360,7 @@ package at runtime. Beware of using non-portable shell features in your Makefiles (see tips -at ). +at ). Errors of make: execvp: /bin/sh: Illegal Argument or make: execvp: /bin/sh: Argument list too long are often @@ -388,7 +388,7 @@ done -See +See for more information on using mount. @@ -401,7 +401,7 @@ error? Try running cygserver. Read -. If you're +. If you're trying to use PostgreSQL, also read /usr/share/doc/Cygwin/postgresql-*.README. @@ -469,9 +469,9 @@ or at least after all the object files and static libraries that reference them. There are a few restrictions for calls to the Win32 API. For details, see the User's Guide section -Restricted Win32 environment, +Restricted Win32 environment, as well as the User's Guide section -Using the Win32 file API in Cygwin applications. +Using the Win32 file API in Cygwin applications. @@ -485,7 +485,7 @@ desirable for native Windows programs that don't need a UNIX emulation layer. This is not to be confused with 'MinGW' (Minimalist GNU for Windows), which is a completely separate effort. That project's home page is -http://www.mingw.org/index.shtml. +. @@ -500,7 +500,7 @@ self-contained executable. If this is an issue because you intend to distribute your Cygwin application, then you had better read and understand -http://cygwin.com/licensing.html, which explains the licensing +, which explains the licensing options. Unless you purchase a special commercial license from Red Hat, then your Cygwin application must be Open Source. @@ -558,7 +558,7 @@ code links against the Cygwin dll (and if your program is calling functions from Cygwin, it must, as a matter of fact, be linked against it), you must apply the GPL to your source as well. Of course, this only matters if you plan to distribute your program in binary form. For -more information, see http://gnu.org/licenses/gpl-faq.html. If +more information, see . If that is not a problem, read on. If you want to load the DLL dynamically, read @@ -711,7 +711,7 @@ documentation, see the README included in the cygwin-doc pack Next, get the Cygwin source. Ideally, you should check out -what you need from CVS (). This is the +what you need from CVS (). This is the preferred method for acquiring the sources. Otherwise, if you are trying to duplicate a cygwin release then you should download the corresponding source package @@ -751,10 +751,10 @@ same time. Remove all but one. symbols that you see in gdb are basically meaningless. It is also a good idea to use the latest code in case the bug has been fixed, so we recommend trying the latest snapshot from - or building the DLL from CVS. + or building the DLL from CVS. To build a debugging version of the Cygwin DLL, you will need to follow -the instructions at . +the instructions at . You can also contact the mailing list for pointers (a simple test case that demonstrates the bug is always welcome). @@ -776,7 +776,7 @@ incompatibilities. Please send us patches if you do this work! If you need to change the maximum amount of memory available to Cygwin, see -http://cygwin.com/cygwin-ug-net/setup-maxmem.html. Otherwise, +. Otherwise, just pass heap/stack linker arguments to gcc. To create foo.exe with a heap size of 200MB and a stack size of 8MB, you would invoke gcc as: @@ -802,7 +802,7 @@ recursively, provided the command is in your path. There's documentation that explains the process in the Cygwin User's -Guide here: http://cygwin.com/cygwin-ug-net/dll.html +Guide here: . @@ -817,107 +817,6 @@ question. - -How can I build a relocatable dll? - - -(Please note: This section has not yet been updated for the latest net release. However, there was a discussion on the cygwin mailing list once that addresses this issue. Read http://cygwin.com/ml/cygwin/2000-06/msg00688.html and related messages.) - -You must execute the following sequence of five commands, in this -order: - - -$(LD) -s --base-file BASEFILE --dll -o DLLNAME OBJS LIBS -e ENTRY - -$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE \ - --base-file BASEFILE --output-exp EXPFILE - -$(LD) -s --base-file BASEFILE EXPFILE -dll -o DLLNAME OBJS LIBS -e ENTRY - -$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE \ - --base-file BASEFILE --output-exp EXPFILE - -$(LD) EXPFILE --dll -o DLLNAME OBJS LIBS -e ENTRY - - -In this example, $(LD) is the linker, ld. - -$(DLLTOOL) is dlltool. - -$(AS) is the assembler, as. - -DLLNAME is the name of the DLL you want to create, e.g., tcl80.dll. - -OBJS is the list of object files you want to put into the DLL. - -LIBS is the list of libraries you want to link the DLL against. For -example, you may or may not want -lcygwin. You may want -lkernel32. - -DEFFILE is the name of your definitions file. A simple DEFFILE would -consist of ``EXPORTS'' followed by a list of all symbols which should -be exported from the DLL. Each symbol should be on a line by itself. -Other programs will only be able to access the listed symbols. - -BASEFILE is a temporary file that is used during this five stage -process, e.g., tcl.base. - -EXPFILE is another temporary file, e.g., tcl.exp. - -ENTRY is the name of the function which you want to use as the entry -point. This function should be defined using the WINAPI attribute, -and should take three arguments: - int WINAPI startup (HINSTANCE, DWORD, LPVOID) - -This means that the actual symbol name will have an appended @12, so if -your entry point really is named startup, the string you should -use for ENTRY in the above examples would be startup@12. - -If your DLL calls any Cygwin API functions, the entry function will need -to initialize the Cygwin impure pointer. You can do that by declaring -a global variable _impure_ptr, and then initializing it in the -entry function. Be careful not to export the global variable -_impure_ptr from your DLL; that is, do not put it in DEFFILE. - - -/* This is a global variable. */ -struct _reent *_impure_ptr; -extern struct _reent *__imp_reent_data; - -int entry (HINSTANT hinst, DWORD reason, LPVOID reserved) -{ - _impure_ptr = __imp_reent_data; - /* Whatever else you want to do. */ -} - - -You may put an optional `--subsystem windows' on the $(LD) lines. -Note that if you specify a --subsytem <x> flag to ld, -the -e entry must come after the subsystem flag, since the subsystem flag -sets a different default entry point. - -You may put an optional `--image-base BASEADDR' on the $(LD) lines. -This will set the default image base. Programs using this DLL will -start up a bit faster if each DLL occupies a different portion of the -address space. Each DLL starts at the image base, and continues for -whatever size it occupies. - -Now that you've built your DLL, you may want to build a library so -that other programs can link against it. This is not required: you -could always use the DLL via LoadLibrary. However, if you want to be -able to link directly against the DLL, you need to create a library. -Do that like this: - -$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE --output-lib LIBFILE - -$(DLLTOOL), $(AS), DLLNAME, and DEFFILE are the same as above. Make -sure you use the same DLLNAME and DEFFILE, or things won't work right. - -LIBFILE is the name of the library you want to create, e.g., -libtcl80.a. You can then link against that library using something -like -ltcl80 in your linker command. - - - How can I debug what's going on? diff --git a/winsup/doc/faq-resources.xml b/winsup/doc/faq-resources.xml index 128b713a3..c79712718 100644 --- a/winsup/doc/faq-resources.xml +++ b/winsup/doc/faq-resources.xml @@ -24,20 +24,19 @@ their documentation in /usr/doc/ instead of /usr/share/doc/. There are links to quite a lot of documentation on the main Cygwin -project web page, http://cygwin.com/, -including this FAQ. Be sure to at least read any 'Release Notes' or 'Readme' -or 'read this' links on the main web page, if there are any. +project web page, , including this FAQ. +Be sure to at least read any 'Release Notes' or 'Readme' or 'read this' +links on the main web page, if there are any. -There is a comprehensive Cygwin User's Guide at http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html -and an API Reference at http://cygwin.com/cygwin-api/cygwin-api.html. +There is a comprehensive Cygwin User's Guide at + +and an API Reference at +. -You can find documentation for the individual GNU tools at http://www.fsf.org/manual/. (You -should read GNU manuals from a local mirror, check http://www.fsf.org/server/list-mirrors.html -for a list of them.) +You can find documentation for the individual GNU tools at +. (You should read GNU manuals from +a local mirror, check + for a list of them.) @@ -45,14 +44,14 @@ for a list of them.) What Cygwin mailing lists can I join? Comprehensive information about the Cygwin mailing lists can be found at -. +. What if I have a problem? (Or: Why won't you/the mailing list answer my questions?) -Comprehensive information about reporting problems with Cygwin can be found at . +Comprehensive information about reporting problems with Cygwin can be found at . diff --git a/winsup/doc/faq-setup.xml b/winsup/doc/faq-setup.xml index 4aa94edfb..614d4a95c 100644 --- a/winsup/doc/faq-setup.xml +++ b/winsup/doc/faq-setup.xml @@ -15,16 +15,16 @@ installer setup-*.exe. It is flexible and easy to use. You can pick and choose the packages you wish to install, and update them individually. Full source code is available for all packages and tools. More information on using Cygwin Setup may be found at -. +. If you do it any other way, you're on your own! If something doesn't work right for you, and it's not covered here or in the latest development snapshot at -http://cygwin.com/snapshots/, then by all means report it to the +, then by all means report it to the mailing list. For a searchable list of packages that can be installed with Cygwin, -see http://cygwin.com/packages/. +see . @@ -143,10 +143,10 @@ now.) Cygwin Setup can be used to install any packages that are on a Cygwin mirror, which usually includes one version previous to the current one. The complete list may be searched at -http://cygwin.com/packages/. There is no complete archive of +. There is no complete archive of older packages. If you have a problem with the current version of a Cygwin package, please report it to the mailing list using the -guidelines at http://cygwin.com/problems.html. +guidelines at . That said, if you really need an older package, you may be able to find an outdated or archival mirror by searching the web for an old package @@ -199,7 +199,7 @@ disk if you are paranoid. This should be safe, but only if Cygwin Setup is not substituted by something malicious, and no mirror has been compromised. -See also +See also for a list of applications that have been known, at one time or another, to interfere with the normal functioning of Cygwin. @@ -211,10 +211,10 @@ interfere with the normal functioning of Cygwin. When using Cygwin Setup for the first time, the default is to install a minimal subset of all available packages. If you want anything beyond that, you will have to select it explicitly. See - for a searchable list of available + for a searchable list of available packages, or use cygcheck -p as described in the Cygwin User's Guide at -. +. If you want to build programs, of course you'll need gcc, binutils, make and probably other packages from the @@ -316,11 +316,11 @@ prior actions is in /var/log/setup.log. First, make sure that you are using the latest version of Cygwin Setup. -The latest version is always available from the Cygwin Home Page at http://cygwin.com/. +The latest version is always available from the Cygwin Home Page at +. + If you are downloading from the Internet, setup will fail if it cannot -download the list of mirrors at http://cygwin.com/mirrors.html. +download the list of mirrors at . It could be that the network is too busy. Something similar could be the cause of a download site not working. Try another mirror, or try again later. @@ -356,13 +356,13 @@ you are much better off if you can avoid the problem entirely. You have two choices: -You can rename the user in the Windows User Manager GUI and then -run mkpasswd. +You can rename the user in the Windows User Manager GUI. -If you already have an /etc/passwd file, you can simply edit -your Cygwin user name (first field). It's also a good idea to avoid spaces in -the home directory. +If that's not possible, you can create an /etc/passwd file +using the mkpasswd command. Then you can simply edit your +Cygwin user name (first field). It's also a good idea to avoid spaces in the +home directory. @@ -373,30 +373,33 @@ the home directory. My HOME environment variable is not what I want. -When starting Cygwin from Windows, HOME is determined as follows -in order of decreasing priority: +When starting Cygwin from Windows, HOME is determined +as follows: -HOME from the Windows environment, translated to POSIX form. +If HOME is set in the Windows environment, +translated to POSIX form. -The pw_home field from the passwd entry as returned by getent passwd. - - -/home/USERNAME +Otherwise, use the pw_home field from the passwd entry as +returned by getent passwd. If you want to learn how this +field is set by Cygwin and how you can change it, this is explained in great +detail in the Cygwin User's Guide at +. -When using Cygwin from the network (telnet, ssh,...), HOME is taken from the passwd entry. +When using Cygwin from a network login (via ssh for instance), +HOME is always taken from the passwd entry. -If your HOME is set to a value such as /cygdrive/c, it is likely -that it was set in Windows. Start a DOS Command Window and type +If your HOME is set to a value such as /cygdrive/c, +it is likely that it was set in Windows. Start a DOS Command Window and type "set HOME" to verify if this is the case. -Access to shared drives is often restricted when starting from the network, -thus Domain users may wish to have a different HOME in the -Windows environment (on shared drive) than in Cygwin (on local drive). +Access to shared drives is often restricted when starting from the +network, thus Domain users may wish to have a different HOME +in the Windows environment (on shared drive) than in Cygwin (on local drive). Note that ssh only considers the account information as retrieved by getpwnam(3), disregarding HOME. @@ -443,7 +446,7 @@ of Cygwin is as follows: If you have any Cygwin services running, remove by repeating the instructions in for +url="https://cygwin.com/faq/faq.html#faq.setup.uninstall-service"/> for all services that you installed. Common services that might have been installed are sshd, cron, cygserver, inetd, apache, @@ -454,12 +457,12 @@ installed are sshd, cron, that might be running in the background. Exit the command prompt and ensure that no Cygwin processes remain. Note: If you want to save your mount points for a later reinstall, first save the output of mount -m as described at -. +. If you installed cyglsa.dll by running the shell script /usr/bin/cyglsa-config as described in -, then you need to +, then you need to configure Windows to stop using the LSA authentication package. You do so by editing the registry and restoring /HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa/Authentication Packages @@ -522,7 +525,7 @@ problems, or at the request of a Cygwin developer. You cannot use Cygwin Setup to install a snapshot. First, you will need to download the snapshot from the snapshots -page at http://cygwin.com/snapshots/. Note the directory where +page at . Note the directory where you saved the snapshot tarball. Before installing a snapshot, you must first Close all Cygwin @@ -552,7 +555,7 @@ to C:\cygwin\bin\cygwin1.dll (assuming you installed Cygwin i The operative word in trying the snapshots is "trying". If you notice a problem with the snapshot that was not present in the release DLL (what we call a "regression"), please report it to the Cygwin -mailing list (see http://cygwin.com/problems.html for problem +mailing list (see for problem reporting guidelines). If you wish to go back to the older version of the DLL, again, close all Cygwin processes, delete C:\cygwin\bin\cygwin1.dll, and @@ -569,11 +572,11 @@ files, reinstall the "cygwin" package using Setup. NO. Cygwin Setup cannot do this for you. Use a tool designed for -this purpose. See http://rsync.samba.org/, -http://www.gnu.org/software/wget/ for utilities that can do this for you. +this purpose. See , + for utilities that can do this for you. For more information on setting up a custom Cygwin package server, see the Cygwin Setup homepage at -http://sourceware.org/cygwin-apps/setup.html. +. @@ -582,10 +585,10 @@ the Cygwin Setup homepage at While some users have successfully done this, for example Indiana -University's XLiveCD http://xlivecd.indiana.edu/, there is no +University's XLiveCD , there is no easy way to do it. Full instructions for constructing a portable Cygwin on CD by hand can be found on the mailing list at -http://www.cygwin.com/ml/cygwin/2003-07/msg01117.html + (Thanks to fergus at bonhard dot uklinux dot net for these instructions.) Please note that these instructions are rather old and are referring to the somewhat different setup of a Cygwin 1.5.x release. As soon as somebody set diff --git a/winsup/doc/faq-using.xml b/winsup/doc/faq-using.xml index 18c6c4ed7..3b6694df4 100644 --- a/winsup/doc/faq-using.xml +++ b/winsup/doc/faq-using.xml @@ -25,7 +25,7 @@ installed. Scroll down to locate the missing package, for instance For a detailed explanation of the general problem, and how to extend it to other missing DLLs and identify their containing packages, see -http://cygwin.com/ml/cygwin/2002-01/msg01619.html. +. @@ -50,7 +50,7 @@ will slow things down tremendously if it does not exist. (sshd, inetd, etc), then it depends on the method used to switch to another user. This problem as well as its solution is described in detail in the Cygwin User's Guide, see -. +. Workarounds include using public network share that does not require authentication (for non-critical files), providing your password to a @@ -238,8 +238,9 @@ currently installed as part of the sh-utils, but again, it does not work. ssh username@localhost as a su replacement. -For some technical background into why su doesn't work, read -http://www.cygwin.com/ml/cygwin/2003-06/msg00897.html and +For some technical background into why su doesn't +work, read + and related messages. @@ -274,7 +275,7 @@ for memory cards or USB sticks to exchange pictures... For other cases, understand that Cygwin attempts to show UNIX permissions based on the security features of Windows, so the Windows ACLs are likely the source of your problem. See the Cygwin User's -Guide at +Guide at for more information on how Cygwin maps Windows permissions. @@ -326,25 +327,26 @@ to determine whether they are executable. How do I print under Cygwin? -lpr is available in the cygutils package. Some usage hints are available courtesy of Rodrigo Medina. +lpr is available in the cygutils package. Some usage hints are available courtesy of Rodrigo Medina. Jason Tishler has written a couple of messages that explain how to use a2ps (for nicely formatted text in PostScript) and ghostscript (to print PostScript files on non-PostScript Windows printers). Start at -http://cygwin.com/ml/cygwin/2001-04/msg00657.html. Note that the -file command is now available as part of Cygwin setup. +. Note that +these are old mails and a2ps as well as +file are long available as part of the Cygwin distribution. -Alternatively, you can use the Windows print -command. (It does not seem to be available on Win9x.) Type +Alternatively, you can use the Windows print +command. Type bash$ print /\? -for usage instructions (note the ? must be escaped from the -shell). +for usage instructions (note the ? must be escaped +from the shell). -Finally, you can simply cat the file to the printer's share name: +Finally, you can simply cat the file to the printer's share name: bash$ cat myfile > //host/printer @@ -362,7 +364,7 @@ formfeed character to your file. Internationalization is a complex issue. The short answer is that Cygwin relies on the setting of the setting of LANG/LC_xxx environment variables. The long answer can be found in the User's Guide in the -section Internationalization +section Internationalization Cygwin uses UTF-8 by default. To use a different character set, you @@ -414,7 +416,7 @@ if you have one a single Cygwin installation, for example, if you update the Cygwin package without exiting all Cygwin apps (including services like sshd) beforehand. The only DLL that is sanctioned by the Cygwin project is the one that -you get by running setup.exe, +you get by running setup-x86.exe or setup-x86_64.exe, installed in a directory controlled by this program. If you have other versions on your system and desire help from the cygwin project, you should delete or rename all DLLs that are not installed by @@ -450,7 +452,7 @@ Can I bundle Cygwin with my product for free? Only if you comply with Cygwin's license very carefully. If you +url="https://cygwin.com/licensing.html">license very carefully. If you choose to distribute cygwin1.dll, you must be willing to distribute the exact source code used to build that copy of cygwin1.dll as per the terms of the GPL. If you ship applications that link with cygwin1.dll, @@ -485,7 +487,7 @@ installed distribution. Probably because there is nobody willing or able to maintain it. It takes time, and the priority for the Cygwin Team is the Cygwin package. The rest is a volunteer effort. Want to contribute? See -http://cygwin.com/setup.html. +. @@ -569,7 +571,7 @@ of your current Cygwin session. You can change the default cygdrive prefix and whether it is binmode or textmode using the /etc/fstab file as well. See the Cygwin User's Guide at -http://cygwin.com/cygwin-ug-net/using.html#mount-table + for more details. @@ -618,7 +620,7 @@ of poorly written firewall-type software that causes things to break. Note that with many of these products, simply disabling the firewall does not remove these changes; it must be completely uninstalled. -See also +See also for a list of applications that have been known, at one time or another, to interfere with the normal functioning of Cygwin. @@ -652,7 +654,7 @@ configuration fails. To help with this problem, Cygwin supports case sensitivity starting with Cygwin 1.7.0. For a detailed description how to use that feature see the Cygwin User's Guilde at -http://cygwin.com/cygwin-ug-net/using-specialnames.html. +. @@ -672,7 +674,7 @@ letters 'aux' in it will hang. At least that's what happens when using native Windows tools. Cygwin 1.7.0 and later can deal with these filenames just fine. Again, see the User's Guide at -http://cygwin.com/cygwin-ug-net/using-specialnames.html + for a detailed description of what's possible with filenames and what is not. @@ -768,7 +770,7 @@ contents are exempt from scanning. In a default installation, this would be C:\cygwin\bin. Obviously, this could be exploited by a hostile non-Cygwin program, so do this at your own risk. -See also +See also for a list of applications that have been known, at one time or another, to interfere with the normal functioning of Cygwin. @@ -781,7 +783,7 @@ interfere with the normal functioning of Cygwin. Yes. Install the emacs package. This provides everything you need in order to run GNU emacs in a terminal window. If you also want to be able to use the X11 -(http://x.cygwin.com/) +() GUI, install the emacs-X11 package. In either case, you run emacs by typing 'emacs' or '/usr/bin/emacs'. @@ -793,7 +795,7 @@ typing 'emacs' or '/usr/bin/emacs'. Yes. It can be used in three different modes: -X11 (http://x.cygwin.com/) GUI +X11 () GUI You have to set the DISPLAY environment variable before starting xemacs. @@ -815,127 +817,12 @@ before starting xemacs. bash$ xemacs -nw -The current stable Cygwin version of XEmacs is 21.4.x. But there is also a -Cygwin test release version (21.5.x) available for download via setup.exe. - To use all the standard packages with XEmacs you should download the following two packages: xemacs-sumo - XEmacs standard packages xemacs-mule-sumo - XEmacs MULE (MUlti Lingual Emacs) packages -An alternative native distribution of XEmacs for -Windows based systems can be downloaded from -http://xemacs.org/Download/win32/index.html. -It uses an InnoSetup Kit based installer. - - - -What about NT Emacs? - - -If you want GNU Emacs with a native Microsoft GUI interface, -then you can either use XEmacs (see above), or native -NT Emacs: see section -Where can I get pre-compiled versions? in NT Emacs FAQ. - - -NT Emacs uses the Windows command shell by default. Since it is not a -Cygwin application, it has no knowledge of Cygwin mounts. With those -points in mind, you need to add the following code to your ~/.emacs -(or ~/_emacs) file in order to use Cygwin bash. This is particularly useful -for the JDEE package (http://jdee.sunsite.dk/). The following -settings are for Emacs 21.1: - - - - ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; Initial setup - ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - ;; This assumes that Cygwin is installed in C:\cygwin (the - ;; default) and that C:\cygwin\bin is not already in your - ;; Windows Path (it generally should not be). - - (setq exec-path (cons "C:/cygwin/bin" exec-path)) - (setenv "PATH" (concat "C:\\cygwin\\bin;" (getenv "PATH"))) - - ;; LOGNAME and USER are expected in many Emacs packages - ;; Check these environment variables. - - (if (and (null (getenv "USER")) - ;; Windows includes variable USERNAME, which is copied to - ;; LOGNAME and USER respectively. - (getenv "USERNAME")) - (setenv "USER" (getenv "USERNAME"))) - - (if (and (getenv "LOGNAME") - ;; Bash shell defines only LOGNAME - (null (getenv "USER"))) - (setenv "USER" (getenv "LOGNAME"))) - - (if (and (getenv "USER") - (null (getenv "LOGNAME"))) - (setenv "LOGNAME" (getenv "USER"))) - - ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; (A) M-x shell: This change M-x shell permanently - ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - ;; Would call Windows command interpreter. Change it. - - (setq shell-file-name "bash") - (setenv "SHELL" shell-file-name) - (setq explicit-shell-file-name shell-file-name) - - ;; Remove C-m (^M) characters that appear in output - - (add-hook 'comint-output-filter-functions - 'comint-strip-ctrl-m) - - ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; (B) *OR* call following function with M-x my-bash - ;; The M-x shell would continue to run standard Windows shell - ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - (defun my-bash (&optional buffer) - "Run Cygwin Bash shell in optional BUFFER; default *shell-bash*." - (autoload 'comint-check-proc "comint") - (interactive - (let ((name "*shell-bash*")) - (if current-prefix-arg - (setq name (read-string - (format "Cygwin shell buffer (default %s): " name) - (not 'initial-input) - (not 'history) - name))) - (list name))) - (or buffer - (setq buffer "*shell-bash*")) - (if (comint-check-proc buffer) - (pop-to-buffer buffer) - (let* ((shell-file-name "bash") - (explicit-shell-file-name shell-file-name) - (explicit-sh-args '("--login" "-i")) - (explicit-bash-args explicit-sh-args) - (w32-quote-process-args ?\"));; Use Cygwin quoting rules. - (shell buffer) - ;; By default Emacs sends "\r\n", but bash wants plain "\n" - (set-buffer-process-coding-system 'undecided-dos 'undecided-unix) - ;; With TAB completion, add slash path separator, none to filenames - (make-local-variable 'comint-completion-addsuffix) - (setq comint-completion-addsuffix '("/" . "")) - ;; This variable is local to buffer - (setq comint-prompt-regexp "^[ \n\t]*[$] ?")))) - - - -If you want NT Emacs to understand Cygwin paths, get -cygwin-mount.el from http://www.emacswiki.org/elisp/index.html. - -Note that all of this ``just works'' if you use the Cygwin port of -Emacs or XEmacs from Cygwin Setup. - @@ -974,7 +861,7 @@ file: Alternatively, use Windows shortcuts as symlinks. See the CYGWIN environment variable option "winsymlinks" -http://cygwin.com/cygwin-ug-net/using-cygwinenv.html + @@ -1065,7 +952,7 @@ such as this when trying to start a Tk app: Then you need to start an X server, or if one is already running, set the DISPLAY variable to the proper value. The Cygwin distribution -includes an X server; please see the Cygwin/X User Guide +includes an X server; please see the Cygwin/X User Guide for installation and startup instructions. @@ -1223,7 +1110,7 @@ such as virtual memory paging and file caching. ones undoes the effects of rebaseall and often causes fork() failures to reappear. If so, just run rebaseall again. - See the + See the process creation section of the User's Guide for the technical reasons it is so difficult to make fork() work reliably. diff --git a/winsup/doc/faq-what.xml b/winsup/doc/faq-what.xml index beae035c3..056cf9132 100644 --- a/winsup/doc/faq-what.xml +++ b/winsup/doc/faq-what.xml @@ -10,22 +10,19 @@ What is it? -The Cygwin tools are ports of the popular GNU development tools for -Microsoft Windows. They run thanks to the Cygwin library which +Cygwin is a distribution of popular GNU and other Open Source tools +running on Microsoft Windows. The core part is the Cygwin library which provides the POSIX system calls and environment these programs expect. -With these tools installed, it is possible to write Windows console -or GUI applications that make use of significant parts of the POSIX API. -As a result, it is possible to easily port many Unix programs without the need -for extensive changes to the source code. This includes configuring -and building most of the available GNU software (including the packages -included with the Cygwin development tools themselves) as well as lots -of BSD tools and packages (including OpenSSH). Even if -the development tools are of little to no use to you, you may have -interest in the many standard POSIX utilities provided with the package. -They can be used from one of the provided Unix shells like bash, tcsh or zsh, -as well as from the standard Windows command shell if you have to for some -sad reason. +The Cygwin distribution contains thousands of packages from the Open +Source world including most GNU tools, many BSD tools, an X server and a full +set of X applications. If you're a developer you will find tools, headers +and libraries allowing to write Windows console or GUI applications that make +use of significant parts of the POSIX API. Cygwin allows easy porting of many +Unix programs without the need for extensive changes to the source code. This +includes configuring and building most of the available GNU or BSD software, +including the packages included with the Cygwin distribution themselves. +They can be used from one of the provided Unix shells like bash, tcsh or zsh. @@ -33,17 +30,12 @@ sad reason. What versions of Windows are supported? -Cygwin can be expected to run on all modern versions of Windows. -This includes, as of the time of writing this, Windows XP SP3, Windows -Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows -Server 2012, Windows 8. The 32 bit version also runs in the WOW64 32 bit -environment on released 64 bit versions of Windows -(XP/2003/Vista/2008/7/2008 R2/8/2012). -Since Cygwin is a community-supported free software project, patches to -provide support for other versions would be thoughtfully considered. -Paid support contracts or enhancements are available through Red Hat. For -information about getting a Red Hat support contract, see -. +Cygwin can be expected to run on all modern, released versions of Windows. +State January 2015 this includes Windows XP SP3, Windows Server 2003/2003R2 +and all later versions of Windows up to Windows 8.1 and Windows Server 2012R2. +The 32 bit version of Cygwin also runs in the WOW64 32 bit environment on +released 64 bit versions of Windows (XP SP3 up to 8.1/2012R2), the 64 bit +version of course only on 64 bit Windows. Keep in mind that Cygwin can only do as much as the underlying OS supports. Because of this, Cygwin will behave differently, and @@ -55,17 +47,17 @@ exhibit different limitations, on the various versions of Windows. Where can I get it? -The home page for the Cygwin project is http://cygwin.com/. +The home page for the Cygwin project is +. There you should find everything you need for Cygwin, including links for download and setup, a current list of mirror sites, a User's -Guide, an API Reference, mailing lists and archives, and additional -ported software. +Guide, an API Reference, mailing lists and archives. You can find documentation for the individual GNU tools typically as man pages or info pages as part of the Cygwin net distribution. Additionally you can get the latest docs at -. (You should read GNU manuals from a -local mirror. Check +. (You should read GNU manuals from a +local mirror. Check for a list of them.) @@ -85,7 +77,7 @@ these tools. In particular, if you intend to port a proprietary (non-GPL'd) application using Cygwin, you will need the proprietary-use license for the Cygwin library. This is available for purchase from Red Hat; -please visit for more +please visit for more information. All other questions should be sent to the public project mailing list cygwin@cygwin.com. @@ -103,7 +95,9 @@ freedoms, so it is free software. To find the version of the Cygwin DLL installed, you can use uname as on Linux or cygcheck. Refer to each command's ---help output and the Cygwin User's Guide for more information. +--help output and the +Cygwin User's Guide +for more information. If you are looking for the version number for the whole Cygwin release, there is none. Each package in the Cygwin release has its own @@ -113,10 +107,11 @@ Each package has its own version numbers and its own release process. So, how do you get the most up-to-date version of Cygwin? Easy. Just download the Cygwin Setup program by following the instructions -here. The setup program will handle the task -of updating the packages on your system to the latest version. For -more information about using Cygwin's setup.exe, see -Setting Up Cygwin +here. +The setup program will handle the task of updating the packages on your system +to the latest version. For more information about using Cygwin's +setup.exe, see +Setting Up Cygwin in the Cygwin User's Guide. @@ -129,26 +124,29 @@ questions, all of these people will appreciate it if you use the cygwin mailing lists rather than sending personal email.) -Corinna Vinschen (corinna) is the current project lead. Corinna is a -senior Red Hat engineer. Corinna is responsible for such important -subsystems as security and networking and has recently added support to -Cygwin for wide characters, increased path length, IPv6, advisory -file locking and more. +Corinna Vinschen is the current project lead. Corinna is a senior Red Hat +engineer. Corinna is responsible for the Cygwin library and maintains a couple +of packages, for instance OpenSSH, OpenSSL, and a lot more. -Yaakov Selkowitz is the Cygwin/X coordinator. Jon Turney serves on the -Cygwin/X team as a developer. +Yaakov Selkowitz is another Red Hat engineer working on the Cygwin project. +He's the guy behind the current build and packaging system and maintains by +far the most packages in the Cygwin distribution. + + +Jon Turney is developer and maintainer of the Cygwin X server and a couple +of related packages. The packages in the Net release are maintained by a large group of people; -a complete list can be found here. +a complete list can be found +here. -Please note that all of us working on Cygwin try to -be as responsive as possible and deal with patches and questions as we -get them, but realistically we don't have time to answer all of the -email that is sent to the main mailing list. Making Net releases of the -Win32 tools and helping people on the Net out is not our primary job -function, so some email will have to go unanswered. +Please note that all of us working on Cygwin try to be as responsive as +possible and deal with patches and questions as we get them, but realistically +we don't have time to answer all of the email that is sent to the main mailing +list. Making Net releases of the Win32 tools and helping people on the Net out +is not our primary job function, so some email will have to go unanswered. Many thanks to everyone using the tools for their many contributions in the form of advice, bug reports, and code fixes. Keep them coming! diff --git a/winsup/doc/highlights.xml b/winsup/doc/highlights.xml index 76eb3fb1c..01080ee7d 100644 --- a/winsup/doc/highlights.xml +++ b/winsup/doc/highlights.xml @@ -49,7 +49,7 @@ The chmod call maps UNIX-style permissions back to the Win32 equivalents. Because many programs expect to be able to find the /etc/passwd and /etc/group files, we provide utilities +url="https://cygwin.com/cygwin-ug-net/using-utils.html">utilities that can be used to construct them from the user and group information provided by the operating system. @@ -272,7 +272,7 @@ location, Cygwin can do nothing to compensate (though it will retry a few times automatically). DLL injection by - + BLODA. Badly-behaved applications which inject dlls into other processes often manage to clobber important sections of the child's address space, leading to base address diff --git a/winsup/doc/legal.xml b/winsup/doc/legal.xml index 6ba4f51ee..06b55773e 100644 --- a/winsup/doc/legal.xml +++ b/winsup/doc/legal.xml @@ -4,7 +4,7 @@ -Copyright © 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Red Hat, Inc. +Copyright © 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Red Hat, Inc.