Re: [PATCH] Explain what 'ginstall' is
From: H.Merijn Brand <hidden>
Date: 2016-06-15 22:44:00
On Mon, 17 Dec 2007 17:21:08 -0800 (PST), Jakub Narebski [off-list ref] wrote:
Andy Dougherty [off-list ref] writes:quoted
[...]. Perhaps configure should just go looking for a suitable install program instead of assuming everyone has one.First, configure is, and (I think) consensus is that it should remain optional. This means that Makefile "guess" section should have good defaults for your operating system.
And what if you OS *does* have an install, but one that is completely useless^Wdifferent from the GNU install? Like the utterly useless install on HP-UX.
Second, the default autoconf macro AC_PROG_INSTALL *requires* that there is BSD-compatible `install' program (as 'install-sh' or 'install.sh') in the sources. Adding such script is (I think) not a problem;
Yeah!
finding minimal portable[*1*] script is. So if you know one... Footnotes: ---------- [*1*] By "portable" I mean here 'git portable', i.e. requiring only those shell constructs/features that git require, not necessary insanelt portable the way ./configure script is.
Something like this? (gui part still missing). This is what I now
use
--8<--- make-install
#!/bin/sh
PREFIX=/pro/local
BINDIR=$PREFIX/bin
SHARED=$PREFIX/share
for p in git-fetch-pack git-hash-object git-index-pack git-fast-import \
git-daemon git-merge-index git-mktag git-mktree git-patch-id \
git-receive-pack git-send-pack git-shell git-show-index \
git-unpack-file git-update-server-info git-upload-pack \
git-pack-redundant git-var git-merge-tree git-imap-send \
git-merge-recursive git-bisect git-checkout git-clone \
git-merge-one-file git-mergetool git-parse-remote git-pull \
git-rebase git-rebase--interactive git-repack git-request-pull \
git-sh-setup git-am git-merge git-merge-stupid git-merge-octopus \
git-merge-resolve git-lost-found git-quiltimport git-submodule \
git-filter-branch git-stash git-add--interactive git-archimport \
git-cvsimport git-relink git-cvsserver git-remote git-cvsexportcommit \
git-send-email git-svn git-instaweb git-merge-subtree ; do
rm -f $BINDIR/$p
cp $p $BINDIR
chmod 755 $BINDIR/$p
done
cp git $BINDIR
cd templates
rm -rf $SHARED/git-core
mkdir $SHARED/git-core
mkdir $SHARED/git-core/templates
(cd blt && tar cf - .) | (cd $SHARED/git-core/templates/ && tar xf -)
cd ..
cd perl
make
make install UNINST=1
cd ..
for p in git-format-patch git-show git-whatchanged git-cherry \
git-get-tar-commit-id git-init git-repo-config git-fsck-objects \
git-cherry-pick git-peek-remote git-status git-add git-annotate \
git-apply git-archive git-blame git-branch git-bundle git-cat-file \
git-check-attr git-checkout-index git-check-ref-format git-clean \
git-commit git-commit-tree git-count-objects git-describe git-diff \
git-diff-files git-diff-index git-diff-tree git-fast-export \
git-fetch git-fetch-pack git-fetch--tool git-fmt-merge-msg \
git-for-each-ref git-fsck git-gc git-grep git-init-db git-log \
git-ls-files git-ls-tree git-ls-remote git-mailinfo git-mailsplit \
git-merge-base git-merge-file git-merge-ours git-mv git-name-rev \
git-pack-objects git-prune git-prune-packed git-push git-read-tree \
git-reflog git-send-pack git-config git-rerere git-reset \
git-rev-list git-rev-parse git-revert git-rm git-shortlog \
git-show-branch git-stripspace git-symbolic-ref git-tag git-tar-tree \
git-unpack-objects git-update-index git-update-ref \
git-upload-archive git-verify-pack git-verify-tag git-write-tree \
git-show-ref git-pack-refs ; do
rm -f $BINDIR/$p
ln $BINDIR/git $BINDIR/$p
done
-->8---
--
H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using & porting perl 5.6.2, 5.8.x, 5.10.x on HP-UX 10.20, 11.00, 11.11,
& 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin. http://qa.perl.org
http://mirrors.develooper.com/hpux/ http://www.test-smoke.org
http://www.goldmark.org/jeff/stupid-disclaimers/