Ticket #649: psmisc-22.2-1.patch

File psmisc-22.2-1.patch, 7.1 KB (added by leo <mleina1@…>, 12 years ago)
  • package/psmisc

    diff -ruN package/psmisc.orig/Config.in package/psmisc/Config.in
    old new  
     1config BR2_PACKAGE_PSMISC 
     2        prompt "Misc /proc utilities" 
     3        tristate 
     4        default m if CONFIG_DEVEL 
     5        help 
     6        PSmisc package is a set of additional small useful utilities that use 
     7        the proc filesystem: fuser, killall, pstree, and pidof 
     8         
     9        http://psmisc.sourceforge.net/ 
     10 
     11config BR2_PACKAGE_PSMISC_FUSER 
     12        prompt "fuser - identify processes using files or sockets" 
     13        bool 
     14        default y if CONFIG_DEVEL 
     15        depends BR2_PACKAGE_PSMISC 
     16 
     17config BR2_PACKAGE_PSMISC_KILLALL 
     18        prompt "killall - kill process by name, pidof - find PIDs by name" 
     19        bool 
     20        default y if CONFIG_DEVEL 
     21        depends BR2_PACKAGE_PSMISC 
     22 
     23config BR2_PACKAGE_PSMISC_PSTREE 
     24        prompt "pstree (requires libncurses) - display a tree of processes" 
     25        bool 
     26        default y if CONFIG_DEVEL 
     27        depends BR2_PACKAGE_PSMISC 
     28        select BR2_PACKAGE_LIBNCURSES 
     29        depends BR2_PACKAGE_PSMISC 
  • ipkg/psmisc.control

    diff -ruN package/psmisc.orig/ipkg/psmisc.control package/psmisc/ipkg/psmisc.control
    old new  
     1Package: psmisc 
     2Priority: optional 
     3Section: admin 
  • ipkg/psmisc.postinst

    diff -ruN package/psmisc.orig/ipkg/psmisc.postinst package/psmisc/ipkg/psmisc.postinst
    old new  
     1#!/bin/sh 
     2 
     3if [ -f /usr/bin/killall ] 
     4then 
     5    echo "Hard linking pidof to killall" 
     6    ln /usr/bin/killall /bin/pidof 
     7fi 
     8 
     9exit 0 
  • ipkg/psmisc.postrm

    diff -ruN package/psmisc.orig/ipkg/psmisc.postrm package/psmisc/ipkg/psmisc.postrm
    old new  
     1#!/bin/sh 
     2 
     3BINS="/sbin/fuser /usr/bin/killall /usr/bin/pstree /bin/pidof" 
     4echo "Recreating original BusyBox links: " 
     5 
     6for bin in $BINS 
     7do 
     8    if busybox 2>&1 | grep ${bin##/*/} >/dev/null 
     9    then 
     10         echo "$bin " 
     11         ln -sf /bin/busybox $bin 
     12    fi 
     13done 
     14 
     15exit 0 
  • ipkg/psmisc.preinst

    diff -ruN package/psmisc.orig/ipkg/psmisc.preinst package/psmisc/ipkg/psmisc.preinst
    old new  
     1#!/bin/sh 
     2 
     3echo "Removing symbolic links to BusyBox: " 
     4for bin in $BUILT 
     5do 
     6    if [ -h $bin ] 
     7    then 
     8        echo "$bin " 
     9        rm -f $bin 
     10    elif [ -e $bin ] 
     11    then 
     12        echo -e "$bin exists but is not a symbolic link.\nRe-creating BusyBox links and aborting..." 
     13        for bin in $BUILT 
     14        do 
     15            if busybox 2>&1 | grep ${bin##/*/} >/dev/null && [ ! -e $bin ] 
     16            then 
     17                ln -s /bin/busybox $bin 
     18            fi 
     19        done 
     20        exit 1 
     21    fi 
     22done 
     23 
     24exit 0 
  • ipkg/psmisc.prerm

    diff -ruN package/psmisc.orig/ipkg/psmisc.prerm package/psmisc/ipkg/psmisc.prerm
    old new  
     1#!/bin/sh 
     2 
     3if [ -f /sbin/pidof ] 
     4then 
     5    echo "Removing hard link from pidof to killall" 
     6    rm -f /sbin/pidof 
     7fi 
     8 
     9exit 0 
  • package/psmisc

    diff -ruN package/psmisc.orig/Makefile package/psmisc/Makefile
    old new  
     1include $(TOPDIR)/rules.mk 
     2 
     3PKG_NAME:=psmisc 
     4PKG_VERSION:=22.2 
     5PKG_RELEASE:=1 
     6PKG_MD5SUM:=77737c817a40ef2c160a7194b5b64337 
     7 
     8PKG_SOURCE_URL:=@SF/psmisc 
     9PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 
     10PKG_CAT:=zcat 
     11 
     12PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) 
     13PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install 
     14 
     15include $(TOPDIR)/package/rules.mk 
     16 
     17$(eval $(call PKG_template,PSMISC,$(PKG_NAME),$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) 
     18 
     19$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared 
     20        (cd $(PKG_BUILD_DIR); \ 
     21                $(TARGET_CONFIGURE_OPTS) \ 
     22                CFLAGS="$(TARGET_CFLAGS)" \ 
     23                CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \ 
     24                LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \ 
     25                ./configure \ 
     26                        --target=$(GNU_TARGET_NAME) \ 
     27                        --host=$(GNU_TARGET_NAME) \ 
     28                        --build=$(GNU_HOST_NAME) \ 
     29                        --prefix=$(PKG_INSTALL_DIR) \ 
     30                        --without-libiconv-prefix \ 
     31                        --without-libintl-prefix \ 
     32                        --disable-nls \ 
     33                        --disable-ipv6 \ 
     34                        --disable-largefile\ 
     35        ); 
     36 
     37        touch $@ 
     38 
     39APPS:= 
     40 
     41ifneq ($(BR2_PACKAGE_PSMISC_FUSER),) 
     42APPS += /sbin/fuser 
     43endif 
     44ifneq ($(BR2_PACKAGE_PSMISC_KILLALL),) 
     45APPS += /usr/bin/killall /bin/pidof 
     46endif 
     47ifneq ($(BR2_PACKAGE_PSMISC_PSTREE),) 
     48APPS += /usr/bin/pstree 
     49endif 
     50 
     51$(PKG_BUILD_DIR)/.built: 
     52        rm -rf $(PKG_INSTALL_DIR) 
     53        mkdir -p $(PKG_INSTALL_DIR)/usr/bin 
     54        mkdir -p $(PKG_INSTALL_DIR)/sbin 
     55        mkdir -p $(PKG_INSTALL_DIR)/bin 
     56        #Note here that we pass cross-compiler as default compiler to use 
     57        $(MAKE) -C $(PKG_BUILD_DIR) \ 
     58                CC=$(TARGET_CC) \ 
     59                CPPFLAGS="-I$(STAGING_DIR)/usr/include" \ 
     60                LD="$(TARGET_CC)" \ 
     61                LDFLAGS="-L$(STAGING_DIR)/usr/lib" \ 
     62                $(TARGET_CONFIGURE_OPTS) \ 
     63                prefix="$(PKG_INSTALL_DIR)" 
     64 
     65        if [ -n "$(BR2_PACKAGE_PSMISC_KILLALL)" ];then $(CP) $(PKG_BUILD_DIR)/src/killall $(PKG_INSTALL_DIR)/usr/bin;fi 
     66        if [ -n "$(BR2_PACKAGE_PSMISC_FUSER)" ];then $(CP) $(PKG_BUILD_DIR)/src/fuser $(PKG_INSTALL_DIR)/sbin;fi 
     67        if [ -n "$(BR2_PACKAGE_PSMISC_PSTREE)" ];then $(CP) $(PKG_BUILD_DIR)/src/pstree $(PKG_INSTALL_DIR)/usr/bin;fi 
     68 
     69        touch $@ 
     70 
     71$(IPKG_PSMISC): 
     72        install -d -m0755 $(IDIR_PSMISC)/usr/bin 
     73        install -d -m0755 $(IDIR_PSMISC)/sbin 
     74        install -d -m0755 $(IDIR_PSMISC)/bin 
     75         
     76        if [ -n "$(BR2_PACKAGE_PSMISC_KILLALL)" ];then $(CP) $(PKG_INSTALL_DIR)/usr/bin/killall $(IDIR_PSMISC)/usr/bin;fi 
     77        if [ -n "$(BR2_PACKAGE_PSMISC_FUSER)" ];then $(CP) $(PKG_INSTALL_DIR)/sbin/fuser $(IDIR_PSMISC)/sbin;fi 
     78        if [ -n "$(BR2_PACKAGE_PSMISC_PSTREE)" ];then $(CP) $(PKG_INSTALL_DIR)/usr/bin/pstree $(IDIR_PSMISC)/usr/bin;fi 
     79         
     80        $(RSTRIP) $(IDIR_PSMISC) 
     81         
     82        # Insert BUILT variable into preinst script 
     83        grep -v -e ^BUILT -e /bin/sh $(PKG_INSTALL_DIR)/../ipkg/$(PKG_NAME)/CONTROL/preinst > $(PKG_INSTALL_DIR)/../ipkg/$(PKG_NAME)/CONTROL/preinst.tmp 
     84        rm $(PKG_INSTALL_DIR)/../ipkg/$(PKG_NAME)/CONTROL/preinst 
     85        echo -e "#!/bin/sh\nBUILT='$(APPS)'\n" > $(PKG_INSTALL_DIR)/../ipkg/$(PKG_NAME)/CONTROL/preinst 
     86        cat $(PKG_INSTALL_DIR)/../ipkg/$(PKG_NAME)/CONTROL/preinst.tmp >> $(PKG_INSTALL_DIR)/../ipkg/$(PKG_NAME)/CONTROL/preinst 
     87        rm $(PKG_INSTALL_DIR)/../ipkg/$(PKG_NAME)/CONTROL/preinst.tmp 
     88 
     89        if [ -n "$(BR2_PACKAGE_PSMISC_PSTREE)" ] || \ 
     90                [ -n "$(BR2_PACKAGE_PSMISC_PSTREE)" ]; then\ 
     91        echo "Depends: libncurses" >> $(PKG_INSTALL_DIR)/../ipkg/$(PKG_NAME)/CONTROL/control; fi 
     92        echo "Description: Extra /proc utils: $(notdir $(APPS))" >>  \$(PKG_INSTALL_DIR)/../ipkg/$(PKG_NAME)/CONTROL/control 
     93 
     94        $(IPKG_BUILD) $(IDIR_PSMISC) $(PACKAGE_DIR) 
     95 
     96mostlyclean: 
     97        make -C $(PKG_BUILD_DIR) clean 
     98        rm $(PKG_BUILD_DIR)/.built