# fss-0002

main:
  if [[ $(grep -m 1 -o '^t_git:[^:]*:' /etc/passwd) == "" ]] ; then adduser -l /bin/false -t target -g t_git -n git ; fi
  find -name '*.perl' -exec sed -i -e "s|/usr/bin/perl|$(type -p perl)|g" {} \;
  find -name 'Makefile' -exec sed -i -e "s|/usr/bin/perl|$(type -p perl)|g" {} \;
  find -name '*.sh' -exec sed -i -e "s|/usr/bin/perl|$(type -p perl)|g" {} \;
  find -name 'Makefile' -exec sed -i -e "s|/usr/bin/python|$(type -p python)|g" {} \;
  ./configure $CONF --without-python --with-libpcre
  sed -i -e 's|^ALL_LDFLAGS = |& -lcharset |' Makefile
  make
  make install
  for i in git-add git-annotate git-apply git-archive git-blame git-branch git-bundle git-cat-file git-check-attr git-check-ref-format git-checkout git-checkout-index git-cherry git-cherry-pick git-clean git-clone git-commit git-commit-tree git-config git-count-objects git-describe git-diff git-diff-files git-diff-index git-diff-tree git-fast-export git-fetch git-fetch--tool git-fetch-pack git-fmt-merge-msg git-for-each-ref git-format-patch git-fsck git-fsck-objects git-gc git-get-tar-commit-id git-grep git-http-fetch git-init git-init-db git-log git-ls-files git-ls-remote git-ls-tree git-mailinfo git-mailsplit git-merge-base git-merge-file git-merge-ours git-merge-recursive git-merge-subtree git-mv git-name-rev git-pack-objects git-pack-refs git-peek-remote git-prune git-prune-packed git-push git-read-tree git-reflog git-remote git-repo-config git-rerere git-reset git-rev-list git-rev-parse git-revert git-rm git-send-pack git-shortlog git-show git-show-branch git-show-ref git-status 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-whatchanged git-write-tree ; do rm -vf /bin/$i && ln -vsf git /bin/$i ; done
  if [[ -f /bin/git-cvsserver ]] ; then chgrp t_git /bin/git-cvsserver ; fi
  if [[ -f /bin/git-shell ]] ; then chgrp e_git /bin/git-shell ; fi
  chgrp e_git -R /bin/{git,git-add,git-annotate,git-apply,git-archive,git-blame,git-branch,git-bundle,git-cat-file,git-check-attr,git-check-ref-format,git-checkout,git-checkout-index,git-cherry,git-cherry-pick,git-clean,git-clone,git-commit,git-commit-tree,git-config,git-count-objects,git-describe,git-diff,git-diff-files,git-diff-index,git-diff-tree,git-fast-export,git-fetch,git-fetch--tool,git-fetch-pack,git-fmt-merge-msg,git-for-each-ref,git-format-patch,git-fsck,git-fsck-objects,git-gc,git-get-tar-commit-id,git-grep,git-http-fetch,git-init,git-init-db,git-log,git-ls-files,git-ls-remote,git-ls-tree,git-mailinfo,git-mailsplit,git-merge-base,git-merge-file,git-merge-ours,git-merge-recursive,git-merge-subtree,git-mv,git-name-rev,git-pack-objects,git-pack-refs,git-peek-remote,git-prune,git-prune-packed,git-push,git-read-tree,git-receive-pack,git-reflog,git-remote,git-repo-config,git-rerere,git-reset,git-rev-list,git-rev-parse,git-revert,git-rm,git-send-pack,git-shortlog,git-show,git-show-branch,git-show-ref,git-status,git-stripspace,git-symbolic-ref,git-tag,git-tar-tree,git-unpack-objects,git-update-index,git-update-ref,git-upload-archive,git-upload-pack,git-verify-pack,git-verify-tag,git-whatchanged,git-write-tree,gitk}
  chgrp e_git -R /share/git{k,-core,-gui} /lib/git-core
  if [[ -d /lib/perl? ]] ; then chgrp e_perl -R /lib/perl?/ ; fi
  if [[ -d ${TC}lib/perl? ]] ; then chgrp e_perl -R ${TC}lib/perl?/ ; fi
  cp -R /share/gitweb /home/targets/git/settings/
  rm -Rf /share/locale
  rm -Rf /share/gitweb
  cp -v ${PR}gitconfig /etc/skel/.gitconfig
