On Mon, Mar 24, 2008 at 10:53 PM, Barry Smith <bsmith at mcs.anl.gov> wrote: > > > On Mar 24, 2008, at 10:42 PM, Matthew Knepley wrote: > > On Mon, Mar 24, 2008 at 10:38 PM, Barry Smith <bsmith at mcs.anl.gov> > > wrote: > >> > >> On Mar 24, 2008, at 10:25 PM, Matthew Knepley wrote: > >>> On Mon, Mar 24, 2008 at 10:14 PM, Barry Smith <bsmith at mcs.anl.gov> > >>> wrote: > >>>> > >>>> Matt, > >>>> > >>>> The sed is so trivial it is silly to even think about replacing > >>>> it with python! I did not realize until after reading Lisandro's > >>>> email > >>> > >>> What does that have to do with anything? If its so trivial, then it > >>> won't > >>> take any time at all. This is at least the third time I have had to > >>> fool > >>> with this sed stuff (I already reported that sed bug two months > >>> ago). > >>> I do not want to do it again. Is there any justification, except > >>> inertia, > >>> for keeping that in sed? > >>> > >> > >> Not having hundreds of dinky little python scripts lying around > >> that do the same thing as Unix utilities is a good reason. > >> > >> If you write the entire "install:" rule in python that would be > >> great, > >> then you could start on some of the other rules in conf/rules > >> I am only objecting to replacing Unix one-liners with python one > >> liners. > > > > Fine, but you just asked for a lot more Python then 1 line to check > > which form of > > the -i flag is on the machine. > > Yes, but that is the autoconf model! You wanted the autoconf > model, not me! > You first tried it with autoconf, not possible, so you wrote a better > than autoconf > in python. I never asked anyone to make a conf system, I was perfectly > happy > requiring people to write the correct flags directly into > petscconf :-). What bothers > me about one-line python scripts to fix Unix weirdness is now you have > two > models (some things you fix by running config/configure.py and > figuring things > out and some things you fix by replacing Unix with python). One thing > you > should know about me is I HATE HATE HATE HATE using two models for > doing something at the > same time (this is why I hate Mathematica and PERL, they each support > about > 20 different programming models that can be used together). So now we > have > reached the root if the issue; in my mind if you introduce a new model > approach to > solving some problem you toss the old, you don't use them both together!
I am all for consistency. However I have a different interpretation of what constitutes the model. I thought the model was 1) Test a set of tools, e.g. compilers, make, ... 2) Customize the use of each based upon our tests 3) Use the set of tools required for each build task I think I am proposing a decision for 3), namely replacing one tool with another. We already do this, for instance when we link with a linker or a compiler. I think we should eliminate all uses of sed with python. Notice that this is not wasted work, as it will survive when eventually everything is replaced by Python. Matt > Barry > > > > > > Matt > > > >> Barry > >> > >> > >> > >> > >>> Matt > >>> > >>>> that the sed -i option behaved differently on different systems. > >>>> > >>>> Barry > >>>> > >>>> > >>>> > >>>> > >>>> On Mar 24, 2008, at 10:07 PM, Matthew Knepley wrote: > >>>>> On Mon, Mar 24, 2008 at 9:50 PM, Barry Smith <bsmith at mcs.anl.gov> > >>>>> wrote: > >>>>>> > >>>>>> On Mar 24, 2008, at 10:57 AM, Lisandro Dalcin wrote: > >>>>>>> Barry, things are still broken. I think that at some point we > >>>>>>> have > >>>>>>> to > >>>>>>> review the 'install:' target more carefully. > >>>>>>> > >>>>>>> First, the 'sed' command i being called in a wrong way. > >>>>>> > >>>>>> This is not true; the sed is being called correctly. The problem > >>>>>> is that -i > >>>>>> is not a standard sed option and different systems gnu and > >>>>>> freebsd > >>>>>> treat > >>>>>> it differently. freebsd requires a space between the -i and the > >>>>>> suffix; > >>>>>> gnu has no space; gnu also allows the use of -i to indicate no > >>>>>> backup > >>>>>> while freebsd expects -i "" > >>>>>> > >>>>>> Your patch works on POS gnu systems, but is broken on far > >>>>>> superior > >>>>>> Apple MacOS X systems! :-) > >>>>>> > >>>>>> Matt you need to add a config/configure.py test to detect the > >>>>>> type of sed -i it is. > >>>>> > >>>>> I totally disagree. We should ditch all this crap, and just write > >>>>> nice, PORTABLE > >>>>> Python code. I will do it. I just need someone to explain what > >>>>> this > >>>>> sed is doing. > >>>>> > >>>>> Matt > >>>>> > >>>>> -- > >>>>> What most experimenters take for granted before they begin their > >>>>> experiments is infinitely more interesting than any results to > >>>>> which > >>>>> their experiments lead. > >>>>> -- Norbert Wiener > >>>>> > >>>> > >>>> > >>> > >>> > >>> > >>> -- > >>> What most experimenters take for granted before they begin their > >>> experiments is infinitely more interesting than any results to which > >>> their experiments lead. > >>> -- Norbert Wiener > >>> > >> > >> > > > > > > > > -- > > What most experimenters take for granted before they begin their > > experiments is infinitely more interesting than any results to which > > their experiments lead. > > -- Norbert Wiener > > > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener