www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Install check?

reply Georg Wrede <georg nospam.org> writes:
It seems to be usual to "download D" and then not have the thing work 
off the bat. (d.D.learn has some excellent examples, and many of them by 
able people, some even with a long C++ background.)

With two compilers, all the platforms (Windows, Mac, various Linuxes) 
and at least two lucrative base libraries (Tango and Phobos) -- and 
especially since the newcomer can't simply choose like "compiler, OS, 
lib, root/luser" etc, and simply have a self-installing complete binary 
automatically sent to you (hint, hint), I suggest the following:

Just like hello.d we should have a checkinstall.d that you should try to 
build. It would have static asserts (or whatever it takes) that inform 
the user about what's wrong. Probably one should first run a 
checkinstall.{sh|bat} too to inform of the most basic problems.

Such should be standard issue with all distributions.

Today, many end up tweaking paths, library paths, choosing install 
directories, contents and placements of the "ini" file, and whatnot. Of 
course such could ultimately be avoided by adequate and prominent 
documentation and targeted binary installs. But the checkinstall stuff 
is more robust and could in principle be bullet proof. As in, either it 
passes, or it discovers what's wrong. Oh, and how to remedy that.

After all, there are only so many places where the train can derail, but 
figuring out these is unnecessary hard for precisely the people who do 
stumble on them.
May 08 2007
next sibling parent janderson <askme me.com> writes:
I completely agree.  D should be so easy to begin using that people will
become fans by accident.

Georg Wrede wrote:
 It seems to be usual to "download D" and then not have the thing work 
 off the bat. (d.D.learn has some excellent examples, and many of them by 
 able people, some even with a long C++ background.)
 
 With two compilers, all the platforms (Windows, Mac, various Linuxes) 
 and at least two lucrative base libraries (Tango and Phobos) -- and 
 especially since the newcomer can't simply choose like "compiler, OS, 
 lib, root/luser" etc, and simply have a self-installing complete binary 
 automatically sent to you (hint, hint), I suggest the following:
 
 Just like hello.d we should have a checkinstall.d that you should try to 
 build. It would have static asserts (or whatever it takes) that inform 
 the user about what's wrong. Probably one should first run a 
 checkinstall.{sh|bat} too to inform of the most basic problems.
 
 Such should be standard issue with all distributions.
 
 Today, many end up tweaking paths, library paths, choosing install 
 directories, contents and placements of the "ini" file, and whatnot. Of 
 course such could ultimately be avoided by adequate and prominent 
 documentation and targeted binary installs. But the checkinstall stuff 
 is more robust and could in principle be bullet proof. As in, either it 
 passes, or it discovers what's wrong. Oh, and how to remedy that.
 
 After all, there are only so many places where the train can derail, but 
 figuring out these is unnecessary hard for precisely the people who do 
 stumble on them.

May 08 2007
prev sibling next sibling parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Georg Wrede wrote:

 With two compilers, all the platforms (Windows, Mac, various Linuxes) 
 and at least two lucrative base libraries (Tango and Phobos) -- and 
 especially since the newcomer can't simply choose like "compiler, OS, 
 lib, root/luser" etc, and simply have a self-installing complete binary 
 automatically sent to you (hint, hint), I suggest the following:

I built binaries of D 1.0, and plan to build another set with Tango 1.0 They didn't make it upstream as official binaries, simply because the maintainers (DMD and GDC) prefers to offer ZIP archives or TBZ tarballs. When/if they do, the gdcwin/gdcmac/gdcgnu projects will all be obsolete.
 Just like hello.d we should have a checkinstall.d that you should try to 
 build. It would have static asserts (or whatever it takes) that inform 
 the user about what's wrong. Probably one should first run a 
 checkinstall.{sh|bat} too to inform of the most basic problems.
 
 Such should be standard issue with all distributions.

I'm sure such a program or script would be a welcome addition to D.
 Today, many end up tweaking paths, library paths, choosing install 
 directories, contents and placements of the "ini" file, and whatnot. Of 
 course such could ultimately be avoided by adequate and prominent 
 documentation and targeted binary installs. But the checkinstall stuff 
 is more robust and could in principle be bullet proof. As in, either it 
 passes, or it discovers what's wrong. Oh, and how to remedy that.

All my GDC installers follow the same pattern, no tweaking required. You can just install the EXE/PKG/RPM, and it will use the standard system locations for the installation. No documentation yet, except: http://www.prowiki.org/wiki4d/wiki.cgi?D__Tutorial/InstallingDCompiler --anders
May 09 2007
prev sibling next sibling parent reply Nicolai Waniek <no.spam thank.you> writes:
Hi,

I agree with you and as soon as I have some spare time (and a win32 machine
under my fingers) and if you guys wish it, i'll write an inno setup script for D
so walter could package a Win32 installer. Inno Setup is for free, but i'll have
to read the licence so there are no licence infringements.

This could - of course - then be adopted by the tango team :)

regards and give me some time, possibly I have some this evening







Georg Wrede wrote:
 It seems to be usual to "download D" and then not have the thing work
 off the bat. (d.D.learn has some excellent examples, and many of them by
 able people, some even with a long C++ background.)
 
 With two compilers, all the platforms (Windows, Mac, various Linuxes)
 and at least two lucrative base libraries (Tango and Phobos) -- and
 especially since the newcomer can't simply choose like "compiler, OS,
 lib, root/luser" etc, and simply have a self-installing complete binary
 automatically sent to you (hint, hint), I suggest the following:
 
 Just like hello.d we should have a checkinstall.d that you should try to
 build. It would have static asserts (or whatever it takes) that inform
 the user about what's wrong. Probably one should first run a
 checkinstall.{sh|bat} too to inform of the most basic problems.
 
 Such should be standard issue with all distributions.
 
 Today, many end up tweaking paths, library paths, choosing install
 directories, contents and placements of the "ini" file, and whatnot. Of
 course such could ultimately be avoided by adequate and prominent
 documentation and targeted binary installs. But the checkinstall stuff
 is more robust and could in principle be bullet proof. As in, either it
 passes, or it discovers what's wrong. Oh, and how to remedy that.
 
 After all, there are only so many places where the train can derail, but
 figuring out these is unnecessary hard for precisely the people who do
 stumble on them.

May 09 2007
next sibling parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Nicolai Waniek wrote:

 I agree with you and as soon as I have some spare time (and a win32 machine
 under my fingers) and if you guys wish it, i'll write an inno setup script for
D
 so walter could package a Win32 installer. Inno Setup is for free, but i'll
have
 to read the licence so there are no licence infringements.

We wrote scripts for NSIS, which is free (both cost and license). Think I still have them up on my site, if you want to have a look: http://www.algonet.se/~afb/d/dmc-setup.html (for DMC 8.49) http://www.algonet.se/~afb/d/dmd-setup.html (for DMD 1.00)
 This could - of course - then be adopted by the tango team  :) 

Think Tango already has a redistribution agreement for DMD, and offer installers of Tango and DMD (but without Phobos) ? Look at http://dsource.org/projects/tango/wiki/DmdDownloads --anders
May 09 2007
prev sibling next sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Nicolai Waniek wrote:

 Hi,
 
 I agree with you and as soon as I have some spare time (and a win32
 machine under my fingers) and if you guys wish it, i'll write an inno
 setup script for D so walter could package a Win32 installer. Inno Setup
 is for free, but i'll have to read the licence so there are no licence
 infringements.
 
 This could - of course - then be adopted by the tango team :)

As far as I know, we already have an Inno Setup installer for Tango, bundling DMD. Feel free to suggest improvements though :) -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
May 09 2007
parent reply Pragma <ericanderton yahoo.removeme.com> writes:
Lars Ivar Igesund wrote:
 Nicolai Waniek wrote:
 
 Hi,

 I agree with you and as soon as I have some spare time (and a win32
 machine under my fingers) and if you guys wish it, i'll write an inno
 setup script for D so walter could package a Win32 installer. Inno Setup
 is for free, but i'll have to read the licence so there are no licence
 infringements.

 This could - of course - then be adopted by the tango team :)

As far as I know, we already have an Inno Setup installer for Tango, bundling DMD. Feel free to suggest improvements though :)

I mentioned this further up the thread: Tango needs an "updater" that can be run to update your Tango installation. Upgrading through the past two betas, has been kind of messy since the installer just wants to overwrite everything. IMO, this would also make installing DMD compatibility releases a breeze. -- - EricAnderton at yahoo
May 09 2007
parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
Pragma wrote:

 Lars Ivar Igesund wrote:
 Nicolai Waniek wrote:
 
 Hi,

 I agree with you and as soon as I have some spare time (and a win32
 machine under my fingers) and if you guys wish it, i'll write an inno
 setup script for D so walter could package a Win32 installer. Inno Setup
 is for free, but i'll have to read the licence so there are no licence
 infringements.

 This could - of course - then be adopted by the tango team :)

