lsof: update to 4.98.0
This commit is contained in:
parent
c4288d9940
commit
ded1c9f504
3 changed files with 104 additions and 41 deletions
|
@ -1,11 +1,8 @@
|
||||||
This patch eliminates the need to modify /etc/hosts
|
gethostbyaddr() fails on the hostname of GitHub CI containers
|
||||||
|
|
||||||
--- a/tests/LTsock.c
|
--- a/tests/LTsock.c
|
||||||
+++ b/tests/LTsock.c
|
+++ b/tests/LTsock.c
|
||||||
@@ -255,10 +255,7 @@ main(argc, argv)
|
@@ -262,6 +262,3 @@
|
||||||
* Get the host name and its IP address. Convert the IP address to dotted
|
|
||||||
* ASCII form.
|
|
||||||
*/
|
|
||||||
- if (gethostname(hnm, sizeof(hnm) - 1)) {
|
- if (gethostname(hnm, sizeof(hnm) - 1)) {
|
||||||
- cem = "ERROR!!! can't get this host's name";
|
- cem = "ERROR!!! can't get this host's name";
|
||||||
- goto print_errno;
|
- goto print_errno;
|
||||||
|
@ -13,4 +10,3 @@ This patch eliminates the need to modify /etc/hosts
|
||||||
+ strncpy(hnm, "localhost", sizeof(hnm) - 1);
|
+ strncpy(hnm, "localhost", sizeof(hnm) - 1);
|
||||||
hnm[sizeof(hnm) - 1] = '\0';
|
hnm[sizeof(hnm) - 1] = '\0';
|
||||||
if (!(hp = gethostbyname(hnm))) {
|
if (!(hp = gethostbyname(hnm))) {
|
||||||
(void) snprintf(buf, bufl - 1, "ERROR!!! can't get IP address for %s",
|
|
86
srcpkgs/lsof/patches/fix-epoll-test.patch
Normal file
86
srcpkgs/lsof/patches/fix-epoll-test.patch
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
This patch has been upstreamed already, and should be
|
||||||
|
unnecessary in the next release.
|
||||||
|
|
||||||
|
https://github.com/lsof-org/lsof/commit/5ca335ff9ae6510cba0a94a62fbaa46709f7cb16
|
||||||
|
--- a/dialects/linux/tests/case-20-epoll.bash
|
||||||
|
+++ b/dialects/linux/tests/case-20-epoll.bash
|
||||||
|
@@ -8,9 +8,9 @@
|
||||||
|
fi
|
||||||
|
|
||||||
|
$TARGET 2>> $report | {
|
||||||
|
- read pid epfd
|
||||||
|
- if [[ -z "$pid" || -z "$epfd" ]]; then
|
||||||
|
- echo "unexpected output form target ( $TARGET )" >> $report
|
||||||
|
+ read pid epfd evp0 evp1
|
||||||
|
+ if [[ -z "$pid" || -z "$epfd" || -z "$evp0" || -z "$evp1" ]]; then
|
||||||
|
+ echo "unexpected output from target ( $TARGET )" >> $report
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! [ -e "/proc/$pid" ]; then
|
||||||
|
@@ -25,7 +25,7 @@
|
||||||
|
echo done
|
||||||
|
} >> $report
|
||||||
|
if $lsof -p $pid -a -d $epfd |
|
||||||
|
- grep -q "epoll *[0-9]* *.* *${epfd}u *a_inode *[0-9]*,[0-9]* *[0-9]* *[0-9]* *\[eventpoll:5,6\]"; then
|
||||||
|
+ grep -q "epoll *[0-9]* *.* *${epfd}u *a_inode *[0-9]*,[0-9]* *[0-9]* *[0-9]* *\[eventpoll:${evp0},${evp1}\]"; then
|
||||||
|
kill $pid
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
--- a/dialects/linux/tests/epoll.c
|
||||||
|
+++ b/dialects/linux/tests/epoll.c
|
||||||
|
@@ -14,42 +14,42 @@
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- struct epoll_event ev;
|
||||||
|
- int fd[2];
|
||||||
|
- if (pipe(fd) < 0)
|
||||||
|
- if (fd < 0)
|
||||||
|
+ int pipefd[2];
|
||||||
|
+ if (pipe(pipefd) < 0)
|
||||||
|
{
|
||||||
|
perror ("pipe");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
- if (dup2(fd[0], 5) < 0)
|
||||||
|
+ int evfd[2];
|
||||||
|
+ if ((evfd[0] = dup(pipefd[0])) < 0)
|
||||||
|
{
|
||||||
|
- perror ("dup2(fd[0], 5)");
|
||||||
|
+ perror ("dup(pipefd[0])");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
- if (dup2(fd[1], 6) < 0)
|
||||||
|
+ if ((evfd[1] = dup(pipefd[1])) < 0)
|
||||||
|
{
|
||||||
|
- perror ("dup2(fd[1], 6)");
|
||||||
|
+ perror ("dup(pipefd[1])");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ struct epoll_event ev;
|
||||||
|
ev.events = EPOLLOUT;
|
||||||
|
- ev.data.fd = 6;
|
||||||
|
+ ev.data.fd = evfd[1];
|
||||||
|
if (epoll_ctl (epfd, EPOLL_CTL_ADD, ev.data.fd, &ev) < 0)
|
||||||
|
{
|
||||||
|
- perror ("epoll_ctl<6>");
|
||||||
|
+ perror ("epoll_ctl<evfd[1]>");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
ev.events = EPOLLIN;
|
||||||
|
- ev.data.fd = 5;
|
||||||
|
+ ev.data.fd = evfd[0];
|
||||||
|
if (epoll_ctl (epfd, EPOLL_CTL_ADD, ev.data.fd, &ev) < 0)
|
||||||
|
{
|
||||||
|
- perror ("epoll_ctl<5>");
|
||||||
|
+ perror ("epoll_ctl<evfd[0]>");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- printf ("%d %d\n", getpid(), epfd);
|
||||||
|
+ printf ("%d %d %d %d\n", getpid(), epfd, evfd[0], evfd[1]);
|
||||||
|
fflush (stdout);
|
||||||
|
pause ();
|
||||||
|
return 0;
|
|
@ -1,48 +1,29 @@
|
||||||
# Template file for 'lsof'
|
# Template file for 'lsof'
|
||||||
pkgname=lsof
|
pkgname=lsof
|
||||||
version=4.96.3
|
version=4.98.0
|
||||||
revision=1
|
revision=1
|
||||||
build_style=configure
|
build_style=gnu-configure
|
||||||
configure_script="./Configure"
|
configure_args="--enable-security"
|
||||||
configure_args="-n linux"
|
hostmakedepends=groff
|
||||||
make_check_target="all"
|
checkdepends="util-linux procps-ng"
|
||||||
make_check_args="-C tests"
|
|
||||||
hostmakedepends="perl groff"
|
|
||||||
short_desc="LiSt Open Files"
|
short_desc="LiSt Open Files"
|
||||||
maintainer="Subhaditya Nath <sn03.general@gmail.com>"
|
maintainer="Subhaditya Nath <sn03.general@gmail.com>"
|
||||||
license="custom:lsof"
|
license="custom:lsof"
|
||||||
homepage="https://github.com/lsof-org/lsof"
|
homepage="https://github.com/lsof-org/lsof"
|
||||||
changelog="https://raw.githubusercontent.com/lsof-org/lsof/master/00DIST"
|
changelog="https://raw.githubusercontent.com/lsof-org/lsof/master/00DIST"
|
||||||
distfiles="https://github.com/lsof-org/lsof/archive/refs/tags/${version}/${version}.tar.gz"
|
distfiles="https://github.com/lsof-org/lsof/releases/download/${version}/lsof-${version}.tar.gz"
|
||||||
checksum=2753fc01452a3d2ee665e8365afdac0e9683197f3ec06231aa684a48b286d11c
|
checksum=2f8efa62cdf8715348b8f76bf32abf59f109a1441df35c686d23dccdeed34d99
|
||||||
|
|
||||||
post_extract() {
|
post_extract() {
|
||||||
# See: https://github.com/lsof-org/lsof/issues/61
|
# Fix GitHub CI quirks
|
||||||
# The TestDB was meant for storing known-good configurations, and
|
if [ $XBPS_BUILD_ENVIRONMENT = void-packages-ci ]; then
|
||||||
# skipping tests if the current system configuration exists in the
|
patch -Np1 <"$FILESDIR/fix-github-ci.patch"
|
||||||
# TestDB. But we don't want that.
|
fi
|
||||||
rm tests/CkTestDB
|
|
||||||
ln -s /bin/true tests/CkTestDB
|
# Ensure tests always run
|
||||||
|
ln -sf /bin/true tests/CkTestDB
|
||||||
}
|
}
|
||||||
|
|
||||||
pre_configure() {
|
post_install() {
|
||||||
export LSOF_CC="$CC"
|
vlicense COPYING
|
||||||
export LSOF_CFGF="$CFLAGS"
|
|
||||||
export LSOF_CFGL="$LDFLAGS"
|
|
||||||
export LSOF_INCLUDE="${XBPS_CROSS_BASE}/usr/include"
|
|
||||||
export LSOF_MAKE="$(command -v make)"
|
|
||||||
|
|
||||||
vsed "s|/\* #define\tHASSECURITY\t1 \*/|#define\tHASSECURITY\t1|" \
|
|
||||||
-i dialects/linux/machine.h
|
|
||||||
|
|
||||||
soelim Lsof.8 | grep -vi '^\.lf ' > lsof.8
|
|
||||||
}
|
|
||||||
|
|
||||||
do_install() {
|
|
||||||
vbin lsof
|
|
||||||
vman lsof.8
|
|
||||||
|
|
||||||
# extract license from readme
|
|
||||||
sed -n 00README -e '/^License/,/\*\/$/p' > License
|
|
||||||
vlicense License
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue