#!/bin/bash ## src2pkg script for: procps ## Auto-generated by src2pkg-2.0 ## src2pkg - Copyright 2005-2009 Gilbert Ashley SOURCE_NAME='procps-3.2.7.tar.gz' NAME='procps' # Use ALT_NAME to override guessed value VERSION='3.2.7' # Use ALT_VERSION to override guessed value # ARCH='' # BUILD='1' # PRE_FIX='usr' # Any extra options go here: # EXTRA_CONFIGS="" SOVER=3.2.7 PSMISCVER=22.3 PATCHLIST='procps-patches/procps.w.showfrom.diff.gz' # procps-patches/procps.nowarning.diff.gz if [[ "$ARCH" = "x86_64" ]] ; then # Taken from RedHat: ps truncates eip and esp to 32bit values on 64bit systems. # The patch adds 64bit rip and rsp to the 'ps' output options on x86_64 PATCHLIST="$PATCHLIST $NAME-patches/procps-3.2.7-ps-eip64.diff.gz" fi # Optional function replaces configure_source, compile_source, fake_install # To use, uncomment and write/paste CODE between the {} brackets. # build() { CODE } # Get the functions and configs . /usr/libexec/src2pkg/FUNCTIONS ; # Execute the named packaging steps: pre_process find_source make_dirs unpack_source ( cd $SRC_DIR tar xzf $PATCHES_DIR/$NAME-patches/psmisc-$PSMISCVER.tar.gz tar xzf $PATCHES_DIR/$NAME-patches/procinfo-18.tar.gz ) fix_source_perms # configure_source # # compile_source # If used, the 'build' function replaces these 3 # fake_install # echo $BLUE"Building procps-$VERSION:"$NORMAL make OPT="$STD_FLAGS $EXTRA_FLAGS" &> /dev/null mkdir -p $PKG_DIR/lib${LIBDIRSUFFIX} mkdir -p $PKG_DIR/{bin,sbin} $PKG_DIR/usr/bin cp ps/ps $PKG_DIR/bin cp free $PKG_DIR/bin cp sysctl $PKG_DIR/sbin for PROG in pkill skill pmap slabtop tload top uptime vmstat w watch ; do cp $PROG $PKG_DIR/usr/bin done cp proc/libproc-${SOVER}.so $PKG_DIR/lib${LIBDIRSUFFIX}/libproc-${SOVER}.so ( cd $PKG_DIR/usr/bin ln -sf pkill pgrep ln -sf skill snice ln -sf ../../bin/free . ln -sf ../../bin/ps . ) # install man-pages mkdir -p $MAN_DIR/man1 for PAGE in free.1 pgrep.1 pkill.1 ps/ps.1 slabtop.1 skill.1 snice.1 \ tload.1 top.1 uptime.1 w.1 watch.1 ; do cp $PAGE $MAN_DIR/man1 done mkdir -p $MAN_DIR/man5 cp sysctl.conf.5 $MAN_DIR/man5 mkdir -p $MAN_DIR/man8 cp vmstat.8 sysctl.8 $MAN_DIR/man8 # now build the extras ( cd $SRC_DIR echo $BLUE"Now building: "$NORMAL"psmisc-$PSMISCVER" ( cd psmisc-$PSMISCVER CFLAGS=$CFLAGS ./configure --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} --disable-nls &> /dev/null make &> /dev/null ( cd src cp fuser pstree $PKG_DIR/usr/bin cp killall $PKG_DIR/bin ) (cd doc for PAGE in fuser.1 killall.1 pstree.1 ; do cp $PAGE $MAN_DIR/man1 done ) mkdir -p $PKG_DIR/$docdir/psmisc-$PSMISCVER cp AUTHORS COPYING ChangeLog INSTALL NEWS README $PKG_DIR/$docdir/psmisc-$PSMISCVER chmod 644 $PKG_DIR/$docdir/psmisc-$PSMISCVER/* ) echo $BLUE"Now building: "$NORMAL"procinfo-18" ( cd procinfo-18 zcat $PATCHES_DIR/$NAME-patches/procinfo.gcc3.diff.gz | patch -p1 patch -p0 < $PATCHES_DIR/$NAME-patches/procinfo-use-ncurses.diff make CFLAGS="$CFLAGS" &> /dev/null cp procinfo $PKG_DIR/usr/bin cp lsdev.pl $PKG_DIR/usr/bin/lsdev cp socklist.pl $PKG_DIR/usr/bin/socklist cp *.8 $MAN_DIR/man8 mkdir -p $PKG_DIR/$docdir/procinfo-18 cp -a CHANGES README $PKG_DIR/$docdir/procinfo-18 ) ) fix_pkg_perms strip_bins create_docs compress_man_pages make_description make_doinst make_package post_process ## See the documentation for more help and examples. Below are some of # the most common Extras and Options for easy cut-and-paste use. # DOCLIST='' PATCHLIST='' INSTALL_TYPE='' # CONFIG_COMMAND='' MAKE_COMMAND='' INSTALL_LINE='' # When editing src2pkg scripts to add custom code, use these variables # to refer to the current directory, the sources or the package tree: # $CWD (current directory), $SRC_DIR (sources), $PKG_DIR (package tree) # Other commonly-used directories include: $DOC_DIR (document directory) # $MAN_DIR (man-page directory) $DATA_DIR (shared-data directory)