As far as I know, we already have an Inno Setup installer for Tango, bundling DMD. Feel free to suggest improvements though :)

I mentioned this further up the thread: Tango needs an "updater" that can be run to update your Tango installation. Upgrading through the past two betas, has been kind of messy since the installer just wants to overwrite everything. IMO, this would also make installing DMD compatibility releases a breeze.

Please create a ticket, but I will crack the whip on the next chance ;) -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
May 09 2007
parent Pragma <ericanderton yahoo.removeme.com> writes:
Lars Ivar Igesund wrote:
 Pragma wrote:
 
 Lars Ivar Igesund wrote:
 Nicolai Waniek wrote:

 Hi,

 I agree with you and as soon as I have some spare time (and a win32
 machine under my fingers) and if you guys wish it, i'll write an inno
 setup script for D so walter could package a Win32 installer. Inno Setup
 is for free, but i'll have to read the licence so there are no licence
 infringements.

 This could - of course - then be adopted by the tango team :)

bundling DMD. Feel free to suggest improvements though :)

be run to update your Tango installation. Upgrading through the past two betas, has been kind of messy since the installer just wants to overwrite everything. IMO, this would also make installing DMD compatibility releases a breeze.

Please create a ticket, but I will crack the whip on the next chance ;)

Thanks Lars! http://www.dsource.org/projects/tango/ticket/457 -- - EricAnderton at yahoo
May 09 2007
prev sibling next sibling parent reply Pragma <ericanderton yahoo.removeme.com> writes:
Nicolai Waniek wrote:
 Hi,
 
 I agree with you and as soon as I have some spare time (and a win32 machine
 under my fingers) and if you guys wish it, i'll write an inno setup script for
D
 so walter could package a Win32 installer. Inno Setup is for free, but i'll
have
 to read the licence so there are no licence infringements.
 
 This could - of course - then be adopted by the tango team :)
 
 regards and give me some time, possibly I have some this evening

This made me think: would that script be responsible for looking at ftp.digitalmars.com and installing any *newer* releases as well? This is one thing that's really missing - installing it the first time is one thing, but keeping in sync is another. So much software these days "phones home" on demand*, so why not D? -- - EricAnderton at yahoo
May 09 2007
parent reply Nicolai Waniek <no.spam thank.you> writes:
Pragma wrote:
 Nicolai Waniek wrote:
 Hi,

 I agree with you and as soon as I have some spare time (and a win32
 machine
 under my fingers) and if you guys wish it, i'll write an inno setup
 script for D
 so walter could package a Win32 installer. Inno Setup is for free, but
 i'll have
 to read the licence so there are no licence infringements.

 This could - of course - then be adopted by the tango team :)

 regards and give me some time, possibly I have some this evening

This made me think: would that script be responsible for looking at ftp.digitalmars.com and installing any *newer* releases as well? This is one thing that's really missing - installing it the first time is one thing, but keeping in sync is another. So much software these days "phones home" on demand*, so why not D?

Well no, that wouldn't be possible with InnoSetup i guess, but it would be nice to have a software. Maybe i have a look at something like that because it seems as everyone has an inno script already ;)
May 09 2007
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Nicolai Waniek wrote:
 Pragma wrote:
 Nicolai Waniek wrote:
 Hi,

 I agree with you and as soon as I have some spare time (and a win32
 machine
 under my fingers) and if you guys wish it, i'll write an inno setup
 script for D
 so walter could package a Win32 installer. Inno Setup is for free, but
 i'll have
 to read the licence so there are no licence infringements.

 This could - of course - then be adopted by the tango team :)

 regards and give me some time, possibly I have some this evening

ftp.digitalmars.com and installing any *newer* releases as well? This is one thing that's really missing - installing it the first time is one thing, but keeping in sync is another. So much software these days "phones home" on demand*, so why not D?

Well no, that wouldn't be possible with InnoSetup i guess, but it would be nice to have a software. Maybe i have a look at something like that because it seems as everyone has an inno script already ;)

The NSIS installer can do that kind of thing. Of course you have to write the functionality mostly yourself, but it is possible. --bb
May 09 2007
parent reply Nicolai Waniek <no.spam thank.you> writes:
Bill Baxter wrote:
 
 The NSIS installer can do that kind of thing.  Of course you have to
 write the functionality mostly yourself, but it is possible.
 
 --bb

I didn't have a look at NSIS yet, but maybe that's the thing to use
May 09 2007
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Nicolai Waniek wrote:
 Bill Baxter wrote:
 The NSIS installer can do that kind of thing.  Of course you have to
 write the functionality mostly yourself, but it is possible.

 --bb

