# ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples # If not running interactively, don't do anything [ -z "$PS1" ] && return # don't put duplicate lines in the history. See bash(1) for more options # don't overwrite GNU Midnight Commander's setting of `ignorespace'. HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups # ... or force ignoredups and ignorespace HISTCONTROL=ignoreboth # append to the history file, don't overwrite it shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # make less more friendly for non-text input files, see lesspipe(1) [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" # set variable identifying the chroot you work in (used in the prompt below) if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt #force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) color_prompt=yes else color_prompt= fi fi if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;; *) ;; esac # enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi # some more ls aliases #alias ll='ls -l' #alias la='ls -A' #alias l='ls -CF' # Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi ############################ ##CUSTOM#################### ############################ export KDEDIRS=/usr:/usr/local export KDEDIR=$KDEDIRS alias cp='cp -i' alias mv='mv -i' alias rm='rm -i' export HISTFILESIZE=1000000 ## A script to setup some needed variables and functions for KDE 4 development. ## This should normally go in the ~/.bashrc file of your kde-devel user, so ## that it is executed when a session for that user is started. ## ## If you don't use a separate user, the first section with the ## environment variables should go into a separate script. prepend() { [ -d "$2" ] && eval $1=\"$2\$\{$1:+':'\$$1\}\" && export $1 ; } # Other # you might want to set a full value for PATH rather than prepend'ing, to make # sure the your kde3 path isn't in here. prepend PATH /usr/local/bin # Qt # only set Qt related variables if you compiled Qt on your own # (which is discouraged). if you use the distro provided Qt, skip # this section. Comment it if necessary. export QTDIR=$HOME/kde/src/qt-kde prepend PATH $QTDIR/bin prepend LD_LIBRARY_PATH $QTDIR/lib prepend PKG_CONFIG_PATH $QTDIR/lib/pkgconfig # KDE export KDEDIR=$HOME/kde export KDEHOME=$HOME/.kde4 export KDETMP=/tmp/kde4-$USER mkdir -p $KDETMP prepend KDEDIRS $KDEDIR export KDEDIRS prepend PATH $KDEDIR/bin prepend LD_LIBRARY_PATH $KDEDIR/lib prepend PKG_CONFIG_PATH $KDEDIR/lib/pkgconfig prepend QT_PLUGIN_PATH $KDEDIR/lib/kde4/plugins export PATH export LD_LIBRARY_PATH export PKG_CONFIG_PATH export QT_PLUGIN_PATH # CMake # Make sure CMake searches the right places. prepend CMAKE_PREFIX_PATH $KDEDIR prepend CMAKE_LIBRARY_PATH $KDEDIR/lib prepend CMAKE_INCLUDE_PATH $KDEDIR/include export CMAKE_PREFIX_PATH export CMAKE_LIBRARY_PATH export CMAKE_INCLUDE_PATH # DBus # only set DBUS related variables if you compiled dbus on your own # (which is really discouraged). if you use the distro provided dbus, # skip this variable. Uncomment it if necessary. #export DBUSDIR=$KDEDIR #prepend PKG_CONFIG_PATH $DBUSDIR/lib/pkgconfig # only needed on some strange systems for compiling Qt. do not set # it unless you have to. #export YACC='byacc -d' # XDG # unset XDG_DATA_DIRS # to avoid seeing kde3 files from /usr # unset XDG_CONFIG_DIRS prepend XDG_DATA_HOME $HOME/kde/share export XDG_DATA_HOME # you might want to change these: export KDE_BUILD=$HOME/kde/build export KDE_SRC=$HOME/kde/src # make the debug output prettier export KDE_COLOR_DEBUG=1 export QTEST_COLORED=1 # Make # Tell many scripts how to switch from source dir to build dir: export OBJ_REPLACEMENT="s#$KDE_SRC#$KDE_BUILD#" # Use makeobj instead of make, to automatically switch to the build dir. # If you don't have makeobj, install the package named kdesdk-scripts or # kdesdk, or check out kdesdk/scripts from svn. alias make=makeobj # Uncomment the following lines if DBus does not work. DBus is not # working if, when you run `dbus-uuidgen --ensure && qdbus`, you get an error. # # alias dbusstart="eval `PATH=$DBUSDIR/bin \ # $DBUSDIR/bin/dbus-launch --auto-syntax`" # A function to easily build the current directory of KDE. # # This builds only the sources in the current ~/{src,build}/KDE subdirectory. # Usage: cs KDE/kdebase && cmakekde # will build/rebuild the sources in ~/src/KDE/kdebase function cmakekde { local srcFolder current if test -n "$1"; then # srcFolder is defined via command line argument srcFolder="$1" else # get srcFolder for current dir srcFolder=`pwd | sed -e s,$KDE_BUILD,$KDE_SRC,` fi # we are in the src folder, change to build directory # Alternatively, we could just use makeobj in the commands below... current=`pwd` if [ "$srcFolder" = "$current" ]; then cb fi # To enable tests, uncomment -DKDE4_BUILD_TESTS=TRUE. # If you are building to debug or develop, it is reccommended to # uncomment the line -DCMAKE_BUILD_TYPE=debugfull. Be sure to move # it above the -DKDE4_BUILD_TESTS=TRUE line if you leave that one # commented out. You can also change "debugfull" to "debug" to save # disk space. # Some distributions use a suffix for their library directory when # on x86_64 (i.e. /usr/lib64) if so, you have to add -DLIB_SUFFIX=64 # for example. cmake "$srcFolder" -DCMAKE_BUILD_TYPE=debugfull -DCMAKE_INSTALL_PREFIX=$KDEDIR \ # -DKDE4_BUILD_TESTS=TRUE \ # -DCMAKE_BUILD_TYPE=debugfull # uncomment the following two lines to make builds wait after # configuration step, so that the user can check configure output echo "Press to continue..." read userinput # Note: To speed up compiling, change 'make -j2' to 'make -jx', # where x is your number of processors +1 nice make -j3 && make install RETURN=$? cs return ${RETURN} } # for the lazy ones (aren't we all?) function cmakekdeall { local folders folders="kdesupport KDE/kdelibs KDE/kdebase \ KDE/kdepimlibs KDE/kdepim KDE/kdesdk \ KDE/kdegraphics KDE/kdevplatform KDE/kdevelop \ " # Add others or remove to taste, e.g. # KDE/kdemultimedia KDE/kdenetwork KDE/kdeutils \ cd && cs # go to src root svn up $folders for f in $folders; do # Remove the "|| return" part if you don't want to # stop the build whenever a single module fails. cs $f && cmakekde || return done } # A function to easily change to the build directory. # Usage: cb KDE/kdebase # will change to $KDE_BUILD/KDE/kdebase # Usage: cb # will simply go to the build folder if you are currently in a src folder # Example: # $ pwd # /home/user/src/KDE/kdebase # $ cb && pwd # /home/user/build/KDE/kdebase function cb { local dest # Make sure build directory exists. mkdir -p "$KDE_BUILD" # command line argument if test -n "$1"; then cd "$KDE_BUILD/$1" return fi # substitute src dir with build dir dest=`pwd | sed -e s,$KDE_SRC,$KDE_BUILD,` if test ! -d "$dest"; then # build directory does not exist, create mkdir -p "$dest" fi cd "$dest" } # Change to the source directory. Same as cb, except this # switches to $KDE_SRC instead of $KDE_BUILD. # Usage: cs KDE/kdebase # will change to $KDE_SRC/KDE/kdebase # Usage: cs # will simply go to the source folder if you are currently in a build folder # Example: # $ pwd # /home/user/build/KDE/kdebase # $ cs && pwd # /home/user/src/KDE/kdebase function cs { local dest current # Make sure source directory exists. mkdir -p "$KDE_SRC" # command line argument if test -n "$1"; then cd "$KDE_SRC/$1" else # substitute build dir with src dir dest=`pwd | sed -e s,$KDE_BUILD,$KDE_SRC,` current=`pwd` if [ "$dest" = "$current" ]; then cd "$KDE_SRC" else cd "$dest" fi fi } # Add autocompletion to cs function function _cs_scandir { local base ext base=$1 ext=$2 if [ -d $base ]; then for d in `ls $base`; do if [ -d $base/$d ]; then dirs="$dirs $ext$d/" fi done fi } function _cs() { local cur dirs _cs_scandir "$KDE_SRC" _cs_scandir "$KDE_SRC/KDE" "KDE/" COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=( $(compgen -W "${dirs}" -- ${cur}) ) } # Remove comment on next line to enable cs autocompletion #complete -F _cs cs function start3app { mkdir -p /tmp/$USER-kde export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games export LD_LIBRARY_PATH= export KDETMP=/tmp/$USER-kde export KDEVARTMP=/var/tmp/$USER-kde export KDEHOME=$HOME/.kde export KDEDIR=/usr export KDEDIRS=$KDEDIR export DISPLAY=:0 eval "$@" source $HOME/.bashrc #Reset environment variables again } #############HHHHHUUUUUUUUUNNNNNNNNNYYYYYYYYYYY export SVN_SSH="ssh -p 8022" export JAVA_HOME=/usr/lib/jvm/java-6-sun export DBUS_SYSTEM_POLICY_DIR=/etc/dbus-1/system.d alias cp='cp -iv' alias mv='mv -iv' alias rm='rm -iv' alias katecode='kate *.c *.cpp *.h >/dev/null 2>/dev/null'