diff --git a/.gitignore b/.gitignore index 4aad627..f785c3b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,6 @@ -/lsof_4.88-rh.tar.xz +/lsof_4.91-rh.tar.xz +/lsof-4.93.2-rh.tar.xz +/lsof-4.94.0-rh.tar.xz +/lsof-4.95.0-rh.tar.xz +/lsof-4.96.3-rh.tar.xz +/lsof-4.98.0-rh.tar.xz diff --git a/f42-ftbfs.patch b/f42-ftbfs.patch new file mode 100644 index 0000000..626bfab --- /dev/null +++ b/f42-ftbfs.patch @@ -0,0 +1,31 @@ +diff --git a/misc.c b/misc.c +index 9f443ea..a4bb3db 100644 +--- a/misc.c ++++ b/misc.c +@@ -58,7 +58,7 @@ _PROTOTYPE(static void closePipes,(void)); + _PROTOTYPE(static int dolstat,(char *path, char *buf, int len)); + _PROTOTYPE(static int dostat,(char *path, char *buf, int len)); + _PROTOTYPE(static int doreadlink,(char *path, char *buf, int len)); +-_PROTOTYPE(static int doinchild,(int (*fn)(), char *fp, char *rbuf, int rbln)); ++_PROTOTYPE(static int doinchild,(int (*fn)(char *, char *, int), char *fp, char *rbuf, int rbln)); + + #if defined(HASINTSIGNAL) + _PROTOTYPE(static int handleint,(int sig)); +@@ -234,7 +234,7 @@ compdev(a1, a2) + + static int + doinchild(fn, fp, rbuf, rbln) +- int (*fn)(); /* function to perform */ ++ int (*fn)(char *, char *, int); /* function to perform */ + char *fp; /* function parameter */ + char *rbuf; /* response buffer */ + int rbln; /* response buffer length */ +@@ -296,7 +296,7 @@ doinchild(fn, fp, rbuf, rbln) + */ + struct stat _; + } r; +- int (*r_fn)(); ++ int (*r_fn)(char *, char *, int); + /* + * Close sufficient open file descriptors except Pipes[0] and + * Pipes[3]. diff --git a/lsof-4.88-pipe-files.patch b/lsof-4.88-pipe-files.patch deleted file mode 100644 index 638e0a7..0000000 --- a/lsof-4.88-pipe-files.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -upr lsof_4.88-rh.orig/dialects/linux/dnode.c lsof_4.88-rh/dialects/linux/dnode.c ---- lsof_4.88-rh.orig/dialects/linux/dnode.c 2014-10-14 00:26:03.000000000 +0200 -+++ lsof_4.88-rh/dialects/linux/dnode.c 2015-01-05 19:57:05.562294509 +0100 -@@ -580,7 +580,7 @@ process_proc_node(p, pbr, s, ss, l, ls) - Lf->inp_ty = 1; - - #if defined(HASEPTOPTS) -- if (Lf->ntype == N_FIFO) { -+ if ((Lf->ntype == N_FIFO) && FpipeE) { - (void) enter_pinfo(); - Lf->sf |= SELPINFO; - } diff --git a/lsof-man-page-section.patch b/lsof-man-page-section.patch new file mode 100644 index 0000000..47da375 --- /dev/null +++ b/lsof-man-page-section.patch @@ -0,0 +1,10 @@ +diff -up ./Lsof.8.ori ./Lsof.8 +--- ./Lsof.8.ori 2022-09-20 19:46:03.560004892 +0200 ++++ ./Lsof.8 2022-09-20 19:46:17.578086787 +0200 +@@ -1,5 +1,5 @@ + .so ./version +-.TH LSOF 8 Revision-\*(VN ++.TH LSOF 1 Revision-\*(VN + .\" Register )P is used neither by this file nor any groff macro. However, + .\" some versions of nroff require it. + .if !\n(.g \{\ diff --git a/lsof-tirpc.patch b/lsof-tirpc.patch new file mode 100644 index 0000000..efe343e --- /dev/null +++ b/lsof-tirpc.patch @@ -0,0 +1,11 @@ +--- lsof_4.91-rh/Configure.orig 2018-05-22 15:54:57.275682247 +0200 ++++ lsof_4.91-rh/Configure 2018-05-22 15:55:22.314556548 +0200 +@@ -2945,7 +2945,7 @@ return(0); } + + # Test for . + +- if ! test -r ${LSOF_INCLUDE}/rpc/rpc.h # { ++ if ! test -r ${LSOF_INCLUDE}/tirpc/rpc/rpc.h # { + then + LSOF_CFGF="$LSOF_CFGF -DHASNORPC_H" + fi # } diff --git a/lsof.spec b/lsof.spec index 772f9e0..04379d5 100644 --- a/lsof.spec +++ b/lsof.spec @@ -1,12 +1,9 @@ Summary: A utility which lists open files on a Linux/UNIX system Name: lsof -Version: 4.88 -Release: 3%{?dist} -# Sendmail .. lib/snpf.c -# LGPLv2+ .. lib/regex.c, regex.h -License: zlib and Sendmail and LGPLv2+ -Group: Development/Debuggers -URL: http://people.freebsd.org/~abe/ +Version: 4.98.0 +Release: 8%{?dist} +License: lsof +URL: https://github.com/lsof-org/lsof # lsof contains licensed code that we cannot ship. Therefore we use # upstream2downstream.sh script to remove the code before shipping it. @@ -14,39 +11,160 @@ URL: http://people.freebsd.org/~abe/ # The script can be found in SCM or downloaded from: # http://pkgs.fedoraproject.org/cgit/lsof.git/tree/upstream2downstream.sh -%global lsofrh lsof_%{version}-rh +%global lsofrh lsof-%{version}-rh Source0: %{lsofrh}.tar.xz Source1: upstream2downstream.sh -# upstream patch: eliminates unwanted pipe file output -Patch0: lsof-4.88-pipe-files.patch +# BZ#1260300 - move lsof man page to section 1 +Patch0: lsof-man-page-section.patch +Patch1: f42-ftbfs.patch +BuildRequires: gcc BuildRequires: libselinux-devel +BuildRequires: libtirpc-devel +BuildRequires: groff-base +BuildRequires: make +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: git %description Lsof stands for LiSt Open Files, and it does just that: it lists information about files that are open by the processes running on a UNIX system. %prep -%setup -q -n %{lsofrh} -%patch0 -p1 -b .pipe-files +%autosetup -n %{lsofrh} -S git %build -./Configure -n linux -make DEBUG="$RPM_OPT_FLAGS" %{?_smp_mflags} +%configure +%make_build DEBUG="%{build_cflags} -I/usr/include/tirpc" CFGL="%{build_ldflags} -L./lib -llsof -lselinux -ltirpc" +# rebase to 4.93 introduced change in Lsof.8 with unhandled .so inclusion +soelim -r Lsof.8 > lsof.1 %install -mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} -install -p -m 0755 lsof ${RPM_BUILD_ROOT}%{_sbindir} -mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8 -install -p -m 0644 lsof.8 ${RPM_BUILD_ROOT}%{_mandir}/man8 +mkdir -p ${RPM_BUILD_ROOT}%{_bindir} +install -p -m 0755 lsof ${RPM_BUILD_ROOT}%{_bindir} +mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1 +install -p -m 0644 lsof.1 ${RPM_BUILD_ROOT}%{_mandir}/man1/lsof.1 %files -%doc 00* README* RELEASE* -%{_sbindir}/lsof +%doc 00README 00CREDITS 00FAQ 00LSOF-L 00QUICKSTART +%{_bindir}/lsof %{_mandir}/man*/* %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 4.98.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jan 24 2025 Jan Rybar - 4.98.0-7 +- FTBFS: stricter check, incompatible types + +* Fri Jan 17 2025 Fedora Release Engineering - 4.98.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 4.98.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 4.98.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 4.98.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Oct 23 2023 Jan Rybar - 4.98.0-2 +- version bump due to licence fix + +* Fri Oct 20 2023 Jan Rybar - 4.98.0-1 +- rebase to lsof-4.98 + +* Thu Jul 20 2023 Fedora Release Engineering - 4.96.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 4.96.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Nov 21 2022 Florian Weimer - 4.96.3-2 +- Fix C89isms in Configure + +* Tue Sep 20 2022 Jan Rybar - 4.96.3-1 +- rebase to 4.96.3 + +* Fri Sep 02 2022 Jan Rybar - 4.95.0-1 +- rebase to 4.95.0 + +* Thu Jul 21 2022 Fedora Release Engineering - 4.94.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 4.94.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 4.94.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jan 28 2021 Jan Rybar - 4.94.0-1 +- Rebase to 4.94.0 + +* Tue Jan 26 2021 Fedora Release Engineering - 4.93.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 4.93.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 4.93.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 4.93.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 28 2019 Jan Rybar - 4.93.2-1 +- Rebase to lsof-4.93.2 +- Upstream moved to GitHub and tarball structure changed +- Manpage patch needed to reflect the tarball changes + +* Fri Feb 01 2019 Fedora Release Engineering - 4.91-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 4.91-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue May 22 2018 Peter Schiffer - 4.91-1 +- resolves: #1560993 + updated to 4.91 +- resolves: #1574669 + use tirpc library for rpc + +* Fri Apr 13 2018 Rafael dos Santos - 4.90-2 +- Use standard Fedora build flags (bug #1548552) + +* Wed Feb 21 2018 Peter Schiffer - 4.90-1 +- resolves: #1545963 + updated to 4.90 + +* Thu Feb 08 2018 Fedora Release Engineering - 4.89-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 4.89-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 4.89-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 4.89-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sat Mar 5 2016 Peter Robinson 4.89-4 +- Only ship end user useful docs, don't ship bits for building + +* Thu Feb 04 2016 Fedora Release Engineering - 4.89-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Nov 30 2015 Peter Schiffer - 4.89-2 +- resolves #1260300 + moved lsof to /usr/bin, it's not sysadmin only utility + +* Wed Jul 29 2015 Peter Schiffer - 4.89-1 +- updated to 4.89 + * Wed Jun 17 2015 Fedora Release Engineering - 4.88-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/sources b/sources index 9a7f8d0..339a190 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d34a76fae58992a351619af689431fff lsof_4.88-rh.tar.xz +SHA512 (lsof-4.98.0-rh.tar.xz) = a0938c4c431d2aed7ce7e09560b45acefb5c2730c707817b3013f564defa381391ee113e7989fc21eec4703f4ac112104ec0edd9d51a024797116416a4717683 diff --git a/upstream2downstream.sh b/upstream2downstream.sh index 247ee29..0dd7b87 100755 --- a/upstream2downstream.sh +++ b/upstream2downstream.sh @@ -12,27 +12,27 @@ # UPSTREAM="$1" -NAME=$(basename $UPSTREAM .tar.bz2) +NAME=$(basename $UPSTREAM .tar.gz) MYPWD=$(pwd) TMP=$(mktemp -d) echo echo -n "Extracting upstream code..." -tar -jxf $UPSTREAM -C $TMP +tar -xf $UPSTREAM -C $TMP cd $TMP/$NAME -tar xf "$NAME"_src.tar -echo " done." - -echo -n "Moving files to downstream directory..." -mv "$NAME"_src/ "$NAME"-rh -mv README* 00* RELEASE* "$NAME"-rh echo " done." echo -n "Removing non-Linux dialects..." -rm -rf "$NAME"-rh/dialects/{aix,darwin,du,freebsd,hpux,n+obsd,n+os,osr,sun,uw} +rm -rf ./dialects/{aix,darwin,du,freebsd,hpux,n+obsd,n+os,osr,sun,uw} +echo " done." + +echo -n "Removing unused distribution scripts..." +rm -rf ./support echo " done." echo -n "Creating final downstream tarball..." +cd .. +mv $NAME $NAME-rh tar Jcf $MYPWD/"$NAME"-rh.tar.xz "$NAME"-rh echo " done."