I didn't have a look at NSIS yet, but maybe that's the thing to use

I've used both Inno and NSIS. My take is if you've got fairly simple requirements use Inno -- it's much easier and handles the common cases very well. But if you need something special like connecting to the internet, etc, use NSIS. NSIS really makes you write down just about every action explicitly though. For instance you have to put in a command for each file you want installed, *and* for each file you want uninstalled. Why there's not some sort of default to uninstall everything you install is beyond me. I ended up writing some python scripts to generate an NSIS include file with the file lists needed by my installer. --bb
May 09 2007
prev sibling parent reply Charlie <charlie.fats gmail.com> writes:
I actually have one written for inno setup , it downloads the most 
recent dmc + dmd , here it is -> http://www.the-charlie.com/dmd_setup.exe .

Charlie

Nicolai Waniek wrote:
 Hi,
 
 I agree with you and as soon as I have some spare time (and a win32 machine
 under my fingers) and if you guys wish it, i'll write an inno setup script for
D
 so walter could package a Win32 installer. Inno Setup is for free, but i'll
have
 to read the licence so there are no licence infringements.
 
 This could - of course - then be adopted by the tango team :)
 
 regards and give me some time, possibly I have some this evening
 
 
 
 
 
 
 
 Georg Wrede wrote:
 It seems to be usual to "download D" and then not have the thing work
 off the bat. (d.D.learn has some excellent examples, and many of them by
 able people, some even with a long C++ background.)

 With two compilers, all the platforms (Windows, Mac, various Linuxes)
 and at least two lucrative base libraries (Tango and Phobos) -- and
 especially since the newcomer can't simply choose like "compiler, OS,
 lib, root/luser" etc, and simply have a self-installing complete binary
 automatically sent to you (hint, hint), I suggest the following:

 Just like hello.d we should have a checkinstall.d that you should try to
 build. It would have static asserts (or whatever it takes) that inform
 the user about what's wrong. Probably one should first run a
 checkinstall.{sh|bat} too to inform of the most basic problems.

 Such should be standard issue with all distributions.

 Today, many end up tweaking paths, library paths, choosing install
 directories, contents and placements of the "ini" file, and whatnot. Of
 course such could ultimately be avoided by adequate and prominent
 documentation and targeted binary installs. But the checkinstall stuff
 is more robust and could in principle be bullet proof. As in, either it
 passes, or it discovers what's wrong. Oh, and how to remedy that.

 After all, there are only so many places where the train can derail, but
 figuring out these is unnecessary hard for precisely the people who do
 stumble on them.


May 10 2007
next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Charlie wrote:
 I actually have one written for inno setup , it downloads the most 
 recent dmc + dmd , here it is -> http://www.the-charlie.com/dmd_setup.exe .
 
 Charlie
 

Huh, how did you get Inno setup to do that? Did you have to use a Pascal extension or something? I had forgotten about that 'cause there's no way I'm going to write anything in Pascal. --bb
May 10 2007
parent reply Charlie <charlie.fats gmail.com> writes:
Yea scripting for registering env vars and unzipping the package, but 
there is an extension http://www.istool.org/default.aspx/ that does the 
downloading work.

Charlie

Bill Baxter wrote:
 Charlie wrote:
 I actually have one written for inno setup , it downloads the most 
 recent dmc + dmd , here it is -> 
 http://www.the-charlie.com/dmd_setup.exe .

 Charlie

Huh, how did you get Inno setup to do that? Did you have to use a Pascal extension or something? I had forgotten about that 'cause there's no way I'm going to write anything in Pascal. --bb

May 10 2007
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Charlie wrote:
 Yea scripting for registering env vars and unzipping the package, but 
 there is an extension http://www.istool.org/default.aspx/ that does the 
 downloading work.

I guess Inno has been sprouting more bells and whistles since I last looked. The thing I was after specifically was connecting to an http-based database interface. Maybe inno has that too now.
May 10 2007
prev sibling parent Nicolai Waniek <no.spam thank.you> writes:
Hey that's good news to hear, because I didn't have much time the last few days.
So no work for me, and a lot of thanks to you :-)
May 12 2007
prev sibling parent Gregor Richards <Richards codu.org> writes:
dsss net install gdc-gcc-4.1
[or]
dsss net install dmd

Installing DSSS itself may involve extracting an archive, but at least 
it's only one archive, and one change to PATH :)

  - Gregor Richards
May 09 2007