Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 1 | SUMMARY = "LiSt Open Files tool" |
| 2 | DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \ |
| 3 | Its name stands for LiSt Open Files, and it does just that." |
| 4 | HOMEPAGE = "http://people.freebsd.org/~abe/" |
| 5 | SECTION = "devel" |
Andrew Geissler | 5199d83 | 2021-09-24 16:47:35 -0500 | [diff] [blame] | 6 | LICENSE = "Spencer-94" |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 7 | LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" |
| 8 | |
| 9 | # Upstream lsof releases are hosted on an ftp server which times out download |
| 10 | # attempts from hosts for which it can not perform a DNS reverse-lookup (See: |
| 11 | # https://people.freebsd.org/~abe/ ). http://www.mirrorservice.org seems to be |
| 12 | # the most commonly used alternative. |
| 13 | |
| 14 | SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2 \ |
| 15 | file://lsof-remove-host-information.patch \ |
| 16 | " |
| 17 | |
| 18 | SRC_URI[md5sum] = "148ed410cb52e08c2adc0c60f480f11f" |
| 19 | SRC_URI[sha256sum] = "c9da946a525fbf82ff80090b6d1879c38df090556f3fe0e6d782cb44172450a3" |
| 20 | |
Andrew Geissler | 5199d83 | 2021-09-24 16:47:35 -0500 | [diff] [blame] | 21 | UPSTREAM_CHECK_URI = "https://github.com/lsof-org/lsof/releases/" |
| 22 | UPSTREAM_CHECK_REGEX = "lsof_(?P<pver>.*)\.linux\.tar" |
| 23 | |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 24 | LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar" |
| 25 | |
| 26 | S = "${WORKDIR}/lsof_${PV}_src" |
| 27 | |
| 28 | python do_unpack () { |
| 29 | if not bb.data.inherits_class('externalsrc', d) or not d.getVar('EXTERNALSRC'): |
| 30 | # temporarily change S for unpack of lsof_${PV} |
| 31 | s = d.getVar('S', False) |
| 32 | d.setVar('S', '${WORKDIR}/lsof_${PV}') |
| 33 | bb.build.exec_func('base_do_unpack', d) |
| 34 | # temporarily change SRC_URI for unpack of lsof_${PV}_src |
| 35 | src_uri = d.getVar('SRC_URI', False) |
| 36 | d.setVar('SRC_URI', '${LOCALSRC}') |
| 37 | d.setVar('S', s) |
| 38 | bb.build.exec_func('base_do_unpack', d) |
| 39 | d.setVar('SRC_URI', src_uri) |
| 40 | } |
| 41 | |
| 42 | export LSOF_INCLUDE = "${STAGING_INCDIR}" |
| 43 | |
| 44 | do_configure () { |
| 45 | export LSOF_AR="${AR} cr" |
| 46 | export LSOF_RANLIB="${RANLIB}" |
| 47 | if [ "x${GLIBCVERSION}" != "x" ]; then |
| 48 | LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'` |
| 49 | LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}" |
| 50 | export LINUX_CLIB |
| 51 | fi |
| 52 | yes | ./Configure linux |
| 53 | } |
| 54 | |
| 55 | export I = "${STAGING_INCDIR}" |
| 56 | export L = "${STAGING_INCDIR}" |
| 57 | |
| 58 | do_compile () { |
| 59 | oe_runmake 'CC=${CC}' 'CFGL=${LDFLAGS} -L./lib -llsof' 'DEBUG=' 'INCL=${CFLAGS}' |
| 60 | } |
| 61 | |
| 62 | do_install () { |
| 63 | install -d ${D}${sbindir} ${D}${mandir}/man8 |
| 64 | install -m 0755 lsof ${D}${sbindir}/lsof |
| 65 | install -m 0644 lsof.8 ${D}${mandir}/man8/lsof.8 |
| 66 | } |