# HG changeset patch # User Robert McIntyre # Date 1357668828 0 # Node ID 7b9d471fc1d3065b446abdbec0173218e7128b7b # Parent ab4011ea1463cdd93614569928a97c51a5380c1b create C wrapper and move bashrc to profile. diff -r ab4011ea1463 -r 7b9d471fc1d3 defaults/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defaults/Makefile Tue Jan 08 18:13:48 2013 +0000 @@ -0,0 +1,2 @@ +all: + gcc hg-wrapper.c -o hg-wrapper diff -r ab4011ea1463 -r 7b9d471fc1d3 defaults/bashrc --- a/defaults/bashrc Tue Jan 08 18:10:15 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -#!/bin/bash -set +h - -export PATH=\ -"/home/r/system/usr/bin:\ -/sbin/:\ -/bin:\ -/usr/sbin:\ -/usr/bin:\ -/tools/bin" - -alias ls="/usr/bin/env ls --color=auto " -export ls -alias la="ls -la" -export la - -# some personal shortcuts -alias r="reset" -export r -alias sl=ls -export sl -alias l=ls -export l - -colors="/etc/dircolors" -eval $(dircolors -b $colors) -unset colors - -export HGEDITOR="emacs" - -alias hg="~/.hg-wrapper" - -PS1="\[$(tput setaf 3)\][\u \w] # \[$(tput sgr0)\]" diff -r ab4011ea1463 -r 7b9d471fc1d3 defaults/create-skeleton.sh --- a/defaults/create-skeleton.sh Tue Jan 08 18:10:15 2013 +0000 +++ b/defaults/create-skeleton.sh Tue Jan 08 18:13:48 2013 +0000 @@ -1,4 +1,4 @@ mkdir -pv /pkg/defaults -ln -sfv $(pwd)/bashrc /pkg/defaults/.bashrc -ln -sfv $(pwd)/hg-wrapper.pl /pkg/defaults/.hg-wrapper +ln -sfv $(pwd)ls/profile /pkg/defaults/.profile +ln -sfv $(pwd)/hg-wrapper /pkg/defaults/.hg-wrapper diff -r ab4011ea1463 -r 7b9d471fc1d3 defaults/hg-wrapper Binary file defaults/hg-wrapper has changed diff -r ab4011ea1463 -r 7b9d471fc1d3 defaults/hg-wrapper.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defaults/hg-wrapper.c Tue Jan 08 18:13:48 2013 +0000 @@ -0,0 +1,12 @@ +#include +#include + +main( int argc, char ** argv, char ** envp ) +{ + if( setgid(getegid()) ) perror( "setgid" ); + if( setuid(geteuid()) ) perror( "setuid" ); + envp = 0; /* blocks IFS attack on non-bash shells */ + system( "/usr/bin/hg", argv, envp ); + perror( argv[0] ); + return errno; +} diff -r ab4011ea1463 -r 7b9d471fc1d3 defaults/hg-wrapper.pl --- a/defaults/hg-wrapper.pl Tue Jan 08 18:10:15 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -#!/usr/bin/perl -wT - -$ENV{"PATH"} = "/usr/bin"; -delete @ENV{qw(IFS CDPATH ENV BASH_ENV PATH)}; - -exec("whoami"); - -#unshift(@ARGV, "hg"); -#exec(@ARGV); diff -r ab4011ea1463 -r 7b9d471fc1d3 defaults/profile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defaults/profile Tue Jan 08 18:13:48 2013 +0000 @@ -0,0 +1,33 @@ +#!/bin/bash +set +h + +export PATH=\ +"/home/r/system/usr/bin:\ +/sbin/:\ +/bin:\ +/usr/sbin:\ +/usr/bin:\ +/tools/bin" + +alias ls="/usr/bin/env ls --color=auto " +export ls +alias la="ls -la" +export la + +# some personal shortcuts +alias r="reset" +export r +alias sl=ls +export sl +alias l=ls +export l + +colors="/etc/dircolors" +eval $(dircolors -b $colors) +unset colors + +export HGEDITOR="emacs" + +alias hg="~/.hg-wrapper" + +PS1="\[$(tput setaf 3)\][\u \w] # \[$(tput sgr0)\]" diff -r ab4011ea1463 -r 7b9d471fc1d3 defaults/suid-wrapper.c --- a/defaults/suid-wrapper.c Tue Jan 08 18:10:15 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -#include -#include - -main( int argc, char ** argv, char ** envp ) -{ - if( setgid(getegid()) ) perror( "setgid" ); - if( setuid(geteuid()) ) perror( "setuid" ); - envp = 0; /* blocks IFS attack on non-bash shells */ - system( "/usr/bin/hg", argv, envp ); - perror( argv[0] ); - return errno; -} diff -r ab4011ea1463 -r 7b9d471fc1d3 src/pkg.pl --- a/src/pkg.pl Tue Jan 08 18:10:15 2013 +0000 +++ b/src/pkg.pl Tue Jan 08 18:13:48 2013 +0000 @@ -79,11 +79,11 @@ @pkg_link_bashrc_cmd = ("install", "-g", $pkg_name, "-o", $pkg_name, - "/pkg/defaults/.bashrc", "$pkg_home/.profile"); + "/pkg/defaults/.profile", "$pkg_home/.profile"); @pkg_copy_hg_wrapper_cmd = - (install, "-g", "root", "-o", "root", - "-m", "4777", "/pkg/defaults/.hg-wrapper", $pkg_home); + (install, "-g", "hg-commit", "-o", "hg-commit", + "-m", "4711", "/pkg/defaults/.hg-wrapper", $pkg_home); #determine if the user already exists: `id $pkg_name 2>/dev/null`;