From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mediacenter.hi.pengutronix.de ([2001:6f8:1178:2::65]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1REiNG-0002JR-BB for ptxdist@pengutronix.de; Fri, 14 Oct 2011 16:04:34 +0200 Received: from mol by mediacenter.hi.pengutronix.de with local (Exim 4.72) (envelope-from ) id 1REiNG-0000hS-AD for ptxdist@pengutronix.de; Fri, 14 Oct 2011 16:04:34 +0200 Date: Fri, 14 Oct 2011 16:04:34 +0200 From: Michael Olbrich Message-ID: <20111014140434.GE4886@pengutronix.de> References: <1317833666-11917-1-git-send-email-andreas@biessmann.de> <1318262696-584-1-git-send-email-m.olbrich@pengutronix.de> <8d386ec882c49464e95a77a4f92dc68b@biessmann.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <8d386ec882c49464e95a77a4f92dc68b@biessmann.de> Subject: Re: [ptxdist] [PATCH] libptxdist: explicitly use sed to run migrate_* Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de Hi, On Tue, Oct 11, 2011 at 12:16:09PM +0200, andreas@biessmann.de wrote: > On Mon, 10 Oct 2011 18:04:56 +0200, Michael Olbrich wrote: > >this fixes migrate on systems where sed is not in /bin/ (e.g. OS X). > > > >Signed-off-by: Michael Olbrich > >--- > > > >Hi, > > > >what about this? It's less invasive than using autoconf. > > Well, your solution fixes my problem with sed in shebang. > But how about wrong sed in path? Or some other problems mentioned > previously ([1], [2]). > > I see two solutions here: > a) fix the surrounding/environment to match always the needs of > ptxdist > b) fix ptxdist to use specific environment > > a) seems easy to the ptxdist developers cause everyone using ptxdist > needs > to take care about his environment. That would include setting > special PATH, > write wrapper scripts or even forking ptxdist [1]. That could be really > frustrating and scare off some users. > > b) seems easy to the users of pxdist, cause the configure/build/install > of ptxdist takes care about correct versions of tools. > > I tend to vote for b) here. We do not want to scare off users but we > do want a > reliable, repeatable build process with easy to use interface. > We even do it like this currently (e.g. 'configure > --with-python=...'). But the > tools found by configure are not taken into account when using > ptxdist [2]. > > Another solution compared to yours and my 'PATCH v2' could be some > configuration-file > which is written in installation phase and provide the environment > for ptxdist. > This could have another benefit, we can easily change the > configuration for ptxdist > at run-time without modifying a lot of installed scripts. I imagine ... > > ---8<--- > ~# ptxdist PTX_PYTHON=/whereever/i/installed/my/cool/python go > --->8--- > > So another poll here ;). We have > > a) the full autotools pre-processing of several scripts/rules ... > files > ('PATCH v2' solution) > b) some (tbd) configuration file which could be sourced by ptxdist > and provide > the environment for all the scripts/make-file snippets a.s.o > c) your solution (fix for sed with wrong path in sheebang) > > I would like to force a discussion now cause I have a bunch of > patches on stack > using the same approach as a) to fix the chmod problem mentioned in > [1] and [3]. It > would be great if we could get some conclusion soon so I could > prepare my patchset. I've been thinking about this for some time. I don't like preprocessing a lot of files, because that makes developing ptxdist a pain. What I've considered, but not implemented (no time so far) is the following: create scripts/ptxdist_tools.sh.in that is preprocessed with autoconf the stuff like this: [...] export PTXDIST_PYTHON="@PYTHON@" export PTXDIST_SED="@SED@" [...] I think it should be sourced right before scripts/ptxdist_vars.sh. Then use "${PTXDIST_PYTHON}", "${PTXDIST_SED}" everywhere. This way we get the tools detected by configure without preprocessing a lot of files. Do you think this can handle all the Problems you have? However, making sure everything is using the correct tools will not be easy. Replacing the calls in ptxdist is easy, but there are many packages that call these tools directly, so they must be patched. So far I've not had the time to even start this, but I'd be happy to apply such patches. I'll apply my patch for now. We can change 'sed' to '${PTXDIST_SED}' again later. Hmmm, I just had another idea: How about fixing the environment in ptxdist: mkdir / ln -s @PYTHON@ /python ln -s @SED@ /sed [...] export PATH=:$PATH [...] just do this as early as possible in ptxdist and PATH will provide the correct tools. Do you think that could work? > There is one other point for me that would prefer the a) solution. > We (sh|c)ould use > more of the autotools foo to have a cleaner install directory (e.g. > why installing all > the files necessary to build the kconfig tools?). Because it's easier and doesn't hurt? :-) Send patches... Regards, Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- ptxdist mailing list ptxdist@pengutronix.de