Re: [nant-dev] Re: install targets
Gert Driesen wrote: - I'm not sure if the rpm should contain both binaries and sources. Perhaps we might wanna consider two separate rpm's : one with only bin (and perhaps doc), and one with bin (only assemblies necessary to build NAnt), src, examples, doc. My 2c, probably the most useful download as a user is a binaries+docs package, especially if there's an installer option. The source package would usually contain everything but the binaries (?) This way requires two downloads if you want everything (cross-platform binaries and source), but you can download the source without having to download the binaries again, if you've already installed the binaries, for example. Maybe this last logic breaks down, since you'd get two copies of the docs if you downloaded both packages. How much value is there to a source-only package? If you can then build your own docs once the build is bootstrapped... -T --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
RE: [nant-dev] Re: install targets
Hi, I took a stab at creating an RPM for the NAnt install. This is my first attempt and I am hoping to get some feedback from those that know. Just a couple of notes: 1) there are some hard code paths in the NAnt.spec file 2) $RPM_TEST and $RPM_BASE are set in the build.sh file; these point to your working directory and RPM base directory. 3) I did most of my work on cygwin/ windows - some issues with line ends in the script - install target does not seem to work (requires mkdir?) There may be more issues, again this is a first attempt and I am mostly looking for feedback. Thanks, Clayton -Original Message- From: Ian MacLean [mailto:[EMAIL PROTECTED] Sent: Fri 8/20/2004 9:02 AM To: Gert Driesen Cc: Nant-Developers (E-Mail) Subject:Re: [nant-dev] Re: install targets Gert Driesen wrote: - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Friday, August 20, 2004 11:44 AM Subject: Re: [nant-dev] Re: install targets The current layout is already confusing. How many I downloaded version x of nant but the test failed when building emails do we get - to which we reply you don't need to build - its already there. If there is no makefile or NAnt.build in the binary distribution then this won't happen. But we do include a shell script for installing NAnt (and creating a wrapper script on linux) in the binary distribution ? yes I think so. I mean we could get away with using a small install.build file. Yeah I know I know - I just said in a previous mail that build/makefiles aren't necessarily the best choice for installers but it would be easy to write and it would be X-platform. PS. Have you have looked into creating an RPM for NAnt ? No - If I get a chance I'd like to - or if someone out there with rpm building skills would like to volunteer - that would be great too. Ian --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers build.sh Description: build.sh NAnt.spec Description: NAnt.spec
Re: [nant-dev] Re: install targets
Hi Clayton, Thanks for taking the first steps toward creating an rpm ! As always starting with something is the most difficult task, and providing remarks on something someone else has done is pretty easiy ... So I'll volunteer for the second task ;-) A few initial remarks: - To install NAnt, you should not use the install target of the makefile as that will first rebuild NAnt. The install target of the makefile (and NAnt) should only be used to install NAnt from source. Instead, a complete set of pre-built binaries should come with the rpm, and these should be installed, and a shell script should be created. At least that's my opinion ... - I'm not sure if the rpm should contain both binaries and sources. Perhaps we might wanna consider two separate rpm's : one with only bin (and perhaps doc), and one with bin (only assemblies necessary to build NAnt), src, examples, doc. - It would be great if we could use NAnt to generate the rpm (except for rpmbuild, which we could just run using exec), we should consider adding support for tars and gzip soon anyway (if I recall correctly, #ziplib supports both, no ?) ... But its not something we can do for the 0.85 release ... - We should use filterchains to substitute hardcoded values in the spec file - I don't think you should retrieve a version of NAnt from cvs to create the rpm. You should use a pre-built version of NAnt that is available locally. - Targets to create the rpm('s) should be added to the release.xml build file. Just my 2 cents ... - Original Message - From: Clayton Harbour [EMAIL PROTECTED] To: Ian MacLean [EMAIL PROTECTED]; Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Monday, August 23, 2004 5:04 PM Subject: RE: [nant-dev] Re: install targets Hi, I took a stab at creating an RPM for the NAnt install. This is my first attempt and I am hoping to get some feedback from those that know. Just a couple of notes: 1) there are some hard code paths in the NAnt.spec file 2) $RPM_TEST and $RPM_BASE are set in the build.sh file; these point to your working directory and RPM base directory. 3) I did most of my work on cygwin/ windows - some issues with line ends in the script - install target does not seem to work (requires mkdir?) There may be more issues, again this is a first attempt and I am mostly looking for feedback. Thanks, Clayton -Original Message- From: Ian MacLean [mailto:[EMAIL PROTECTED] Sent: Fri 8/20/2004 9:02 AM To: Gert Driesen Cc: Nant-Developers (E-Mail) Subject: Re: [nant-dev] Re: install targets Gert Driesen wrote: - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Friday, August 20, 2004 11:44 AM Subject: Re: [nant-dev] Re: install targets The current layout is already confusing. How many I downloaded version x of nant but the test failed when building emails do we get - to which we reply you don't need to build - its already there. If there is no makefile or NAnt.build in the binary distribution then this won't happen. But we do include a shell script for installing NAnt (and creating a wrapper script on linux) in the binary distribution ? yes I think so. I mean we could get away with using a small install.build file. Yeah I know I know - I just said in a previous mail that build/makefiles aren't necessarily the best choice for installers but it would be easy to write and it would be X-platform. PS. Have you have looked into creating an RPM for NAnt ? No - If I get a chance I'd like to - or if someone out there with rpm building skills would like to volunteer - that would be great too. Ian --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Re: install targets
Gert Driesen wrote: - To install NAnt, you should not use the install target of the makefile as that will first rebuild NAnt. The install target of the makefile (and NAnt) should only be used to install NAnt from source. Instead, a complete set of pre-built binaries should come with the rpm, and these should be installed, and a shell script should be created. At least that's my opinion ... Mine too. - I'm not sure if the rpm should contain both binaries and sources. Perhaps we might wanna consider two separate rpm's : one with only bin (and perhaps doc), and one with bin (only assemblies necessary to build NAnt), src, examples, doc. agreed. I think an rpm for binaries only and just a tarball/zip for source should be fine. - It would be great if we could use NAnt to generate the rpm (except for rpmbuild, which we could just run using exec), we should consider adding support for tars and gzip soon anyway (if I recall correctly, #ziplib supports both, no ?) ... But its not something we can do for the 0.85 release ... that should be easy enough - there isn't anything happening in that build.sh that couldn't be done in a .build file. - We should use filterchains to substitute hardcoded values in the spec file +1 - I don't think you should retrieve a version of NAnt from cvs to create the rpm. You should use a pre-built version of NAnt that is available locally. sure - because the contents of the bin directory in cvs aren't guarenteed to be the latest binaries. - Targets to create the rpm('s) should be added to the release.xml build file. and if its added to nightly.xml then we can have nightly built rpms - awesome ! Ian - Original Message - From: Clayton Harbour [EMAIL PROTECTED] To: Ian MacLean [EMAIL PROTECTED]; Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Monday, August 23, 2004 5:04 PM Subject: RE: [nant-dev] Re: install targets Hi, I took a stab at creating an RPM for the NAnt install. This is my first attempt and I am hoping to get some feedback from those that know. Just a couple of notes: 1) there are some hard code paths in the NAnt.spec file 2) $RPM_TEST and $RPM_BASE are set in the build.sh file; these point to your working directory and RPM base directory. 3) I did most of my work on cygwin/ windows - some issues with line ends in the script - install target does not seem to work (requires mkdir?) There may be more issues, again this is a first attempt and I am mostly looking for feedback. Thanks, Clayton -Original Message- From: Ian MacLean [mailto:[EMAIL PROTECTED] Sent: Fri 8/20/2004 9:02 AM To: Gert Driesen Cc: Nant-Developers (E-Mail) Subject: Re: [nant-dev] Re: install targets Gert Driesen wrote: - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Friday, August 20, 2004 11:44 AM Subject: Re: [nant-dev] Re: install targets The current layout is already confusing. How many I downloaded version x of nant but the test failed when building emails do we get - to which we reply you don't need to build - its already there. If there is no makefile or NAnt.build in the binary distribution then this won't happen. But we do include a shell script for installing NAnt (and creating a wrapper script on linux) in the binary distribution ? yes I think so. I mean we could get away with using a small install.build file. Yeah I know I know - I just said in a previous mail that build/makefiles aren't necessarily the best choice for installers but it would be easy to write and it would be X-platform. PS. Have you have looked into creating an RPM for NAnt ? No - If I get a chance I'd like to - or if someone out there with rpm building skills would like to volunteer - that would be great too. Ian --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers -- Ian MacLean, Developer, ActiveState, a division of Sophos http://www.ActiveState.com --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers
Re: [nant-dev] Re: install targets
- Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Friday, August 20, 2004 5:13 AM Subject: [nant-dev] Re: install targets Gert Driesen wrote: Ian, After giving it some more thought, I think the install target of the makefile should install the pre-built binaries and docs for official NAnt distributions, not and rebuild the binaries from source. We went to a lot of trouble in order to have a single binary distribution, and I'd hate to see all that effort go to waste. I disagree - this goes against how every other open source project packages their distribution. As I said before - its a source distribution that happens to include pre built binaries *not* a binary distribution. I actually consider it to be a binary distribution that happens to include the source ;-) I just don't understand why I went through all the trouble to allow us to have a single binary distribution that can still take advantage of framework-specific assemblies, if we instruct users to build a framework specific version of NAnt. Quite a while ago, we did agree that we should have a single binary distribution that would work on all supported CLR's out-of-the-box, right ? And now that we have it, we'd go back to having a framework-specific binary install (with only very limited docs on linux) ... not sure I understand the reason behind this ... What we should have (in my opinion) is : - a source only distribution (containing only the binaries necessary to build NAnt) - a full binary distribution which would work on all supported CLR's and platforms (this would be offered as a zip file or tar) - an RPM release for linux - an installer release for Windows These last two would also install a full binary distribution ofcourse ... Also, the install targets in the NAnt build file should no longer depend on other build/doc targets (but they should just install whatever files are available in ${build.dir} (limited to bin, doc and examples directories). The dependency on other NAnt build target should be taken care of in the makefile. why is that ? sure you'd want to install somthing thats built -- isn't that the point ? if you do a make install with most OSS projects it will build first if its not up to date. Yes, for source distributions that is But users cannot always build a version of NAnt that is identical to what we want distribute, while they still expect it to be ... For example : Let's say we have an assembly that is Mono-specific. If we encourage users to build NAnt from source, then users that don't have Mono installed will not be able to build the Mono-specific assembly. However, when they install Mono three later they would have been able to use the Mono-specific tasks however these are not available (without rebuilding) I'm not saying that we can't have users building from source, ofcourse they can ... but we should not instruct them to do so Why should the dependency happen in the makefile ? Lets use NAnt for this - its a build tool and it handle dependencies fine. The reason why I wanted this is to allow the install targets to be used from either the makefiles (to install either a freshly built NAnt or the pre-built binaries) or the nightly build my proposal - 2 download packages: 1) binaries only with a simple shell script to install on linux, batch file for windows -- hopefully installer at some stage. 2) source package that mirrors the cvs tree. Use Make install to build install on *nix, bin\NAnt.exe install to build install on windows. This is a fairly standard packaging practice It is because most oss project are not able to provide a single binary distribution that works on all supported platforms ... - getting clever with multiple Makefiles seems like a recipe for confision. What's difference between multiple makefiles (one for cvs/source distribution and one for binary distribution), and one makefile and one shell script/batch file ? I don't see more or less confusion for any of these ... It might even better to just be able to use make install for both the source and the binary distributions ... Regardless of that, users should actually use the binary release, not the source release ... The binaries build from source will not match those that are part of the binary release, this should be made very clear to the users ... The binaries built from source will not be able to run on all supported frameworks, will not be able to run on all supported platform, will not support all tasks ... and even the version number will not match that of the binary release ... Gert --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift.
Re: [nant-dev] Re: install targets
Gert Driesen wrote: Ian, After giving it some more thought, I think the install target of the makefile should install the pre-built binaries and docs for official NAnt distributions, not and rebuild the binaries from source. We went to a lot of trouble in order to have a single binary distribution, and I'd hate to see all that effort go to waste. I disagree - this goes against how every other open source project packages their distribution. As I said before - its a source distribution that happens to include pre built binaries *not* a binary distribution. I actually consider it to be a binary distribution that happens to include the source ;-) thats the problem - right now we are a bit of both - thats what we need to change. I just don't understand why I went through all the trouble to allow us to have a single binary distribution that can still take advantage of framework-specific assemblies, if we instruct users to build a framework specific version of NAnt. we don't instruct them to do this -- that the point - we don't instruct them to do anything but quite often they *do* build it because there is a buildfile/make file and we never really provided proper installation instructions. Quite a while ago, we did agree that we should have a single binary distribution that would work on all supported CLR's out-of-the-box, right ? And now that we have it, we'd go back to having a framework-specific binary install (with only very limited docs on linux) ... not sure I understand the reason behind this ... no - completely incorrect. The install target is *not* a substitute for a binary installer. Its a convenience for when you build from source. Its not meant to used as the installer for an end user. What we should have (in my opinion) is : - a source only distribution (containing only the binaries necessary to build NAnt) - a full binary distribution which would work on all supported CLR's and platforms (this would be offered as a zip file or tar) - an RPM release for linux - an installer release for Windows These last two would also install a full binary distribution ofcourse ... I totally agree. I thought thats what I basically proposed. Also, the install targets in the NAnt build file should no longer depend on other build/doc targets (but they should just install whatever files are available in ${build.dir} (limited to bin, doc and examples directories). The dependency on other NAnt build target should be taken care of in the makefile. why is that ? sure you'd want to install somthing thats built -- isn't that the point ? if you do a make install with most OSS projects it will build first if its not up to date. Yes, for source distributions that is But users cannot always build a version of NAnt that is identical to what we want distribute, while they still expect it to be ... sure - again we are cross purposes -- Makefile is for building from source, somthing else for a binary distribution. For example : Let's say we have an assembly that is Mono-specific. If we encourage users to build NAnt from source, then users that don't have Mono installed will not be able to build the Mono-specific assembly. However, when they install Mono three later they would have been able to use the Mono-specific tasks however these are not available (without rebuilding) I'm not saying that we can't have users building from source, ofcourse they can ... but we should not instruct them to do so yes yes yes - I'm not saying we should instruct them to either -- hence the seperate source and binary distributions. The buildfile/make file should *not* be the installer for the binary only distribution. Why should the dependency happen in the makefile ? Lets use NAnt for this - its a build tool and it handle dependencies fine. The reason why I wanted this is to allow the install targets to be used from either the makefiles (to install either a freshly built NAnt or the pre-built binaries) or the nightly build once again - the makefile should not be the installer for pre-built binaries IMHO. my proposal - 2 download packages: 1) binaries only with a simple shell script to install on linux, batch file for windows -- hopefully installer at some stage. 2) source package that mirrors the cvs tree. Use Make install to build install on *nix, bin\NAnt.exe install to build install on windows. This is a fairly standard packaging practice It is because most oss project are not able to provide a single binary distribution that works on all supported platforms ... thats not true - its the standard for source based distributions - which is what the install targets are for - a source based distro. The binary distro should be seperate. - getting clever with multiple Makefiles seems like a recipe for confision. What's difference between multiple makefiles (one for cvs/source distribution and one for binary distribution), and one makefile and one
Re: [nant-dev] Re: install targets
Gert Driesen wrote: Ian, I guess these was somehow a misunderstanding, but in the README.TXT you actually added a section called Compliation and installation in which you provide these instructions .. sure - then that should probably be Compliation and installation of a source distribution with a seperate Installation of a binary distribution section or we provide seperate README's for source and binary. Previously there were *no* instructions at all for building - thats why I added them. . These could easily be mistaken for instructions to install official releases ... Well - it quite clearly says compilation - if the official binary release doesn't contain source or a NAnt.build file (which it shouldn't) then users can hardly compile by accident can they ? Currently, we only provide one means of installing NAnt (meaning using make install from the source distribution), so users are very likely to use that to install official distributions too (meaning they'll download and install the source distribution, while they should in fact use the binary distribution) ... ok - well then lets split into source and binary distros as soon as possible. The current layout is already confusing. How many I downloaded version x of nant but the test failed when building emails do we get - to which we reply you don't need to build - its already there. If there is no makefile or NAnt.build in the binary distribution then this won't happen. So we should make it very cler that this is not the recommended way to install official releases of NAnt ... of course. Ian Gert - Original Message - From: Ian MacLean [EMAIL PROTECTED] To: Gert Driesen [EMAIL PROTECTED] Cc: Nant-Developers (E-Mail) [EMAIL PROTECTED] Sent: Friday, August 20, 2004 10:51 AM Subject: Re: [nant-dev] Re: install targets Gert Driesen wrote: Ian, After giving it some more thought, I think the install target of the makefile should install the pre-built binaries and docs for official NAnt distributions, not and rebuild the binaries from source. We went to a lot of trouble in order to have a single binary distribution, and I'd hate to see all that effort go to waste. I disagree - this goes against how every other open source project packages their distribution. As I said before - its a source distribution that happens to include pre built binaries *not* a binary distribution. I actually consider it to be a binary distribution that happens to include the source ;-) thats the problem - right now we are a bit of both - thats what we need to change. I just don't understand why I went through all the trouble to allow us to have a single binary distribution that can still take advantage of framework-specific assemblies, if we instruct users to build a framework specific version of NAnt. we don't instruct them to do this -- that the point - we don't instruct them to do anything but quite often they *do* build it because there is a buildfile/make file and we never really provided proper installation instructions. Quite a while ago, we did agree that we should have a single binary distribution that would work on all supported CLR's out-of-the-box, right ? And now that we have it, we'd go back to having a framework-specific binary install (with only very limited docs on linux) ... not sure I understand the reason behind this ... no - completely incorrect. The install target is *not* a substitute for a binary installer. Its a convenience for when you build from source. Its not meant to used as the installer for an end user. What we should have (in my opinion) is : - a source only distribution (containing only the binaries necessary to build NAnt) - a full binary distribution which would work on all supported CLR's and platforms (this would be offered as a zip file or tar) - an RPM release for linux - an installer release for Windows These last two would also install a full binary distribution ofcourse ... I totally agree. I thought thats what I basically proposed. Also, the install targets in the NAnt build file should no longer depend on other build/doc targets (but they should just install whatever files are available in ${build.dir} (limited to bin, doc and examples directories). The dependency on other NAnt build target should be taken care of in the makefile. why is that ? sure you'd want to install somthing thats built -- isn't that the point ? if you do a make install with most OSS projects it will build first if its not up to date. Yes, for source distributions that is But users cannot always build a version of NAnt that is identical to what we want distribute, while they still expect it to be ... sure - again we are cross purposes -- Makefile is for building from source, somthing else for a binary distribution. For example : Let's say we have an assembly that is Mono-specific. If we encourage users to build NAnt from source, then users that don't have Mono installed