Bug 1957

Summary: lsof not in kernel2.2 updates
Product: [Retired] Red Hat Linux Reporter: chbm <chbm>
Component: lsofAssignee: Jakub Jelinek <jakub>
Status: CLOSED WORKSFORME QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: 5.2   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1999-04-05 15:29:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description chbm 1999-04-02 22:08:00 UTC
There is no lsof rpm on the kernel2.2 dir in 5.9 updates.
This bug s similar to the 2.0.36 already reported one but
since 2.2 has a separate dir I figured I should report it

Comment 1 chbm 1999-04-02 22:13:59 UTC
I forgot to say the fix is obviously get the srpm and rpm --rebuild.
(ready for closing i think :))

Comment 2 chbm 1999-04-02 22:39:59 UTC
unfortunatly
rpm --rebuild lsof-4.40-1.src.rpm
doesn't work (at least for 2.2.5-ac3)
I think the problem is in the 2.0.36 patch included on the srpm.
Aparently something has changed on the header files
The tarball built manually will compile till the link where it fails
with
dproc.o(.text+0x82d): undefined reference to `ckkv'

Comment 3 chbm 1999-04-02 22:58:59 UTC
The link problem was with HASKERNIDCK enabled. Disabling it solves the
problem. LINUX_BASE=/dev/kmem on the spec file also causes problems.
So fix:
Build a 2.2 rpm without 2.0.36 patch and no HASKERNIDCK (this is
actually a bug i think and should be solved)
(ready for closing)

Bellow is a working spec file for kernel2.2:

Summary: Lists files open by processes
Name: lsof
Version: 4.40
Release: 1
Copyright: Free
Group: Utilities/File
Source0:
ftp://vic.cc.purdue.edu/pub/tools/unix/lsof/lsof_%{version}_W.tar.gz
Prefix: /usr
Buildroot: /var/tmp/%{name}-root

%description
Lsof's name 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 -c -n lsof_%{version}

# add -a 1 above
#tar xzf %SOURCE1

#
# Sort out whether this is the wrapped or linux specific tar ball.
#
[ -f lsof_%{version}.tar ] && tar xf lsof_%{version}.tar
[ -d lsof_%{version}.linux -a ! -d lsof_%{version} ] && \
        mv lsof_%{version}.linux lsof_%{version}
[ -d lsof_%{version} ] && cd lsof_%{version}


%build
rm -rf $RPM_BUILD_ROOT
[ -d lsof_%{version} ] && cd lsof_%{version}

#LINUX_KERNEL=`pwd`/../linux LSOF_INCLUDE=`pwd`/../linux/include \
#LSOF_VERS=21129 LSOF_VSTR=2.1.129 LINUX_BASE=/proc \
#LSOF_VERS=20036 LSOF_VSTR=2.0.36 LINUX_BASE=/dev/kmem \
./Configure -n linux

make

%install
rm -rf $RPM_BUILD_ROOT
#
# Sort out whether this is the wrapped or linux specific tar ball.
#
[ -d lsof_%{version} ] && cd lsof_%{version}
install -d $RPM_BUILD_ROOT/usr/{sbin,man/man8}
install -s lsof $RPM_BUILD_ROOT/usr/sbin
install lsof.8 $RPM_BUILD_ROOT/usr/man/man8/

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(644,root,root,755)
%doc lsof_%{version}/00*
%attr(2755,root,kmem) /usr/sbin/lsof
/usr/man/man8/lsof.8

%changelog
* Thu Feb 18 1999 Jeff Johnson <jbj>
- buffer overflow patch.
- upgrade to 4.40.

* Wed Dec 30 1998 Jeff Johnson <jbj>
- update to "official" 4.39 release.

* Wed Dec 16 1998 Jeff Johnson <jbj>
- update to 4.39B (linux) with internal kernel src.

* Tue Dec 15 1998 Jeff Johnson <jbj>
- update to 4.39A (linux)

* Sat Sep 19 1998 Jeff Johnson <jbj>
- update to 4.37

* Thu Sep 10 1998 Jeff Johnson <jbj>
- update to 4.36

* Thu Jul 23 1998 Jeff Johnson <jbj>
- upgrade to 4.35.
- rewrap for RH 5.2.

* Mon Jun 29 1998 Maciej Lesniewski <nimir.lodz.pl>
  [4.34-1]
- New version
- Spec rewriten to use %{name} and %{version} macros
- Removed old log enteries

* Tue Apr 28 1998 Maciej Lesniewski <nimir.lodz.pl>
- Built under RH5
- %install was changed

Comment 4 Jeff Johnson 1999-04-05 15:29:59 UTC
Try lsof-4.40-5 from starbuck.