{"thread":{"id":"2495","subject":"./configure script prototype","startedAt":"2005-11-14T12:18:00Z","lastAt":"2005-11-14T20:21:02Z","messageCount":13,"participants":["Andreas Ericsson","Petr Baudis","Chris Wedgwood","Fernando J. Pereda","Joel Becker","Linus Torvalds","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"11784","messageId":"43788078.4040403@op5.se","threadId":"2495","inReplyTo":null,"subject":"./configure script prototype","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2005-11-14T12:18:00Z","receivedAt":"2005-11-14T12:18:00Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"I've started writing up a configuration script to move some of the logic \nout of the Makefile and make it a bit easier to enable/disable certain \nstuff.\n\nI'm not exactly fluent in what sh flavours accept what syntax and the \nuname -m output is a bit of a mystery for some architectures (PowerPC, \nnotably) so the SHA1 method selection stuff might not work.\n\nThoughts? Comments? Patches?\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"11785","messageId":"437880AC.3040101@op5.se","threadId":"2495","inReplyTo":"43788078.4040403@op5.se","subject":"Re: ./configure script prototype","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2005-11-14T12:18:52Z","receivedAt":"2005-11-14T12:18:52Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Andreas Ericsson wrote:\n> I've started writing up a configuration script to move some of the logic \n> out of the Makefile and make it a bit easier to enable/disable certain \n> stuff.\n> \n> I'm not exactly fluent in what sh flavours accept what syntax and the \n> uname -m output is a bit of a mystery for some architectures (PowerPC, \n> notably) so the SHA1 method selection stuff might not work.\n> \n> Thoughts? Comments? Patches?\n> \n\nAttachments? ;)\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n\n\n#!/bin/sh\n\n# VERSION must be here so we know where to put the git_libexec_dir later on\nVERSION=0.99.9.GIT\n\n# some default values\ndefault_prefix=$HOME\nenable_http=Yes\nenable_expat=Yes\nwithout_openssl=0\n\ntar=$(which gtar 2>/dev/null || which tar 2>/dev/null)\ninstall=$(which ginstall 2>/dev/null || which install 2>/dev/null)\n\nfunction usage ()\n{\ncat << EOF\nUsage: $0 [VAR=VALUE]...\n\nInstallation directories:\n --prefix=PREFIX         files go in directories under PREFIX [$default_prefix]\n --exec-prefix=EPREFIX   executables go in directories under EPREFIX [PREFIX]\n --bindir=DIR            user executables [EPREFIX/bin]\n --datadir=DIR           read-only architecture-independent data [PREFIX/share]\n --mandir=DIR            man-page base directory [\\$datadir/man]\n\ngit specific stuff and where to install it:\n --git-exec-path=DIR     git executables path [*currently* \\$bindir]\n --git-python-dir=DIR    git python scripts [\\$datadir/git/python]\n --git-template-dir=DIR  git templates [\\$datadir/git/templates]\n\nOther compilation options:\n --disable-http          disable http transport support [enable]\n --without-expat         build without expat (disables http-push) [enable]\n --with-curl=DIR         path to curl installation [/usr]\n --with-expat=DIR        path to libexpat installation [/usr]\n --with-sha1=METHOD      possible options are MOZILLA_SHA1, PPC_SHA1, ARM_SHA1\n                         and OPENSSL_SHA1 [autodetect / OPENSSL_SHA1]\n --with-shell=PATH       path to bourne-like shell [/bin/sh]\n --with-perl=PATH        path to perl [/usr/bin/perl]\n --with-python=PATH      path to python [/usr/bin/python]\nEOF\n\texit 0\n}\n\n# for debugging, really\n: ${outfile=config.mak}\n\n# Try to keep these in the same order as the help output above.\nwhile [ $# -gt 0 ]; do\n\tcase \"$1\" in\n\t\t--help*)\n\t\t\tusage\n\t\t;;\n\t\t--prefix=*)\n\t\t\tprefix=${1##*=}\n\t\t;;\n\t\t--exec-prefix=*)\n\t\t\texec_prefix=${1##*=}\n\t\t;;\n\t\t--bindir=*)\n\t\t\tbindir=${1##*=}\n\t\t;;\n\t\t--datadir=*)\n\t\t\tdatadir=${1##*=}\n\t\t;;\n\t\t--mandir=*)\n\t\t\tmandir=${1##*=}\n\t\t;;\n\t\t--git-exec-path=*)\n\t\t\tgit_exec_path=${1##*=}\n\t\t;;\n\t\t--git-python-dir=*)\n\t\t\tgit_python_dir=${1##*=}\n\t\t;;\n\t\t--git-template-dir=*)\n\t\t\tgit_template_dir=${1##*=}\n\t\t;;\n\t\t--disable-http*)\n\t\t\tenable_http=No\n\t\t\tenable_expat=No\n\t\t;;\n\t\t--without-expat*)\n\t\t\tenable_expat=No\n\t\t;;\n\t\t--with-curl=*)\n\t\t\tcurl_dir=${1##*=}\n\t\t;;\n\t\t--with-expat=*)\n\t\t\texpat_dir=${1##*=}\n\t\t;;\n\t\t--with-sha1=*)\n\t\t\tsha1=${1##*=}\n\t\t;;\n\t\t--with-shell=*)\n\t\t\tshell=${1##*=}\n\t\t;;\n\t\t--with-perl=*)\n\t\t\tperl=${1##*=}\n\t\t;;\n\t\t--with-python=*)\n\t\t\tpython=${1##*=}\n\t\t;;\n\tesac\n\tshift\ndone\n\n[ \"$prefix\" ] || prefix=\"$HOME\"\n[ \"$libdir\" ] || libdir=\"$prefix/lib\"\n[ \"$bindir\" ] || bindir=\"$prefix/bin\"\n[ \"$datadir\" ] || datadir=\"$prefix/share\"\n[ \"$mandir\" ] || mandir=\"$datadir/man\"\n[ \"$git_exec_path\" ] || git_exec_path=\"$bindir\"\n[ \"$git_python_dir\"] || git_python_dir=$datadir/git/python\n[ \"$git_template_dir\" ] || git_template_dir=$datadir/git/templates\n\n[ \"$shell\" ] || shell=/bin/sh\nif [ -z \"$perl\" ]; then\n\tperl=$(which perl 2>/dev/null || perl=/usr/bin/perl)\nfi\nif [ -z \"$python\" ]; then\n\tpython=$(which python 2>/dev/null || python=/usr/bin/python)\nfi\n\nfunction need () {\n\techo \"Need $@\"\n\tfor n in \"$@\"; do\n\t\techo \"NEEDS_$n = YesPlease\" >> $outfile\n\tdone\n}\n\nfunction no () {\n\techo \"Working around missing $@\"\n\tfor n in \"$@\"; do\n\t\techo \"NO_$n = YesPlease\" >> $outfile\n\tdone\n}\n\nfunction cflag () {\n\techo \"ALL_CFLAGS += $@\" >> $outfile\n}\n\n# for now this is just an alias\nalias ldflag=cflag\n\n#function ldflag () {\n#\techo \"ALL_LDFLAGS += $@\" >> $outfile\n#}\n\nsys=$(uname -s)\ncase $sys in\n\tDarwin)\n\t\tneed SSL_WITH_CRYPTO LIBICONV\n\t\t## fink\n\t\tcflag -I/sw/include\n\t\tldflag -L/sw/lib\n\t\t## darwinports\n\t\tcflag -I/opt/local/include\n\t\tldflag -L/opt/local/lib\n\t;;\n\tSunOS)\n\t\tneed SOCKET NSL LIBICONV\n\t\tno STRCASESTR\n\t\tcflag -D__EXTENSIONS__\n\t\t[ \"$shell\" = /bin/sh -a -x /bin/bash ] && shell=/bin/bash\n\t;;\n\tOpenBSD)\n\t\tneed LIBICONV\n\t\tno STRCASESTR\n\t\tcflag -I/usr/local/include\n\t\tldflag -L/usr/local/lib\n\t;;\nesac\n\nos=$(uname -o)\ncase $os in\n\tCygwin)\n\t\tneed LIBICONV\n\t\tno STRCASESTR IPV6\n\t\tcflag -DUSE_SYMLINK_HEAD=0\n\t\techo \"X = .exe\" >> $outfile\n\t;;\nesac\n\nif [ -z \"$sha1\" ]; then\n\tmach=$(uname -m)\n\tcase $mach in\n\t\t*arm*)\n\t\t\tsha1=ARM_SHA1\n\t\t;;\n\t\ti*86)\n\t\t\tsha1=OPENSSL_SHA1\n\t\t;;\n\t\t# Is this uname -m output for PPC??\n\t\tPPC|PowerPC)\n\t\t\tsha1=PPC_SHA1\n\t\t;;\n\t\t*)\n\t\t\tsha1=MOZILLA_SHA1\n\t\t;;\n\tesac\nfi\n\ncat << EOF > $outfile\nGIT_VERSION := $VERSION\n\n# Installation destinations\nprefix = $prefix\nbindir = $bindir\ntemplate_dir = $git_template_dir\nGIT_EXEC_PATH = $git_exec_path\nCFG_GIT_EXEC_PATH := $git_exec_path\nGIT_PYTHON_DIR = $git_python_dir\n\n# SHA1 method\n$sha1 = YesPlease\n\n# paths to system tools\nSHELL_PATH = $shell\nPERL_PATH = $perl\nPYTHON_PATH = $python\nTAR = $tar\nINSTALL = $install\n\n# Compilation options, library paths etc. etc.\nEOF\n\n\n# http transport support\nif [ \"$enable_http\" = Yes ]; then\n\techo \"# HTTP transport is enabled\" >> $outfile\n\techo 'PROGRAMS += git-http-fetch$X' >> $outfile\n\tif [ \"$curl_dir\" ]; then\n\t\tcflag -I$curl_dir/include\n\t\techo \"CURL_LIBCURL = -L$curl_dir/lib\"\n\tfi\n\techo \"CURL_LIBCURL += -lcurl\" >> $outfile\n\n\tif [ \"$enable_expat\" = Yes ]; then\n\t\techo \"# expat (push over http) is enabled\" >> $outfile\n\t\techo 'PROGRAMS += git-http-push$X' >> $outfile\n\n\t\tif [ \"$expat_dir\" ]; then\n\t\t\tcflag -I$expat_dir/include\n\t\t\techo \"EXPAT_LIBEXPAT = -L$expat_dir/lib\" >> $outfile\n\t\tfi\n\t\techo \"EXPAT_LIBEXPAT += -lexpat\" >> $outfile\n\tfi\nfi\n\ncat << EOF\n\nConfiguration summary:\n----------------------\n\n  Compilation options:\n    SHA1 method       : $sha1\n    HTTP transport    : $enable_http\n    HTTP push support : $enable_expat\n\n  System tools locations:\n    shell   : $shell\n    Perl    : $perl\n    Python  : $python\n    tar     : $tar\n    install : $install\n\n  Installation paths:\n    bindir utilities : $bindir\n    templates        : $git_template_dir\n    python scripts   : $git_python_dir\n    Everything else  : $git_exec_path\n\nPlease see config.mak and top of Makefile for ways to tweak the build further.\nEOF\n"},{"id":"11787","messageId":"20051114132956.GT30496@pasky.or.cz","threadId":"2495","inReplyTo":"437880AC.3040101@op5.se","subject":"Re: ./configure script prototype","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-11-14T13:29:56Z","receivedAt":"2005-11-14T13:29:56Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Mon, Nov 14, 2005 at 01:18:52PM CET, I got a letter\nwhere Andreas Ericsson <ae@op5.se> said that...\n> \t\t--prefix=*)\n> \t\t\tprefix=${1##*=}\n\nAren't those heavy bashisms?\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nVI has two modes: the one in which it beeps and the one in which\nit doesn't.\n"},{"id":"11793","messageId":"43789FED.7060401@op5.se","threadId":"2495","inReplyTo":"20051114132956.GT30496@pasky.or.cz","subject":"Re: ./configure script prototype","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2005-11-14T14:32:13Z","receivedAt":"2005-11-14T14:32:13Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Petr Baudis wrote:\n> Dear diary, on Mon, Nov 14, 2005 at 01:18:52PM CET, I got a letter\n> where Andreas Ericsson <ae@op5.se> said that...\n> \n>>\t\t--prefix=*)\n>>\t\t\tprefix=${1##*=}\n> \n> \n> Aren't those heavy bashisms?\n> \n\nDunno. I only know bash-scripting, really. I'll replace them with some \nsed thing instead.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"11796","messageId":"20051114155119.GA23912@taniwha.stupidest.org","threadId":"2495","inReplyTo":"43789FED.7060401@op5.se","subject":"Re: ./configure script prototype","fromName":"Chris Wedgwood","fromEmail":"cw@f00f.org","sentAt":"2005-11-14T15:51:19Z","receivedAt":"2005-11-14T15:51:19Z","isPatch":false,"sender":{"key":"cw@f00f.org","avatar":null},"body":"On Mon, Nov 14, 2005 at 03:32:13PM +0100, Andreas Ericsson wrote:\n\n> Dunno. I only know bash-scripting, really. I'll replace them with\n> some sed thing instead.\n\nFor some people /bin/sh != /bin/bash so you probably want \"!/bin/bash\"\ninstead.\n"},{"id":"11798","messageId":"4378B74E.2060208@op5.se","threadId":"2495","inReplyTo":"20051114155119.GA23912@taniwha.stupidest.org","subject":"Re: ./configure script prototype","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2005-11-14T16:11:58Z","receivedAt":"2005-11-14T16:11:58Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Chris Wedgwood wrote:\n> On Mon, Nov 14, 2005 at 03:32:13PM +0100, Andreas Ericsson wrote:\n> \n> \n>>Dunno. I only know bash-scripting, really. I'll replace them with\n>>some sed thing instead.\n> \n> \n> For some people /bin/sh != /bin/bash so you probably want \"!/bin/bash\"\n> instead.\n\nAch no. The configure script really needs to be portable. POSIX (or SUS \nor some such) define a minimum syntax that any shell must support when \ninvoked as /bin/sh.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"11800","messageId":"20051114163240.GA32445@ferdyx.org","threadId":"2495","inReplyTo":"20051114132956.GT30496@pasky.or.cz","subject":"Re: ./configure script prototype","fromName":"Fernando J. Pereda","fromEmail":"ferdy@ferdyx.org","sentAt":"2005-11-14T16:32:40Z","receivedAt":"2005-11-14T16:32:40Z","isPatch":false,"sender":{"key":"ferdy@ferdyx.org","avatar":"https://gravatar.com/avatar/96bf7c1ddf7ccd430255bd12d9d42b212dbc033b28c668a2bdf9c3995aa81e61?d=mp&s=160"},"body":"On Mon, Nov 14, 2005 at 02:29:56PM +0100, Petr Baudis wrote:\n| Dear diary, on Mon, Nov 14, 2005 at 01:18:52PM CET, I got a letter\n| where Andreas Ericsson <ae@op5.se> said that...\n| > \t\t--prefix=*)\n| > \t\t\tprefix=${1##*=}\n| \n| Aren't those heavy bashisms?\n\nAs far as I know, it should be supported by a POSIX 'sh'[1]:\n\n---8<---\n${parameter##word}\n\nRemove Largest Prefix Pattern. The word shall be expanded to produce a\npattern. The parameter expansion shall then result in parameter, with\nthe largest portion of the prefix matched by the pattern deleted.\n---8<---\n\nWhether other shells support it or not... I don't know.\n\nCheers,\nFerdy\n\n[1] http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html\n\n-- \nFernando J. Pereda Garcimartin\nGentoo Developer (Alpha,net-mail,mutt,git)\n20BB BDC3 761A 4781 E6ED  ED0B 0A48 5B0C 60BD 28D4\n"},{"id":"11819","messageId":"20051114174535.GA25978@taniwha.stupidest.org","threadId":"2495","inReplyTo":"4378B74E.2060208@op5.se","subject":"Re: ./configure script prototype","fromName":"Chris Wedgwood","fromEmail":"cw@f00f.org","sentAt":"2005-11-14T17:45:35Z","receivedAt":"2005-11-14T17:45:35Z","isPatch":false,"sender":{"key":"cw@f00f.org","avatar":null},"body":"On Mon, Nov 14, 2005 at 05:11:58PM +0100, Andreas Ericsson wrote:\n\n> Ach no. The configure script really needs to be portable. POSIX (or\n> SUS or some such) define a minimum syntax that any shell must\n> support when invoked as /bin/sh.\n\nThen bashism need to go away and it should be test with\ndash/ash/whatever.\n"},{"id":"11822","messageId":"20051114181958.GD20749@ca-server1.us.oracle.com","threadId":"2495","inReplyTo":"20051114132956.GT30496@pasky.or.cz","subject":"Re: ./configure script prototype","fromName":"Joel Becker","fromEmail":"joel.becker@oracle.com","sentAt":"2005-11-14T18:19:58Z","receivedAt":"2005-11-14T18:19:58Z","isPatch":false,"sender":{"key":"joel.becker@oracle.com","avatar":null},"body":"On Mon, Nov 14, 2005 at 02:29:56PM +0100, Petr Baudis wrote:\n> Dear diary, on Mon, Nov 14, 2005 at 01:18:52PM CET, I got a letter\n> where Andreas Ericsson <ae@op5.se> said that...\n> > \t\t--prefix=*)\n> > \t\t\tprefix=${1##*=}\n\n\t${i# and ${i% are POSIX, iirc.\n\nJoel\n\n-- \n\nLife's Little Instruction Book #197\n\n\t\"Don't forget, a person's greatest emotional need is to \n\t feel appreciated.\"\n\nJoel Becker\nPrincipal Software Developer\nOracle\nE-mail: joel.becker@oracle.com\nPhone: (650) 506-8127\n"},{"id":"11825","messageId":"Pine.LNX.4.64.0511141027380.3263@g5.osdl.org","threadId":"2495","inReplyTo":"20051114181958.GD20749@ca-server1.us.oracle.com","subject":"Re: ./configure script prototype","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-11-14T18:39:26Z","receivedAt":"2005-11-14T18:39:26Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Mon, 14 Nov 2005, Joel Becker wrote:\n\n> On Mon, Nov 14, 2005 at 02:29:56PM +0100, Petr Baudis wrote:\n> > Dear diary, on Mon, Nov 14, 2005 at 01:18:52PM CET, I got a letter\n> > where Andreas Ericsson <ae@op5.se> said that...\n> > > \t\t--prefix=*)\n> > > \t\t\tprefix=${1##*=}\n> \n> \t${i# and ${i% are POSIX, iirc.\n\nThey may be in POSIX, but they sure as h*ll aren't portable.\n\nThere's a _lot_ of machines out there that don't do POSIX, just because \nthose \"newfangled\" things are so complicated.\n\nAlso, even in POSIX, there's tons of different substandards, and you might \nfollow one but not the other. \n\nFinally, even if somebody is certified, they can very well be certified \nwith \"exceptions\", so if they claim POSIX it doesn't necessarily mean that \nthey follow all of it.\n\nIf you want to do a \"configure\" script (and I'm not sure it's worth it), \nyou should cater to the lowest common denominator for it to be meaningful. \nWhat the hell that would be, I have no idea, since if you ever want to run \non native Windows, it won't even be traditional shell. But traditional \nshell is at least a lot closer to that lowest common denominator than \nPOSIX shell is.\n\nThat said, most of those ${var...} sequences definitely _are_ very \ntraditional, and for all I know, ## may be too.\n\n\t\t\tLinus\n"},{"id":"11829","messageId":"20051114185949.GE20749@ca-server1.us.oracle.com","threadId":"2495","inReplyTo":"Pine.LNX.4.64.0511141027380.3263@g5.osdl.org","subject":"Re: ./configure script prototype","fromName":"Joel Becker","fromEmail":"joel.becker@oracle.com","sentAt":"2005-11-14T18:59:49Z","receivedAt":"2005-11-14T18:59:49Z","isPatch":false,"sender":{"key":"joel.becker@oracle.com","avatar":null},"body":"On Mon, Nov 14, 2005 at 10:39:26AM -0800, Linus Torvalds wrote:\n> > \t${i# and ${i% are POSIX, iirc.\n> \n> They may be in POSIX, but they sure as h*ll aren't portable.\n\n\tBy POSIX I meant POSIX shell, which is ksh.  That's available on\njust about all modern non-free Unices, and we all know bash and zsh are\ncompatible with it.\n\tBut I had no intention of arguing how portable POSIX is, I was\njust trying to describe the minimum breadth of support.  My personal\nexperience is that these particular variable forms have worked on Linux,\nSolaris, AIX, Ultrix, IRIX, and the BSDs for, I dunno, eight to ten\nyears or so.\n\tThat said, $(echo | sed), or `echo | sed` for even more\nbackwards portability (I bet $() is about as portable as ${i%}), can be\nused to replace the ${i%} forms.\n\nJoel\n\n-- \n\n\"I always thought the hardest questions were those I could not answer.\n Now I know they are the ones I can never ask.\"\n\t\t\t- Charlie Watkins\n\nJoel Becker\nPrincipal Software Developer\nOracle\nE-mail: joel.becker@oracle.com\nPhone: (650) 506-8127\n"},{"id":"11830","messageId":"4378DF71.3060103@op5.se","threadId":"2495","inReplyTo":"Pine.LNX.4.64.0511141027380.3263@g5.osdl.org","subject":"Re: ./configure script prototype","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2005-11-14T19:03:13Z","receivedAt":"2005-11-14T19:03:13Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Linus Torvalds wrote:\n> \n> On Mon, 14 Nov 2005, Joel Becker wrote:\n> \n> \n>>On Mon, Nov 14, 2005 at 02:29:56PM +0100, Petr Baudis wrote:\n>>\n>>>Dear diary, on Mon, Nov 14, 2005 at 01:18:52PM CET, I got a letter\n>>>where Andreas Ericsson <ae@op5.se> said that...\n>>>\n>>>>\t\t--prefix=*)\n>>>>\t\t\tprefix=${1##*=}\n>>\n>>\t${i# and ${i% are POSIX, iirc.\n> \n> \n> They may be in POSIX, but they sure as h*ll aren't portable.\n> \n\nA bit funny really. I've already said I'll change them to some sed \nthing, so the last 16 emails on this thread have been purely academic. I \nguess more people than me are bored by mondays.\n\n> If you want to do a \"configure\" script (and I'm not sure it's worth it), \n\nPerhaps not. I was under the impression that Junio was for it to \nsimplify the possible move of binaries to GIT_EXEC_PATH.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"11835","messageId":"7vr79jx9ox.fsf@assigned-by-dhcp.cox.net","threadId":"2495","inReplyTo":"4378DF71.3060103@op5.se","subject":"Re: ./configure script prototype","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-11-14T20:21:02Z","receivedAt":"2005-11-14T20:21:02Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Andreas Ericsson <ae@op5.se> writes:\n\n> Linus Torvalds wrote:\n>\n>> If you want to do a \"configure\" script (and I'm not sure it's worth\n>> it),\n>\n> Perhaps not. I was under the impression that Junio was for it to \n> simplify the possible move of binaries to GIT_EXEC_PATH.\n\nI do not see how that is related to it.\n\nOfftopic, but if you really want to do ${var##} and friends\nportably, expr(1) is the tool traditionalists prefer; not echo\npiped to sed, please.\n"}]}