Thread overview
DMD archive's format
Jul 19, 2004
Pac
Jul 19, 2004
J C Calvarese
Jul 20, 2004
Pac
Jul 20, 2004
Trejkaz Xaoza
Jul 22, 2004
Pac
Jul 22, 2004
Rod Haper
Jul 22, 2004
Pac
Jul 22, 2004
J C Calvarese
July 19, 2004
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
July 19, 2004
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/
July 20, 2004
>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
July 20, 2004
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


July 20, 2004
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.


July 22, 2004
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
July 22, 2004
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
July 22, 2004
> [...]

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
July 22, 2004
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/