-psmisc-*.tar.gz
-ABOUT-NLS
-INSTALL
-Makefile
-Makefile.in
-aclocal.m4
+*.lo
+*.o
+*.so
+*.swp
autom4te.cache/
config/
+cov-int/
+m4/
+ABOUT-NLS
+aclocal.m4
+compile
+config.cache
+config.guess
config.h
config.h.in
config.log
+config.rpath
config.status
+config.sub
configure
-cov-int/
+depcomp
+.deps
doc/Makefile
doc/Makefile.in
icons/Makefile
icons/Makefile.in
-m4/
+INSTALL
+install-sh
+Makefile
+Makefile.in
+missing
po/Makefile
po/Makefile.in
po/stamp-po
+psmisc-*.tar.gz
src/.deps/
-src/Makefile
-src/Makefile.in
-src/fuser.o
-src/killall.o
-src/peekfd.o
-src/prtstat.o
-src/pstree.o
-src/signals.o
+src/.dirstamp
+signames.h
stamp-h1
+2015-06-30 gettextize <bug-gnu-gettext@gnu.org>
+
+ * m4/gettext.m4: Upgrade to gettext-0.19.4.
+ * m4/iconv.m4: Upgrade to gettext-0.19.4.
+ * m4/lib-ld.m4: Upgrade to gettext-0.19.4.
+ * m4/lib-link.m4: Upgrade to gettext-0.19.4.
+ * m4/lib-prefix.m4: Upgrade to gettext-0.19.4.
+ * m4/nls.m4: Upgrade to gettext-0.19.4.
+ * m4/po.m4: Upgrade to gettext-0.19.4.
+ * m4/progtest.m4: Upgrade to gettext-0.19.4.
+ * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.19.4.
+
Changes in 22.22
================
* Make usage of linked lists of devices found in
-SUBDIRS = doc src po icons testsuite
+AM_CPPFLAGS = \
+ -Wall \
+ -DLOCALEDIR=\"$(localedir)\" \
+ @HARDEN_CFLAGS@
-#EXTRA_DIST = config.rpath ABOUT-NLS mkinstalldirs
+AM_LDFLAGS = @HARDEN_LDFLAGS@
ACLOCAL_AMFLAGS = -I m4
+SUBDIRS = \
+ doc \
+ po \
+ icons \
+ testsuite
+
+bin_PROGRAMS = \
+ src/killall \
+ src/prtstat \
+ src/pstree
+
+if WANT_FUSER
+ bin_PROGRAMS += src/fuser
+endif
+if WANT_PEEKFD_I386
+ bin_PROGRAMS += src/peekfd
+ AM_CPPFLAGS += -DI386
+endif
+if WANT_PEEKFD_X86_64
+ bin_PROGRAMS += src/peekfd
+ AM_CPPFLAGS += -DX86_64
+endif
+if WANT_PEEKFD_PPC
+ bin_PROGRAMS += src/peekfd
+ AM_CPPFLAGS += -DPPC
+endif
+if WANT_PEEKFD_ARM
+ bin_PROGRAMS += src/peekfd
+ AM_CPPFLAGS += -DARM
+endif
+if WANT_PEEKFD_MIPS
+ bin_PROGRAMS += src/peekfd
+ AM_CPPFLAGS += -DMIPS
+endif
+if WANT_PEEKFD_M68K
+ bin_PROGRAMS += src/peekfd
+ AM_CPPFLAGS += -DM68K
+endif
+
+src_fuser_SOURCES = \
+ src/fuser.c \
+ src/comm.h \
+ src/signals.c \
+ src/signals.h \
+ src/i18n.h \
+ src/fuser.h \
+ src/lists.h
+
+if WANT_TIMEOUT_STAT
+src_fuser_SOURCES += timeout.c timeout.h
+endif
+src_fuser_LDADD = @LIBINTL@
+src_killall_SOURCES = src/killall.c src/comm.h src/signals.c src/signals.h src/i18n.h
+src_killall_LDADD = @LIBINTL@ @SELINUX_LIB@
+src_peekfd_SOURCES = src/peekfd.c
+src_pstree_SOURCES = src/pstree.c src/comm.h src/i18n.h
+src_pstree_LDADD = @LIBINTL@ @TERMCAP_LIB@ @SELINUX_LIB@
+src_prtstat_SOURCES = src/prtstat.c src/prtstat.h
+src_prtstat_LDADD = @LIBINTL@
+
+BUILT_SOURCES = src/signames.h
+
+EXTRA_DIST = src/signames.c
+
+CLEANFILES = src/signames.h
+
+src/signames.h: src/signames.c Makefile
+ export LC_ALL=C ; \
+ @CPP@ -dM $< |\
+ tr -s '\t ' ' ' | sort -n -k 3 | sed \
+ 's:#define SIG\([A-Z][A-Z]*[0-9]*\) \([0-9][0-9]*\).*$\:{\ \2,"\1" },:p;d' | \
+ grep -v '[0-9][0-9][0-9]' >$@ || \
+ { rm -f $@; exit 1; }
+ grep '^{ 1,"HUP" },$$' $@ >/dev/null || \
+ { rm -f $@; exit 1; }
+
+install-exec-hook:
+ cd $(DESTDIR)$(bindir) && \
+ ( [ -h pstree.x11 ] || $(LN_S) pstree pstree.x11)
+
+
get-trans:
rsync -Lrtvz translationproject.org::tp/latest/psmisc/ po
#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-# This was lifted from the Gimp, and adapted slightly by
-# Raph Levien .
+#
+# Helps generate autoconf/automake stuff, when code is checked
+# out from SCM.
-DIE=0
-
-PROJECT=psmisc
+SRCDIR=$(dirname ${0})
+test -z "${SRCDIR}" && SRCDIR=.
-# Make it possible to specify path in the environment
-: ${AUTOCONF=autoconf}
-: ${AUTOHEADER=autoheader}
-: ${AUTOMAKE=automake}
-: ${ACLOCAL=aclocal}
-: ${AUTOPOINT=autopoint}
+THEDIR=$(pwd)
+cd ${SRCDIR}
+DIE=0
-($AUTOPOINT --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have gettext installed to compile $PROJECT."
- echo "Get ftp://ftp.gnu.org/pub/gnu/gettext-0.14.1.tar.gz"
- echo "(or a newer version if it is available)"
+test -f src/comm.h || {
+ echo "You must run this script in the top-level psmisc directory"
DIE=1
}
-($AUTOCONF --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have autoconf installed to compile $PROJECT."
- echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+(autopoint --version) < /dev/null > /dev/null 2>&1 || {
+ echo "You must have autopoint installed to generate psmisc build system."
+ echo "The autopoint command is part of the GNU gettext package."
DIE=1
}
-($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have automake installed to compile $PROJECT."
- echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.6.tar.gz"
- echo "(or a newer version if it is available)"
+(autoconf --version) < /dev/null > /dev/null || {
+ echo "You must have autoconf installed to generate psmisc build system."
+ DIE=1
+}
+(autoheader --version) < /dev/null > /dev/null || {
+ echo "You must have autoheader installed to generate psmisc build system."
+ echo "The autoheader command is part of the GNU autoconf package."
+ DIE=1
+}
+(automake --version) < /dev/null > /dev/null || {
+ echo "You must have automake installed to generate psmisc build system."
DIE=1
}
-if test "$DIE" -eq 1; then
+if test ${DIE} -ne 0; then
exit 1
fi
-if test -z "$*"; then
- echo "I am going to run ./configure with no arguments - if you wish "
- echo "to pass any to it, please specify them on the $0 command line."
-fi
+echo "Generate build-system by:"
+echo " autopoint: $(autopoint --version | head -1)"
+echo " aclocal: $(aclocal --version | head -1)"
+echo " autoconf: $(autoconf --version | head -1)"
+echo " autoheader: $(autoheader --version | head -1)"
+echo " automake: $(automake --version | head -1)"
-case $CC in
-*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
-esac
+rm -rf autom4te.cache
-for dir in .
-do
- echo processing $dir
- cd $dir
- configdir="m4"
- test -d $configdir || mkdir $configdir
- aclocalinclude="$ACLOCAL_FLAGS"
- $AUTOPOINT
- $ACLOCAL $aclocalinclude -I $configdir
- $AUTOHEADER -Wall
- $AUTOMAKE -Wall --add-missing --gnu $am_opt
- $AUTOCONF -Wall
- cd -
-done
+set -e
+po/update-potfiles
+autopoint --force $AP_OPTS
+if ! grep -q datarootdir po/Makefile.in.in; then
+ echo autopoint does not honor dataroot variable, patching.
+ sed -i -e 's/^datadir *=\(.*\)/datarootdir = @datarootdir@\
+datadir = @datadir@/g' po/Makefile.in.in
+fi
+aclocal -I m4 ${AL_OPTS}
+autoconf ${AC_OPTS}
+autoheader ${AH_OPTS}
-./configure "$@"
+automake --add-missing ${AM_OPTS}
echo
-echo "Now type 'make' to compile $PROJECT."
-
+echo "Now type '${SRCDIR}/configure' and 'make' to compile."
dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ([2.68])
+AC_PREREQ([2.69])
AC_CONFIG_MACRO_DIR([m4])
-AC_INIT([psmisc],[22.21])
+AC_INIT([psmisc],
+ m4_esyscmd([misc/git-version-gen .tarball-version]),
+ ,,,[https://www.gitlab.com/psmisc/psmisc])
+AM_INIT_AUTOMAKE([foreign 1.11 dejagnu subdir-objects -Wall -Wno-portability tar-pax no-dist-gzip dist-xz])
+AM_SILENT_RULES([no])
AC_CONFIG_SRCDIR([src/comm.h])
-AC_CONFIG_HEADER([config.h])
-AC_CONFIG_AUX_DIR([config])
-AC_CANONICAL_HOST
-AM_INIT_AUTOMAKE([1.10])
-AC_LANG([C])
+AC_CONFIG_HEADERS([config.h])
dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_MAKE_SET
+AC_USE_SYSTEM_EXTENSIONS(_GNU_SOURCE)
+AC_PROG_CXX
AC_PROG_LN_S
+AC_PROG_CC
+AC_PROG_CC_STDC
dnl checks for options
# SELinux support - off by default
AC_CHECK_MEMBERS([struct stat.st_rdev])
AC_TYPE_UID_T
-# Check that harden CFLAGS will compile
+# Check that harden CFLAGS and LDFLAGS will compile
AS_IF([test "$enable_harden_flags" = "yes"],
- HARDEN_CFLAGS="-fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security"
+ HARDEN_CFLAGS="-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security"
+ [HARDEN_LDFLAGS="-fPIE -pie -Wl,-z,relro -Wl,-z,now"]
[ AC_MSG_CHECKING([compiler supports harden flags])
save_harden_cflags="$CFLAGS"
CFLAGS="$CFLAGS $HARDEN_CFLAGS"
[AC_MSG_RESULT([no]); HARDEN_CFLAGS='']
)
CFLAGS="$save_harden_cflags"],
- [HARDEN_CFLAGS=""])
+ [HARDEN_CFLAGS=""
+ HARDEN_LDFLAGS=""])
AC_SUBST([HARDEN_CFLAGS])
+AC_SUBST([HARDEN_LDFLAGS])
dnl Check for language stuff
-AM_GNU_GETTEXT_VERSION([0.16.1])
+AM_GNU_GETTEXT_VERSION([0.19.4])
AM_GNU_GETTEXT([external])
dnl Must be after the gettext stuff as it sets build_cpu
AC_CONFIG_FILES([Makefile
doc/Makefile
- src/Makefile
icons/Makefile
po/Makefile.in
testsuite/Makefile])
--- /dev/null
+#!/bin/sh
+# Print a version string.
+scriptversion=2011-02-19.19; # UTC
+
+# Copyright (C) 2007-2011 Free Software Foundation, Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/.
+# It may be run two ways:
+# - from a git repository in which the "git describe" command below
+# produces useful output (thus requiring at least one signed tag)
+# - from a non-git-repo directory containing a .tarball-version file, which
+# presumes this script is invoked like "./git-version-gen .tarball-version".
+
+# In order to use intra-version strings in your project, you will need two
+# separate generated version string files:
+#
+# .tarball-version - present only in a distribution tarball, and not in
+# a checked-out repository. Created with contents that were learned at
+# the last time autoconf was run, and used by git-version-gen. Must not
+# be present in either $(srcdir) or $(builddir) for git-version-gen to
+# give accurate answers during normal development with a checked out tree,
+# but must be present in a tarball when there is no version control system.
+# Therefore, it cannot be used in any dependencies. GNUmakefile has
+# hooks to force a reconfigure at distribution time to get the value
+# correct, without penalizing normal development with extra reconfigures.
+#
+# .version - present in a checked-out repository and in a distribution
+# tarball. Usable in dependencies, particularly for files that don't
+# want to depend on config.h but do want to track version changes.
+# Delete this file prior to any autoconf run where you want to rebuild
+# files to pick up a version string change; and leave it stale to
+# minimize rebuild time after unrelated changes to configure sources.
+#
+# It is probably wise to add these two files to .gitignore, so that you
+# don't accidentally commit either generated file.
+#
+# Use the following line in your configure.ac, so that $(VERSION) will
+# automatically be up-to-date each time configure is run (and note that
+# since configure.ac no longer includes a version string, Makefile rules
+# should not depend on configure.ac for version updates).
+#
+# AC_INIT([GNU project],
+# m4_esyscmd([build-aux/git-version-gen .tarball-version]),
+# [bug-project@example])
+#
+# Then use the following lines in your Makefile.am, so that .version
+# will be present for dependencies, and so that .tarball-version will
+# exist in distribution tarballs.
+#
+# BUILT_SOURCES = $(top_srcdir)/.version
+# $(top_srcdir)/.version:
+# echo $(VERSION) > $@-t && mv $@-t $@
+# dist-hook:
+# echo $(VERSION) > $(distdir)/.tarball-version
+
+case $# in
+ 1|2) ;;
+ *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version" \
+ '[TAG-NORMALIZATION-SED-SCRIPT]'
+ exit 1;;
+esac
+
+tarball_version_file=$1
+tag_sed_script="${2:-s/x/x/}"
+nl='
+'
+
+# Avoid meddling by environment variable of the same name.
+v=
+v_from_git=
+
+# First see if there is a tarball-only version file.
+# then try "git describe", then default.
+if test -f $tarball_version_file
+then
+ v=`cat $tarball_version_file` || v=
+ case $v in
+ *$nl*) v= ;; # reject multi-line output
+ [0-9]*) ;;
+ *) v= ;;
+ esac
+ test -z "$v" \
+ && echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2
+fi
+
+if test -n "$v"
+then
+ : # use $v
+# Otherwise, if there is at least one git commit involving the working
+# directory, and "git describe" output looks sensible, use that to
+# derive a version string.
+elif test "`git log -1 --pretty=format:x . 2>&1`" = x \
+ && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \
+ || git describe --abbrev=4 HEAD 2>/dev/null` \
+ && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \
+ && case $v in
+ v[0-9]*) ;;
+ *) (exit 1) ;;
+ esac
+then
+ # Is this a new git that lists number of commits since the last
+ # tag or the previous older version that did not?
+ # Newer: v6.10-77-g0f8faeb
+ # Older: v6.10-g0f8faeb
+ case $v in
+ *-rc[0-9]) ;; # release candidate
+ *-*-*) : git describe is okay three part flavor ;;
+ *-*)
+ : git describe is older two part flavor
+ # Recreate the number of commits and rewrite such that the
+ # result is the same as if we were using the newer version
+ # of git describe.
+ vtag=`echo "$v" | sed 's/-.*//'`
+ commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \
+ || { commit_list=failed;
+ echo "$0: WARNING: git rev-list failed" 1>&2; }
+ numcommits=`echo "$commit_list" | wc -l`
+ v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`;
+ test "$commit_list" = failed && v=UNKNOWN
+ ;;
+ esac
+
+ case $v in
+ *-rc[0-9])
+ # Remove the "g" in git describe's output string, to save a byte.
+ v=`echo "$v" | sed 's/\(.*\)-g/\1-/'`;
+ ;;
+ *)
+ # Change the first '-' to a '.', so version-comparing tools work properly.
+ # Remove the "g" in git describe's output string, to save a byte.
+ v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`;
+ ;;
+ esac
+ v_from_git=1
+else
+ v=UNKNOWN
+fi
+
+v=`echo "$v" |sed 's/^v//'`
+
+# Test whether to append the "-dirty" suffix only if the version
+# string we're using came from git. I.e., skip the test if it's "UNKNOWN"
+# or if it came from .tarball-version.
+if test -n "$v_from_git"; then
+ # Don't declare a version "dirty" merely because a time stamp has changed.
+ git update-index --refresh > /dev/null 2>&1
+
+ dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty=
+ case "$dirty" in
+ '') ;;
+ *) # Append the suffix only if there isn't one already.
+ case $v in
+ *-dirty) ;;
+ *) v="$v-dirty" ;;
+ esac ;;
+ esac
+fi
+
+# Omit the trailing newline, so that m4_esyscmd can use the result directly.
+echo "$v" | tr -d "$nl"
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
Makefile.in.in
Makevars.template
POTFILES
+POTFILES.in
Rules-quot
boldquot.sed
en@boldquot.header
+2015-06-30 gettextize <bug-gnu-gettext@gnu.org>
+
+ * Makefile.in.in: Upgrade to gettext-0.19.4.
+ * Rules-quot: Upgrade to gettext-0.19.4.
+
2007-03-02 gettextize <bug-gnu-gettext@gnu.org>
* Makefile.in.in: Upgrade to gettext-0.16.1.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
-MSGID_BUGS_ADDRESS = csmall@small.dropbear.id.au
+MSGID_BUGS_ADDRESS = csmall@enc.com.au
# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty.
EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context. Possible values are "yes" and "no". Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+# --previous to keep previous msgids of translated messages,
+# --quiet to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed. Possible values are "yes" and "no". Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = yes
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist". Possible values are "yes" and
+# "no". Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = yes
+++ /dev/null
-src/fuser.c
-src/killall.c
-src/peekfd.c
-src/killall.c
-src/prtstat.c
-src/pstree.c
-src/signals.c
--- /dev/null
+#!/bin/sh
+
+if [ ! -f "po/Makevars" ]; then
+ echo "You must run this script in the top-level directory"
+ exit 1
+fi
+
+find . -name '*.c' |
+ sort |
+ sed 's|^./||' > po/POTFILES.in
+
+++ /dev/null
-
-AM_CFLAGS = -Wall -DLOCALEDIR=\"/usr/share/locale\" @HARDEN_CFLAGS@
-
-bin_PROGRAMS = killall pstree prtstat
-if WANT_FUSER
- bin_PROGRAMS += fuser
-endif
-if WANT_PEEKFD_I386
- bin_PROGRAMS += peekfd
- AM_CFLAGS += -DI386
-endif
-if WANT_PEEKFD_X86_64
- bin_PROGRAMS += peekfd
- AM_CFLAGS += -DX86_64
-endif
-if WANT_PEEKFD_PPC
- bin_PROGRAMS += peekfd
- AM_CFLAGS += -DPPC
-endif
-if WANT_PEEKFD_ARM
- bin_PROGRAMS += peekfd
- AM_CFLAGS += -DARM
-endif
-if WANT_PEEKFD_MIPS
- bin_PROGRAMS += peekfd
- AM_CFLAGS += -DMIPS
-endif
-if WANT_PEEKFD_M68K
- bin_PROGRAMS += peekfd
- AM_CFLAGS += -DM68K
-endif
-
-fuser_SOURCES = fuser.c comm.h signals.c signals.h i18n.h fuser.h lists.h
-if WANT_TIMEOUT_STAT
- fuser_SOURCES += timeout.c timeout.h
-endif
-
-fuser_LDADD = @LIBINTL@
-
-killall_SOURCES = killall.c comm.h signals.c signals.h i18n.h
-
-killall_LDADD = @LIBINTL@ @SELINUX_LIB@
-
-peekfd_SOURCES = peekfd.c
-
-pstree_SOURCES = pstree.c comm.h i18n.h
-
-pstree_LDADD = @LIBINTL@ @TERMCAP_LIB@ @SELINUX_LIB@
-
-prtstat_SOURCES = prtstat.c prtstat.h
-
-prtstat_LDADD = @LIBINTL@
-
-BUILT_SOURCES = signames.h
-
-EXTRA_DIST = signames.c
-
-CLEANFILES = signames.h
-
-signames.h: signames.c Makefile
- export LC_ALL=C ; \
- @CPP@ -dM $< |\
- tr -s '\t ' ' ' | sort -n -k 3 | sed \
- 's:#define SIG\([A-Z][A-Z]*[0-9]*\) \([0-9][0-9]*\).*$\:{\ \2,"\1" },:p;d' | \
- grep -v '[0-9][0-9][0-9]' >signames.h || \
- { rm -f signames.h; exit 1; }
- grep '^{ 1,"HUP" },$$' signames.h >/dev/null || \
- { rm -f signames.h; exit 1; }
-
-install-exec-hook:
- cd $(DESTDIR)$(bindir) && \
- ( [ -h pstree.x11 ] || $(LN_S) pstree pstree.x11)