From: Edward A. <ep...@do...> - 2002-02-18 12:45:53
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sun, 17 Feb 2002, Robert Eden wrote: >What's the point? Who's going to use the "make install" and why? Software installation on Unix falls into two patterns AFAIK: - - Expert (or moderately expert) users download a source package, build it with 'make' and install it with 'make install'. By setting some kind of 'prefix' variable it's possible to install globally (if root) or just in your home directory. - - Non-expert users will download a package, preferably from their vendor or perhaps from a site like sunfreeware.com or rpmfind.net. This package was built by someone running 'make install' and tarring up the resulting directory (more or less). >I can see installing the module, but you still need a directory for all >the client pieces. It installs the binaries in bin/ (ie /usr/local/bin/, or /home/whoever/bin/, or /usr/bin/ if building a package). What other 'client pieces' were you thinking of? >If you want to fit the Makefile Perl model, split out all the client >apps from XMLTV.pm and use a separate distribution ( with Makefile.PL ) >on that. Could do that, but I think it would be overkill. You'd need another installer(s) for the client apps. At the moment bundling everything together into a single 'xmltv' package works well (consider GNU textutils, no separate packages for 'head' and 'tail'). Although part of the Makefile.PL reorganization is to split up the source tree a bit, so it will be easier to fork off seperate projects should the need arise. >I use XMLTV on windows. No /usr/bin, No standard make. Those Perl users on Windows who are lucky (or rich) enough to have Visual Studio installed can install Perl packages using the standard perl Makefile.PL sequence with 'nmake' instead of 'make'. The xmltv package should work the same way - although I admit this is not particularly useful for the binaries. Windows users who don't have a Perl installation can use the binaries you build. The new installer should make it easier to create these binary packages - for 0.4.4 I had to do some shuffling around of files by hand. Hopefully we can add a new target 'make windows_binary_dist'. >What's the problem we're looking to fix with a Makefile.pm? You could ask the same question to any project, I thought the answer was obvious. It looks like this is more a matter of taste than I thought. Some reasons to have an installer are: - - Consistency with other Unix (or OS X command-line) packages. This is the biggy. - - The programs should be runnable from the command line without having to cd to a particular directory. Consider GUIs or shells which call the grabber or other tools. You should be able to launch such an app from the start menu without having to specially tell it the location of the programs it needs to run - any more than you need to specially configure where grep is installed. - - Not constraining the source tree to be the same layout as a tarball you can unpack. - - Installing libraries like XMLTV.pm in a central location where they can be used by other packages. - - Easier installation. Yes, I do believe this. The current model of a single directory storing both programs and personal data is a real nuisance to upgrade - you have to manually copy across things like shows.xml but not copy files in the xmltv distribution. - - Users are accustomed to downloading a package and running some kind of 'configure; make; make install'. The Makefile.PL system fits this. - - Possibility to easily build 'binary' packages, so the non-technical user doesn't have to do anything special apart from use his system's package manager (which we assume is set up to be easy to learn, and in any case only has to be learned once). The disadvantage is that if you install in your home directory, you may have to set PERL5LIB to include ~whoever/lib/perl5/. But this has to be done anyway when installing the Perl modules which XMLTV depends on. >Given the above, I still have no objection as long as I don't have to >use it (local directories still work) I would recommend something like 'perl Makefile.PL PREFIX=c:/xmltv' for Windows. You may have to add './lib/perl5' or similar to your PERL5LIB so that the libraries will be picked up when you have cd'd to c:\xmltv. If this is a problem we could add a special 'Windows install' target to the Makefile.PL which installs so you can just 'cd and go'. But I anticipate that most Windows users will use your excellent binary version instead. - -- Ed Avis <ep...@do...> Finger for PGP key -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE8cPd9IMp73jhGogoRAhn8AJ0SAcxZmmWmvPuc4qnWXKmAcIs8IQCfUcAc zbs/RF4J2eYkLrI/J86jGWg= =HwxN -----END PGP SIGNATURE----- |