
( zsh zsh-lovers suite3270 icu yodl Cygwin Mirror Cygwin Time Machine (Cygwin-1.7!!) Cygutils )
I also want to plug an excellent shell scripting book titled: From Bash to Z-Shell: Conquering the Command Line by Oliver Kiddle, Jerry Peek, Peter Stephenson (available on Amazon.com). This is an excellent book, by the people who maintain Zsh itself and who really, really know shells!
Also, check out a very good article on Zsh titled: Shell Corner: Zsh Suite of "keeper" Functions by Bart Schaefer in "Unix Review".
And from IBM we have a developerWorks article on using the command line:
Speaking UNIX: Command the power of the command line
featuring Z-Shell:
Speaking UNIX, Part 2
Speaking UNIX, Part 3
There's also the zsh-lovers project over at http://grml.org/zsh/ which has some nifty things.
And, a few more links for ya:
http://strcat.neessen.net/zsh/
http://zshwiki.org/
http://www.rayninfo.co.uk/tips/zshtips.html
Current version (based on Cygwin 1.5.x):
ChangeLog for zsh-4.3.5
ChangeLog for zsh-4.2.6
setup.hint for zsh-4.3.5
setup.hint for zsh-4.2.6
| file | md5sum |
|---|---|
| zsh-4.3.5-1.tar.bz2 | (08575a05305c0e0e2fc339fede426466) |
| zsh-4.3.5-1-src.tar.bz2 | (d4e2d024bfdf4ba3ca5d1f0a0a9f6a51) |
| zsh-4.2.6-2.tar.bz2 | (f0ca80f4361dca852e41d1ab23b5dd3e) |
| zsh-4.2.6-2-src.tar.bz2 | (d22e3e57b2c2f24007ef341b7904168f) |
Older versions (based on Cygwin 1.5.x):
| file | md5sum |
|---|---|
| zsh-4.3.4-1.tar.bz2 | (c6d235740587fd7e9dac765348ae7ae8) |
| zsh-4.3.4-1-src.tar.bz2 | (f0dcc850378662690fbe98d2a1c17abb) |
| zsh-4.3.2-1.tar.bz2 | (5a56ac0a77419e7451761885b25d3893) |
| zsh-4.3.2-1-src.tar.bz2 | (33ed0227163b1113131f97318d3a28f0) |
| zsh-4.2.6-1.tar.bz2 | (70e11b87762babf4bcf683cb07785842) |
| zsh-4.2.6-1-src.tar.bz2 | (d2dddf3bd1abda18d9b0f618371d88f2) |
| zsh-4.2.5-1.tar.bz2 | (bbc56cbf4932f8cdbb637d595dccd793) |
| zsh-4.2.5-1-src.tar.bz2 | (f1f8916c38f9f283c09f80083957507e) |
| zsh-4.2.4-1.tar.bz2 | (83f9fcd3d40c15fa7c37b01cf0b1495f) |
| zsh-4.2.4-1-src.tar.bz2 | (d704b978b7efdc86784acc100e3900f6) |
| zsh-4.2.3-1.tar.bz2 | (8b6b74326ece1e78beb8831ce0b57c82) |
| zsh-4.2.3-1-src.tar.bz2 | (5d7b7e25bdb2803d4533f89d613a4f85) |
| zsh-4.2.1-1.tar.bz2 | (4dbb885c47759027942e977fd428f4f9) |
| zsh-4.2.1-1-src.tar.bz2 | (291c26f9734929aeccd2eeb7feaa431a) |
| zsh-4.2.0-2.tar.bz2 | (0f4045705c5a6068d4b2672bdaa4e1ff) |
| zsh-4.2.0-2-src.tar.bz2 | (74a312f163911f97b7bffe9e88ba7d82) |
| zsh-4.2.0-1.tar.bz2 | (a945536aa48a9f3b3e28a272d445f40c) |
| zsh-4.2.0-1-src.tar.bz2 | (4625af8503d7bfa6b2e7475ff450abc0) |
| zsh-4.1.1-3.tar.bz2 | (4c214ca56ceea597998e565a309356f1) |
| zsh-4.1.1-3-src.tar.bz2 | (1753165913f7005cab46d077c8ac97bf) |
| zsh-4.1.1-2.tar.bz2 | (69958f289ba48ab9669bd00c58984a03) |
| zsh-4.1.1-2-src.tar.bz2 | (068af3bb22f1641c432c1a38131d6706) |
| zsh-4.1.1-1.tar.bz2 | (4d7c8f478d0c7606ef1537570174754c) |
| zsh-4.1.1-1-src.tar.bz2 | (5b4f66fd58f7eb72daf76609398b481b) |
| zsh-4.0.7-2.tar.bz2 | (157fed766fe8133c82540dba9204ae0a) |
| zsh-4.0.7-2-src.tar.bz2 | (140f8706cf336d6b9de12e8ce40c643e) |
Older versions (based on Cygwin 1.3.x):
| file | md5sum |
|---|---|
| zsh-4.0.7-1.tar.bz2 | (438eb74ba34d5f9bbf22eb98af1feca2) |
| zsh-4.0.7-1-src.tar.bz2 | (728a055cd9e511b650d48a11d8c8f97b) |
| zsh-4.0.6-5.tar.bz2 | (80a684e6bb1b5e7c5eb8661c7dbe017d) |
| zsh-4.0.6-5-src.tar.bz2 | (fa557d28ca05d25814b8d188e42a574b) |
| zsh-4.0.6-3.tar.bz2 | (1716f330f3dc46aa4d0594a1f2c41749) |
| zsh-4.0.6-3-src.tar.bz2 | (c66e8799cc0fd92a92e50bda6b8c3801) |
| zsh-4.0.6-2.tar.bz2 | (086323f1c5a271986fffb3e238da49e3) |
| zsh-4.0.6-2-src.tar.bz2 | (078db3869e0ef35a42d2c265a95fe1a3) |
| zsh-4.0.6-1.tar.bz2 | (902f6da10119b0d7444ca07b78744e60) |
| zsh-4.0.6-1-src.tar.bz2 | (733fe3ad9ec908b08399b0df9be78273) |
| zsh-4.0.4-1.tar.bz2 | (bff92b2a2d33e9c4763c89a475ad9355) |
| zsh-4.0.4-1-src.tar.bz2 | (62ac02714f88098330b09b98bdbffd85) |
Current version:
setup.hint for zsh-lovers-0.6c1
| file | md5sum |
|---|---|
| zsh-lovers-0.6c1-1.tar.bz2 | () |
| zsh-lovers-0.6c1-1-src.tar.bz2 | () |
BTW, Paul had this idea for a standalone version of c3270 (Curses based),
one which didn't require you to install Cygwin in order to be used.
I've taken his idea and packaged c3270 such that it is, essentially,
standalone. Actually it's a collection of the minimum set of files/DLLs
needed to run c3270.
Note: The GPL requires that I make available the source for the
binaries I'm distributing. Included in the package is a 'packages.lis' file
which contains the names of the Cygwin packages from which I took various
files in order to create this standalone version. Those packages,
and their source distributions, are available from my
Cygwin Mirror.
See the c3270-standalone-X.Y.Z.zip file below.
Current version (based on Cygwin 1.5.x):
setup.hint for suite3270
setup.hint for c3270
setup.hint for pr3287
setup.hint for s3270
setup.hint for tcl3270
setup.hint for x3270
| file | md5sum |
|---|---|
| suite3270-3.3.4p7-1.tar.bz2 | (c5b6a23aac3560ed2fe5d5fad2388988) |
| suite3270-3.3.4p7-1-src.tar.bz2 | (2cc677d28e0ada11a2f8fda330c12f32) |
| c3270-3.3.4p7-1.tar.bz2 | (ded1d4e93de6449310ebebc8b7efe3ea) |
| c3270-standalone-3.3.4p7-1.zip | (040e73b0dac116fa8fdae66d8af7df5c) |
| pr3287-3.3.4p7-1.tar.bz2 | (b831c34efe3972a14da2d9c4b4ec2a96) |
| s3270-3.3.4p7-1.tar.bz2 | (37ff2f86957601891f51568e0bac52ae) |
| tcl3270-3.3.4p7-1.tar.bz2 | (070635f3df40a7cdcde940d89a6634f3) |
| x3270-3.3.4p7-1.tar.bz2 | (fa23ee2d5d5e12a900f5f5284e7b55e6) |
Older versions:
| file | md5sum |
|---|---|
| suite3270-3.2.20-1.tar.bz2 | (207cc1a6655bf5152f2fab944d4ccf7e) |
| suite3270-3.2.20-1-src.tar.bz2 | (71982441f2ca037189693628e3f330b2) |
| c3270-3.2.20-1.tar.bz2 | (132d4f15a4634ad93111a5417e295a72) |
| c3270-standalone-3.2.20-1.zip | (219d028a8b2b4ec74c90865ceb2661cf) |
| pr3287-3.2.20-1.tar.bz2 | (5f6979d35787768efcdb84cb65630e10) |
| s3270-3.2.20-1.tar.bz2 | (30cfbd3574dc31eb9c42816f2125b61d) |
| tcl3270-3.2.20-1.tar.bz2 | (8a2e8ee6c2ebd454dff5d8e58151f8e3) |
| x3270-3.2.20-1.tar.bz2 | (cbe0883d6c4a50e362a420e8599cb6a8) |
Current version (based on Cygwin 1.5.x):
| file | md5sum |
|---|---|
| setup.hint for icu | |
| icu-3.2-1-src.tar.bz2 | (71f90dd66760e83611a5c2c9a5629d44) |
| icu-3.2-1.tar.bz2 | (25685d5c7100fb92e31521c59369ed9a) |
| setup.hint for icu-locales | |
| icu-locales-3.2-1.tar.bz2 | (13409734e76d302eb14c6bdb0ac488a0) |
| setup.hint for libicu | |
| libicu-3.2-1.tar.bz2 | (d11333201ce54224b489040d8abdf707) |
| setup.hint for libicu-devel | |
| libicu-devel-3.2-1.tar.bz2 | (c248d7611fc22a7c6f3f71a6971480ed) |
Current version (based on Cygwin 1.5.x):
| file | md5sum |
|---|---|
| setup.hint for yodl | |
| yodl-1.31.18-1-src.tar.bz2 | (ac242f08fbf4ae78ecb7d2df133ef514) |
| yodl-1.31.18-1.tar.bz2 | (5cc36ee0a366a30af3474707155476c4) |
This webserver is an unofficial mirror for the
cygwin.com web site.
Currently I sync from
ftp://mirrors.kernel.org/sources.redhat.com/cygwin
everyday at 4:10AM (PST).
I created my own mirror because I found that I might un-install/re-install
several packages during various tests and waiting for the packages to
download got a little tedious at times (eg: reloading things like gcc, emacs,
etc). I could have simply downloaded it to my test system directly and then
reloaded, but some of my testing tends to be a little destructive of the
system and might corrupt the downloaded packages, so mirroring
Cygwin while I'm asleep seemed appropriate (besides the speed of my internal
network is much faster than my DSL line to the 'Net).
I make this mirror available in the highly unlikely situation that the other
30 or so official mirrors are down (ya, right :-)
Additionally, I have been keeping every version of all packages starting back
on April of 2002 (or possibly November 2001 .. not sure about this ..).
I've also been archiving all setup.ini, setup.hint and
md5.sum files for all packages since March 2003. If you need a specific
version of these files, I might be able to provide it to you. Why? Well,
if you work for a company who wants to maintain a specific "version" of
Cygwin, then keeping and using an older setup.ini, and the corrosponding
packages, would really be useful. As for myself, I feel that change is good
and the latest "version" of Cygwin is more likely to provide a better
working environment and the latest fixes.
In setup, enter
"ftp://www.fruitbat.org/pub/cygwin"
as a User URL in the "Choose a Download Site".
UPDATE: Cygwin is taking a giant leap forward with it's next major revision: 1.7! But it's still experimental as of yet. So, it's off in it's own special release area (release-2). In honor of this, the Cygwin Time Machine is now archiving this special release area and providing cira snapshots. See here for some details.
UPDATE: As of 4/21/2005, the Cygwin Time Machine has be reformatted! What does this mean? Previously the circa of Cygwin was created based on the date & time I archived setup.ini. Since all archive revisions of setup.ini were linear and progressive in time and somewhat close to the actual release of that revision of setup.ini, this mostly worked. However, since I've been receiving older versions of setup.ini (Thank You to all who have contributed!) I no longer have a correlation between the timestamp within setup.ini and the date & time I archived it. So, something had to be done. I've changed the creation process so that now all circa are based on the actual setup-timestamp within each revision if setup.ini. What does that mean? Well, for starters, it gives it a direct correlation between the timestamp and the circa directory hierarchy. That's a good thing. However, since this nolonger has relation to the previously generated circas, the master index and all circa indexes are now different. That's a not-so-good thing. What's that mean? Well, if you previously found a timestamp in the master index and used the provided web link to get that circa of cygwin, well, the web link has now changed. However, in the interests of providing a consistent service, I've left, intact, the previous circa directory hierarchy for those who have already used the Time Machine.
Against my better judgement, I've decided to make available older "versions" of Cygwin. A kind of limited "time machine". How, you may ask? The mirror I maintain contains every version of every package of Cygwin, as of the date given (March of 2003). Each time I sync, I also keep a revision of setup.ini to match the download. This represents a snapshot in time. I've setup a directory hierarchy, based on datestamp, which allows you to run setup against and get the packages of that "era".
It's fairly simple to use. First, goto "ftp://www.fruitbat.org/pub/cygwin/circa/index.html". This is the top-level of the time machine. From there you'll see a whole bunch of Cygwin "versions", datestamps and FTP URL paths. These represent the revisions of Cygwin as of that date. The URLs are ment to be used as a package source path when you run setup.
For example. Say you want the January 21st, 2005 at 9:20:32am "version" (which is also setup-timestamp: 1106328032):
Version Setup Circa Link
Timestamp Version
1.5.12-1 1106646639 2.457.2.1 2005/01/25-015039 ftp://www.fruitbat.org/pub/cygwin/circa/2005/01/25/015039
1.5.12-1 1106328032 2.457.2.1 2005/01/21-092032 ftp://www.fruitbat.org/pub/cygwin/circa/2005/01/21/092032
Find it in the list, then select the ftp URL, copy it using your browsers' clipboard, then run setup and when prompted for the package source location, paste in the string. Or, say you have a partial package installation already and find you need other packages from that era. Check the setup.ini that should be stored with the packages in your download area. Near the top should be a 'setup-timestamp' entry. Take that number and find it in the list and you'll be able to grab the rest of the packages from that same era. Oh, if you click on the Circa link, you'll get a list of all packages and their revisions of that era.
Now, say you don't find your timestamp in the list. Don't Panic! It's very possible that I do have the packages that make it up. Since each setup.ini is a window in time (somewhat like a TCP sliding window :-), it's very possible that the Time Machine has collected all the packages before, during and after that time frame, just not that specific setup.ini. Thus, all you need to do is send me the setup.ini. I'll check that I do have all packages from that circa, and then I'll add it to the Time Machine, thus making it available to everyone (oh, and you too :). And, if I happen to be missing certain files, I'll probably ask if you happen to have a copy. Check out the current list of Holes in Time.
Yes, Cygwin is making a major leap forward with it's nextgen version: 1.7. But, it's not quite ready for primetime. So, you have to do something a little special to play with it.
First, there's a different setup program you need to get and run: setup-1.7.exe
Second, in order to use it with the Time Machine, you need to point to the new circa release area. Go here "ftp://www.fruitbat.org/pub/cygwin/circa-2/index.html" and get the path link to the circa you want. Then, follow he same procedure you'd use for the regular Time Machine. It's that simple! No, really!
WARNING: The Time Machine is experimental! Use at your own discretion, void where prohibited, no money back guarantee, your mileage may vary, do not induce vomiting if swallowed, and last (but not least) DO NOT TAUNT HAPPY-FUN BALL! (really, it's for your own good :).
Let me state that there is no formal support for older era Cygwin, and my offering this in no way implies any responsibility by the Cygwin community to support (or even condone) it as such. Cygwin is a constantly moving project and as such really only offers a "current" release of it's products, which can, and do, change on a daily basis. The Time Machine is being offered out of gratitude to the Cygwin maintainers and contributors for their efforts in making Cygwin possible, and as a practical way for people to examine the project as it matures (a historical retrospective, if you will). There has been need in the past for people to install older era Cygwin. The reasons are numerous and often stem from needing to maintain older software dependent on older Cygwin or as a way to examine how some packages had evolved over time, possibly to extract some of that older code for examination.
You may use this software knowing that there are bugs. If there weren't bugs, the project would be fairly static. But it's not. Did I mention it changes on a daily basis? Anyway, if you find a bug, or have a problem, you have three options:
This should be self-explanatory (hey, it's free after all!).
This means you might be able to solve your problems with minimal change in software. This only works if your specific problem had been addressed at some point by the project. Finding that information is difficult but may be buried in the Cygwin email archives.
This is the prefered method as it means you will be using current Cygwin and stand a ghost of a chance of possibly getting it solved via the Cygwin email list and community. I understand that it's not always possible to take this option, but if you can, that will be the most expedient way of handling the problem.
Now, be that as it may, I will attempt to answer questions or problems (see Contact below) that people might have concerning installing older era Cygwin throught the Time Machine.
Oh, and one other thing. Please do not annoy the good people of the Cygwin list with questions about ancient versions of Cygwin (like "B20"). It only makes them mean (well, meaner :). Seriously, the Cygwin community is focused on moving forward, not looking back.
I should state here that using the Time Machine is not for the faint of heart. You can quite literally destroy your Cygwin environment, damage the Registry, make your lights blink on and off, cause massive power outages in your neighborhood and otherwise cause the total destruction of the earth! (Oh, wait... sorry ... been watching too much Doctor Who again :). But seriously, you can chowder your Cygwin environment if you are not careful.
If you have an existing Cygwin installation and feel the need to go back to a previous era of Cygwin, please consider carefully backing up your environment first. What I mean by this is saving anything you've changed with reguard to init files or /etc files. Why? Because I'm going to give you some practical advice: If you want to install a previous era of Cygwin, it's best to de-install everything first, delete everything under your Cygwin root directory and then install the chosen era of Cygwin. Why? Because this is the best possible option for giving you a clean environment with which to start from.
In theory you should simply be able to select the older version of any/all packages and the installer will remove the "new" packages first, then install the "old" ones. In practice it's not so cut and dried. As the packages are revised and improved, things move around and bits and pieces either get left behind or get renamed or checked for where previously they did not. It's best to simply clear the disk to ensure those left over bits don't break things. Another reason has to do with package dependencies. Over time packages might change their requirements of what they need to work properly. As newer packages become available, older packages may be renamed, or subsumed into other packages and thus the original package be retired. So, you could downgrade just one package and cause several other "retired" packages to be re-installed and possibly cause overlay and corruption of other "new" packages. The same is true upgrading from a truely vintage era (eg: "B20" or 1.3.10) to current time (1.5.18).
One last reason has to do with the progress of software development. A given package could provide a set of functionality early in life, then much later completely change that functionality requiring applications that use it to change as well. This is not only true of Cygwin, mind you, but of all software. Software is mostly about synergy; things working together in concern. Like an orchestra, get one horn blowing the wrong notes and the whole symphony falls apart. To maintain the synergy of a given era of Cygwin, it's best to load everything cleanly.
Now, given the above, you can throw caution to the wind and upgrade or downgrade willy-nilly. Most people using the Time Machine will either simply be grabbing the rest of the packages from an era that matches what they already have, or be slowly, carefully, migrating through time to the next era up or down from their current point in time. This should mostly be safe, unless you are crossing a major Cygwin release boundary, say going from version 1.3.22-1 to version 1.5.3-1. That might not be so smooth.
So, please, for the sake of your hair and my sanity (as well as everyone else who uses Cygwin), play in a clean sandbox. You'll thank me later.
!ALERT! Table updated as of 07/18/2006 !ALERT!
Here's how you can help the project. I'm always on the lookout for
old setup.ini files (or packages I'm missing which are part of
a given circa). These represent the snapshots of Cygwin.
The Time Machine currently only goes reliably back to 03/11/2003
(setup-timestamp: 1047280802) though there are some circa stored
from before then.
Normal usage of Setup.exe means downloading the necessary packages into
a "download directory". This directory will also contain the matching
setup.ini file.
In your daily encounters with Cygwin, or people who might be using Cygwin,
please spend a minute and look at the timestamps in the setup.ini
in the download area. If the timestamp predates 1047280802 (ie:
is a smaller number) then please request that a copy of that file be
emailed to me (see Contact below).
My mirror predates the Time Machine, and so it's possible that I could
materialize even older circa of Cygwin if I only had the setup.ini
to go with it.
So, please, if you find an old dusty PC which hasn't been running in a while
and you think it might have Cygwin on it, please give it a once over. Or
if you have a buddy who hasn't upgraded his Cygwin in quite some time,
please ask to examine his setup.ini. I thank you for your participation.
From time to time the Time Machine breaks down (rather like a real
Tardis, eh?). As
a result, there are gaps in the chronology. This means
some packages weren't copied or that a circa of setup.ini
failed to be archived.
Below is a table containing the known gaps in Cygwin history that
need to be filled.
If you happen to have one of the missing files dated as such,
please send me a copy. I thank you and those who use the Time Machine
thank you!
(Current list of gaps in Cygwin Time Machine chronology)
| File | Date | Timestamp | ||||
|---|---|---|---|---|---|---|
| Name | From | - | To | From | - | To |
| setup.ini | 05/13/2006 | - | 07/14/2006 | 1147567204 | - | 1152906012 |
| setup.ini | epoch | - | 03/11/2003 | epoch | - | 1047280802 |
Part of the development of Cygwin involves making available un-released versions of the Cygwin primary package (the "cygwin dll" as most know it) available for testing by people experiencing a specific problem or issue. These are experimental versions, released as snapshots from the Cygwin website (http://www.cygwin.com/snapshots/). They represent various experiments in fixing broken or otherwise incorrect behaviour in the base cygwin system. I consider these to be important enough to be provided via the time machine, again for the purposes of studying a system in transition.
At the moment, the snapshots are simply being pulled on a daily basis and archived here: ftp://www.fruitbat.org/pub/cygwin/snapshots/. Later these will be presented in a fashion similar to the time machines' presentation of the Cygwin distribution. More on this later...
Charles Wilson maintains several utilities for Cygwin. These can be found at http://cygutils.fruitbat.org.
Last Updated: 04/23/2008