www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - DMD archive's format

reply Pac <Pac_member pathlink.com> writes:
Hello,


why the current archive for the D compiler is called dmd.zip
(ftp://ftp.digitalmars.com/dmd.zip) and not dmd-$VERSION.zip ?




Pac
Jul 19 2004
parent reply J C Calvarese <jcc7 cox.net> writes:
Pac wrote:
 Hello,
 
 
 why the current archive for the D compiler is called dmd.zip
 (ftp://ftp.digitalmars.com/dmd.zip) and not dmd-$VERSION.zip ?
 
 
 
 
 Pac

This issue has been brought up before. Walter would prefer that we only use the latest version, so the only zip that can be downloaded from Digital Mars is the most recent version. Also, since the filename doesn't change, he doesn't have to edit the link in the HTML to the latest file. Several people have requested that he add the version to the filename, but their arguments haven't persuaded him. <rant> It may seem like a small request, but Walter's happy with dmd.zip, and I'd rather he spent his time adding cool new stuff to the compiler and fixing bugs that worrying about what to name the file each time. </rant> Whew. I feel better now. -- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
Jul 19 2004
parent reply Pac <Pac_member pathlink.com> writes:
This issue has been brought up before.

Walter would prefer that we only use the latest version, so the only zip 
that can be downloaded from Digital Mars is the most recent version.

Also, since the filename doesn't change, he doesn't have to edit the 
link in the HTML to the latest file.

Several people have requested that he add the version to the filename, 
but their arguments haven't persuaded him.

IMHO packaging the D compiler and phobos for Debian, Gentoo or other package manager system will be easier if we had a ${VERSION} in the archive name. Pac
Jul 19 2004
parent reply Trejkaz Xaoza <trejkaz xaoza.net> writes:
In article <cdi0c2$vrs$1 digitaldaemon.com>, Pac says...
IMHO

packaging the D compiler and phobos for Debian, Gentoo or other package manager
system will be easier if we had a ${VERSION} in the archive name.

I agree. I was going to bring this up once before, but ignored it since I wasn't sure if anyone else felt the same way. Many of these package management tools are built around the assumption that a file with a given name never changes. They hold checksums to the known file so that a hacker can't just slip onto a server and replace the zip with some evil code. This checksum unfortunately breaks when a new version comes out and is given the same filename, so my ebuilds which worked before I sent them to a colleague might not work by the time they get them. I see no problem with offering a dmd.zip, or dmd-latest.zip, or whatever, just so long as the few most recent versioned zips are available at the same time. TX
Jul 19 2004
parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
i've never used debian or linux, but surely there is a way to *rename* the
file.  might take you all of 2 seconds to rename it to "dmd-$095.zip" or
whatever.
Jul 20 2004
parent reply Pac <Pac_member pathlink.com> writes:
In article <cdjtfe$1rdl$1 digitaldaemon.com>, Jarrett Billingsley says...
i've never used debian or linux, but surely there is a way to *rename* the
file.  might take you all of 2 seconds to rename it to "dmd-$095.zip" or
whatever.

well I do know the version number ? How do I automate all the process. That's not so simple. Pac
Jul 21 2004
parent reply Rod Haper <rhaper houston.rr.com> writes:
Pac wrote:
 In article <cdjtfe$1rdl$1 digitaldaemon.com>, Jarrett Billingsley says...
 
i've never used debian or linux, but surely there is a way to *rename* the
file.  might take you all of 2 seconds to rename it to "dmd-$095.zip" or
whatever.

well I do know the version number ? How do I automate all the process. That's not so simple. Pac

This brute force bash shell script will do the job: ---------------------------------------------------------- #!/bin/env bash if [ -e /tmp/dmd ]; then rm /tmp/dmd fi unzip -jqq dmd.zip dmd/bin/dmd -d /tmp chmod +x /tmp/dmd vers_line=(`/tmp/dmd | grep "Digital Mars D Compiler v"`) version=`echo ${vers_line[4]} | cut -b2- -` mv dmd.zip dmd-$version.zip rm /tmp/dmd ---------------------------------------------------------- Just run this script in the directory where you have your dmd.zip archive and it will be renamed to dmd-{version}.zip. For example, version 0.95 of the dmd.zip archive file will be renamed to dmd-0.95.zip. Note that this script depends upon the version number being in the fifth word of the version line and that the version be prefaced with a single character (currently a "v") and any changes in this version line format reported by dmd will require changes to the script. You also obviously will need write access to dmd and /tmp and the various utilities used must be in your PATH. I really don't think it is worth the effort but if you just have to automate the process then use this script. Modify it as required for your system. --- Rod
Jul 21 2004
parent reply Pac <Pac_member pathlink.com> writes:
 [...]

Your script is really cool but it does not solve the problem. How do I provide multiple ebuild (Gentoo) files so the user will be able to install multiple version of the same package ? Why DigitalMars does not provide all released versions of the D compiler ? Do they wait the 1.0 release ? Every other languages/compiles provide version number in the archive name and the old archives why not D ? As soon as the 1.0 version is out, it will be very nice to be able to install 1.0 and the hypothetic 2.0 development release. Pac
Jul 22 2004
parent J C Calvarese <jcc7 cox.net> writes:
Pac wrote:
[...]

Your script is really cool but it does not solve the problem. How do I provide multiple ebuild (Gentoo) files so the user will be able to install multiple version of the same package ?

I don't know.
 
 Why DigitalMars does not provide all released versions of the D compiler ? Do
 they wait the 1.0 release ?

Part of the reason that the old versions "disappear" is that Walter doesn't want people submitting bugs with version 0.90 when he's already released 0.96. I would think this practice would change after DMD 1.0 is released. I'd really be surprise if there weren't at least a couple version available in the journey toward 2.0 (a stable version that handles only features of the 1.0 spec and an experimental version with new features).
 
 Every other languages/compiles provide version number in the archive name and
 the old archives why not D ?

"Every" may be true if you're only talking about the GNU/Linux realm, but it turns into "most" or "many" if you put Windows compilers into the mix.
 
 As soon as the 1.0 version is out, it will be very nice to be able to install
 1.0 and the hypothetic 2.0 development release.

Sure, that'd be great. We're just not there yet. (We're still pre-1.0.)
 Pac

-- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
Jul 22 2004