El mié, 15-04-2009 a las 15:57 +0200, Chris Chabot escribió:
> On Wed, Apr 15, 2009 at 3:28 PM, Vincent Siveton
> <vincent.sive...@gmail.com>wrote:
> 
> > 2009/4/15 Chris Chabot <chab...@google.com>:
> > >> I spoke yesterday with Chris about the make-release.sh: this script
> > >> won't work on my ubuntu box :(
> > >
> > >
> > > Vincent I thought the fix was simple enough:
> >
> > Yes yes the fix was working perfectly :)
> >
> > > Saying that "it won't work on ubuntu" is a slight over-exaggeration in my
> > > opinion :)
> >
> > Sorry if I offend you, my point was that the out-of-box script needs
> > to be changed depending the platform used for the compilation.
> >
> 
> No worries, no offense of any kind is involved! I'm merely trying to say
> that a sh shell is by far more pervasive then a java & maven combo, perhaps
> I should've framed that differently :)
> 
> The problem is that 'bash' isn't defined by the FHS (Filesystem Hierarchy
> Standard) on linux, the solution is to, instead of depending on a fixed path
> (#!/bin/bash), I should either a) change it to #!`which bash`, which will
> expand to the location of bash, or b) change the script to use #!/bin/sh,
> which is present on pretty much any *nix platform we care about (*bsd,
> linux, mac, solaris, etc); So I'm likely to pick option b here.
> 

In my ubuntu boxes bash is in /bin/bash, as it should. :) I'm not sure
what the problem was. If it was the ubuntu-server flavor, it is quite
minimalistic as it installs (not even python, for instance), so it might
have been missing bash, and having other shell. 

> However sh will be installed on pretty much anywhere (except for win, who'd
> have to install cygwin) and the same can't be said for java and maven, which
> won't be present on most of the boxes that will be running php-shindig....
> after all, if they had a complete java stack and maven installed that would
> imply their likely a java shop and they would thus more likely be using
> java-shindig :)
> 

ubuntu needs frequently wiping of the java packages and install of the
sun jdk for some applications to run correctly, in my experience. I lost
some time fighting against openjdk and icedtea recently to be forced to
install sun-java6-jdk finally to run some legacy java apps.

Regards
Santiago

> 
> > > (i did make a mental note I should probably use /bin/sh though since
> > > according to the FHS that should always be available, but i'll have to
> > > validate that the script works the same on sh first before i can switch
> > that
> > > over)
> > >
> > > Using Maven will be more platform independent, but Chris underlines me
> > >> that the Maven assembly generates a different layout than the
> > >> make-release.sh.
> > >> So I modified the Maven files in r765148 to be align with this script.
> > >>
> > >> @Chris, could you review the generated and confirm that it is the wanted
> > >> layout?
> > >>
> > >
> > >
> > > I also commented that I think this is a "When you have a hammer,
> > everything
> > > looks like a nail" type of solution.
> > >
> > > Most people who use PHP probably won't have a lot of java and maven
> > > knowledge, and are even likely not to even have a working java binary
> > > installed, let alone feeling like installing maven and downloading many
> > Mb's
> > > of dependencies and we really shouldn't force that down people's throats,
> > > not if those tens of megabytes, and different-environment dependencies
> > are
> > > just to solve something that can also be done with 20 lines of shell
> > script.
> > > That just sounds like a solution looking for a problem :)
> > >
> > > Keep in mind that this script could be used to create a
> > release-type-layout
> > > of the directory structure and configuration files by anyone who uses
> > > php-shindig, so the usage of it is far wider then just once to generate a
> > > release tarbal, as such the whole java / mvn dep could only be worth it
> > from
> > > a php perspective if it offered significant benefits over shell script
> > (or
> > > even php based) one..
> >
> > I guess only Shindig devs could use this script to make a release and
> > (I hope) everybody here has a minimum knowledge of java/maven :)
> > If someone want to make a fork of PHP Shindig, he will probably create
> > its own script to make its release.
> >
> > The script file works perfectly but it is platform dependent which is
> > IMHO bad.
> 
> 
> I can't agree with that argumentation. the sh shell is part of *every* unix
> like instalation, where as maven is something people will have to download
> the correct latest version of and install by hand; The statement that a
> shell script using sh is platform dependent goes against decades of history
> (sh has been a standard part and default shell of most unix systems since
> it's inception in 1977)
> 
> The only thing that somehow gave you that impression is that ubuntu (and
> probably debian too by extend) have their bash shell in the /usr/bin dir,
> and not in /bin... thats the *only* thing, and that can very easily be fixed
> by using either `which bash` or using sh instead of bash.
> 
> The nice thing of having a standard script is that if some OSS project
> includes php-shindig (which quite a few do already), they can use that
> standard script to wrangle the svn checkout to a standard layout that they
> can include (and without the whole java tree). Depending on java + maven is
> as un-natural to them as using a PHP tool for java packaging would be :)
> 
> 
> 
> > We need 2 release managers to create artifacts, and I dont
> > think it is the way to go.
> > If Maven is too bigger, WDYT to use ant? It will be easy to integrate
> > it in the release process.
> 
> 
> I think the whole premise of using a java packaging tool for php is akin to
> the hammer -> nail analogy... I see no problems with a release manager
> running one shell script to create the php-shindig tar&zip archives, and I
> think most everybody here would be comfortable with that, right?
> 
> 
> > Do we want to centralize build under Maven, for all languages
> > supported and for making release?
> >
> 
> Pros:
> 1) Unified release procedure for both languages
> (I'm not including 'platform independence here, since to me introducing
> java+maven deps into the php world is a much bigger restriction then
> depending on the sh shell)
> 
> Cons:
> 1) Unmaintainable by the php dev's
> 2) Un-usable for 3rd party projects who don't have java/maven/etc but want
> to do svn snapshots
> 3) Using an overly complex solution for something that has a simple solution
> available already
> 
> So far based on the above +/- list my preference so far is to use the shell
> script

Reply via email to