summaryrefslogtreecommitdiff
path: root/sysutils/lsof/Makefile
blob: 80bb40f8281b8d4cabfb9c54e22630b1f1264efa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# $NetBSD: Makefile,v 1.115 2014/03/27 19:26:40 ryoon Exp $

DISTNAME=		lsof_4.87
PKGNAME=		${DISTNAME:S/_/-/}
CATEGORIES=		sysutils
MASTER_SITES=		ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  \
			ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/NEW/ \
			ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/ \
			ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \
			ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/NEW/ \
			ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/OLD/ \
			ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/ \
			ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/NEW/ \
			ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/OLD/ \
			ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/ \
			ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/NEW/ \
			ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/OLD/ \
			ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ \
			ftp://sunsite.ualberta.ca/pub/Mirror/lsof/NEW/ \
			ftp://sunsite.ualberta.ca/pub/Mirror/lsof/OLD/
EXTRACT_SUFX=		.tar.bz2

MAINTAINER=		pkgsrc-users@NetBSD.org
HOMEPAGE=		http://people.freebsd.org/~abe/
COMMENT=		Lists information about open files

WRKSRC=			${WRKDIR}/${DISTNAME}/${SRCBALL_NAME}
HAS_CONFIGURE=		yes
CONFIGURE_SCRIPT=	./Configure
CONFIGURE_ARGS+=	-n ${LOWER_OPSYS}
CONFIGURE_ENV+=		LSOF_CC="${CC} ${CFLAGS}"
MAKE_FLAGS+=		LSOF_BLDCMT="NetBSD pkgsrc rocks!"
OSVERSION_SPECIFIC=	yes

TMPWRK=			${WRKDIR}/${DISTNAME}
SRCBALL_NAME=		${DISTNAME}_src

REPLACE_PERL+=	scripts/sort_res.perl5 scripts/count_pf.perl5 \
		scripts/list_NULf.perl5 scripts/big_brother.perl5 \
		scripts/identd.perl5 scripts/shared.perl5 \
		scripts/idrlogin.perl5 scripts/count_pf.perl \
		scripts/idrlogin.perl scripts/list_fields.perl \
		scripts/watch_a_file.perl
USE_TOOLS+=	gtar pax perl:run

PKG_INSTALLATION_TYPES=	overwrite pkgviews

TEST_DIRS=		tests
TEST_TARGET=		test
INTERACTIVE_STAGE+=	test

.include "../../mk/bsd.prefs.mk"
.include "options.mk"

REAL_GROUP=		${REAL_ROOT_GROUP}
.if ${OPSYS} == "NetBSD"
REAL_GROUP=		kmem
CONFIGURE_ENV+=		NETBSD_SYS="${NETBSDSRCDIR}/sys"
CPPFLAGS+=		-D_KMEMUSER
.elif ${OPSYS} == "FreeBSD"
BUILDLINK_PASSTHRU_DIRS+=	/usr/src/sys
.elif ${OPSYS} == "SunOS"
MAKE_ENV+=		CPPFLAGS=
.endif
INSTALLATION_DIRS=	${PKGMANDIR}/man8 sbin

post-extract:
.if ${OPSYS} == "FreeBSD"
	@(if [ ! -x /usr/src/sys ]; then \
		${ECHO} "Lsof requires kernel sources to be found in /usr/src/sys." ; \
		exit 1 ; \
	fi)
.endif
	@(cd ${TMPWRK} ; \
	EXPMD5=`${GREP} 'MD5 (' README.${DISTNAME} | ${SED} 's/^[ ]*//'` ; \
	CALCMD5=`${DIGEST} MD5 ${SRCBALL_NAME}.tar` ; \
	if [ "$${EXPMD5}"X != "$${CALCMD5}"X ]; then \
		${ECHO} "Expected and calculated MD5 signatures don't agree." ; \
		${ECHO} "($$EXPMD5 != $$CALCMD5)" ; \
		exit 1 ; \
	fi ; \
	if [ X${EXTRACT_USING} = Xgtar ]; then \
		${GTAR} -xf ${SRCBALL_NAME}.tar; \
	else \
		pax -O -r < ${SRCBALL_NAME}.tar; \
	fi)
	@( cd ${WRKSRC} ; ${ECHO} "y" | ./Inventory || exit 1 )

INSTALLATION_DIRS+=	sbin ${PKGMANDIR}/man8 share/lsof
SPECIAL_PERMS+=		${PREFIX}/sbin/lsof ${REAL_ROOT_USER} ${REAL_GROUP} 2755

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/lsof ${DESTDIR}${PREFIX}/sbin
	${INSTALL_MAN} ${WRKSRC}/lsof.8 \
	  ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8/lsof.8
	${INSTALL_SCRIPT} ${WRKSRC}/scripts/* ${DESTDIR}${PREFIX}/share/lsof
	@${CHMOD} 0444 ${DESTDIR}${PREFIX}/share/lsof/00*

opt:
.for _dir_ in ${TEST_DIRS}
	${RUN}${_ULIMIT_CMD}			\
	cd ${WRKSRC} && cd ${_dir_} &&		\
	${TEST_MAKE_CMD} opt
.endfor
.include "../../mk/bsd.pkg.mk"