This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
[Ready for test/1.5.0] gdbm-1.8.3-4, libgdbm4
- From: "Charles Wilson" <cygwin at cwilson dot fastmail dot fm>
- To: cygwin-apps at cygwin dot com
- Date: Sun, 20 Jul 2003 06:11:06 -0400
- Subject: [Ready for test/1.5.0] gdbm-1.8.3-4, libgdbm4
Okay, thanks to Pierre's contributions, we may have a solution for
gdbm...
I've just posted an *official* new release of gdbm to the main list. I
reverted my entire system to 1.3.22 status (no test packages at all), and
rebuilt gdbm with Pierre's programs. That's the new, curr: release
(1.8.3-3)
Then, I moved forward again to all-testing-1.5.0, and put this package
together (1.8.3-4).
I bumped the DLL version number, so the two DLLs (cyggdbm-3.dll and
cyggdbm-4.dll) can both coexist. So un-recompiled programs that rely on
gdbm (like cvs!) will continue to work with the -3 dll and all will be
well.
I also included copies, precompiled, of Pierre's programs. So,
gdbm-1.8.3-4 contains:
dumpgdbm-1.3.22.exe
loadgdbm-1.3.22.exe
statically linked against gdbm (-3 version) on a 1.3.22 system
loadgdbm-1.5.0.exe
dumpgdbm-1.5.0.exe
statically linked agaisnt gdbm (-4 version) on a 1.5.0 system
loadgdbm.exe
dumpgdbm.exe
same as the -1.5.0 versions.
There's also a script, as suggested by Pierre, convert-gdbm:
#!/bin/sh
dumpgdbm-1.3.22 $1 | loadgdbm-1.5.0 $1.cygnew && \
mv $1 $1.bak && mv $1.cygnew $1
It seems to work fine, and converts the databases so that the new gdbm
can read them. However, the conversion tools are not idempotent. Take a
database generated on a cygwin-1.5.0/gdbm-1.8.3-4 system (use testgdbm or
something).
then,
dumpgdbm-1.5.0 my.db | loadgdbm-1.5.0 new.db
diff my.db new.db
They will be different, because the ORDER in which the records are
written is not necessarily the same. But all of the records are there,
so...
BTW, assuming this works, this little gotcha needs to be in the
cygwin-1.5.0 mega-announcement, when we throw the switch and make all of
this "current".
---------------------
Note that database files generated by gdbm under cygwin-1.3.22 are NOT
compatible with gdbm on cygwin-1.5.0 (nor vice versa). To convert, you
should use the 'convert-gdbm' script on the appropriate database files
(after backing them up, of course). Now, you may not be aware of any
gdbm databases on your system. At present, the known users of gdbm are
cvs : convert ${CVSROOT}/CVSROOT/modules.db and val-tags.db
exim
some perl applications
---------------------
Anyway, please test, and give feedback.
Thanks.
--
Charles Wilson
cygwin at removespam cwilson dot fastmail dot fm