96f760
Summary: A C programming language indexing and/or cross-reference tool
96f760
Name: ctags
96f760
Version: 5.8
051ffd
Release: 23%{?dist}
96f760
License: GPLv2+ and LGPLv2+ and Public Domain
96f760
Group: Development/Tools
96f760
URL: http://ctags.sourceforge.net/
96f760
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
96f760
Patch0: ctags-5.7-destdir.patch
96f760
Patch1: ctags-5.7-segment-fault.patch
96f760
Patch2: ctags-5.8-css.patch
96f760
Patch3: ctags-5.8-ocaml-crash.patch
96f760
Patch4: ctags-5.8-cssparse.patch
96f760
Patch5: ctags-5.8-memmove.patch
96f760
Patch6: ctags-5.8-format-security.patch
96f760
Patch7: ctags-CVE-2014-7204.patch
051ffd
Patch8: ctags-CVE-2022-4515.patch
96f760
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
96f760
96f760
%description
96f760
Ctags generates an index (or tag) file of C language objects found in
96f760
C source and header files.  The index makes it easy for text editors or
96f760
other utilities to locate the indexed items.  Ctags can also generate a
96f760
cross reference file which lists information about the various objects
96f760
found in a set of C language files in human readable form.  Exuberant
96f760
Ctags improves on ctags because it can find all types of C language tags,
96f760
including macro definitions, enumerated values (values inside enum{...}),
96f760
function and method definitions, enum/struct/union tags, external
96f760
function prototypes, typedef names and variable declarations.  Exuberant
96f760
Ctags is far less likely to be fooled by code containing #if preprocessor
96f760
conditional constructs than ctags.  Exuberant ctags supports output of
96f760
Emacs style TAGS files and can be used to print out a list of selected
96f760
objects found in source files.
96f760
96f760
Install ctags if you are going to use your system for C programming.
96f760
96f760
%package etags
96f760
Summary: Exuberant Ctags for emacs tag format
96f760
Group: Development/Tools
96f760
Requires: ctags = %{version}-%{release}
96f760
Requires: /usr/sbin/alternatives
96f760
96f760
%description etags
96f760
This package will generate tags in a format which GNU Emacs understand,
96f760
it's a alternativ implementation of the GNU etags program.
96f760
Note: some command line options is not compatible with GNU etags.
96f760
96f760
96f760
%prep
96f760
%setup -q
96f760
%patch0 -p1 -b .destdir
96f760
%patch1 -p1 -b .crash
96f760
%patch2 -p1 -b .css-support
96f760
%patch3 -p1 -b .ocaml-crash
96f760
%patch4 -p1 -b .cssparse-crash
96f760
%patch5 -p1 -b .memmove
96f760
%patch6 -p1 -b .fmt-sec
96f760
%patch7 -p1 -b .CVE-2014-7204
051ffd
%patch8 -p1 -b .CVE-2022-4515
96f760
96f760
%build
96f760
%configure
96f760
96f760
make %{?_smp_mflags}
96f760
96f760
%install
96f760
rm -rf %{buildroot}
96f760
96f760
make DESTDIR=%{buildroot} install
96f760
96f760
pushd %{buildroot}%{_bindir}
96f760
ln -s ctags etags.ctags
96f760
popd
96f760
96f760
pushd %{buildroot}%{_mandir}/man1
96f760
ln -s ctags.1.gz etags.ctags.1.gz
96f760
popd
96f760
96f760
%posttrans etags
96f760
/usr/sbin/alternatives --install /usr/bin/etags emacs.etags /usr/bin/etags.ctags 20 \
96f760
   --slave /usr/share/man/man1/etags.1.gz emacs.etags.man /usr/share/man/man1/ctags.1.gz
96f760
96f760
%postun etags
96f760
/usr/sbin/alternatives --remove etags /usr/bin/etags.ctags || :
96f760
96f760
%clean
96f760
rm -rf %{buildroot}
96f760
96f760
%files
96f760
%defattr(-, root, root, -)
96f760
%license COPYING
96f760
%doc EXTENDING.html FAQ NEWS README
96f760
%{_bindir}/%{name}
96f760
%{_mandir}/man1/%{name}.1*
96f760
96f760
%files etags
96f760
%defattr(-, root, root, -)
96f760
%license COPYING
96f760
%{_bindir}/etags.%{name}
96f760
%{_mandir}/man1/etags.%{name}.1*
96f760
96f760
%changelog
051ffd
* Thu Dec 15 2022 Felipe Borges <feborges@redhat.com> - 5.8-23
051ffd
- CVE-2022-4515, arbitrary code execution issue
051ffd
  Resolves: rhbz#2153787
051ffd
96f760
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-22
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
96f760
96f760
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-21
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
96f760
96f760
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-20
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
96f760
96f760
* Sun Feb 05 2017 Than Ngo <than@redhat.com> - - 5.8-19
96f760
- fixed bz#1418434, added missing %%license
96f760
96f760
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-18
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
96f760
96f760
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-17
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
96f760
96f760
* Tue Sep 30 2014 Than Ngo <than@redhat.com> - 5.8-16
96f760
- CVE-2014-7204, denial of service issue
96f760
96f760
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-15
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
96f760
96f760
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-14
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
96f760
96f760
* Mon Apr 14 2014 Jaromir Capik <jcapik@redhat.com> - 5.8-13
96f760
- Fixing format-security flaws (#1037028)
96f760
96f760
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-12
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
96f760
96f760
* Thu Jun 13 2013 John Dennis <jdennis@redhat.com> - 5.8-11
96f760
- add ctags-5.8-memmove.patch
96f760
  bug #284 absoluteFilename uses strcpy on overlapping strings 
96f760
  http://sourceforge.net/p/ctags/bugs/284/  
96f760
  The bug was fixed upstream on 2012-03-26 in the following commit
96f760
  http://sourceforge.net/p/ctags/code/782/
96f760
  ctags-5.8-memmove.patch simply adds the same patch as the above commit.
96f760
96f760
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-10
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
96f760
96f760
* Mon Nov  5 2012 Marcela Mašláňová <mmaslano@redhat.com> - 5.8-9
96f760
- fix license field again
96f760
96f760
* Thu Oct 18 2012 Than Ngo <than@redhat.com> - 5.8-8
96f760
- fix the crash in cssparse
96f760
96f760
* Thu Aug 02 2012 Than Ngo <than@redhat.com> - 5.8-7
96f760
- backport from upstream to fix several crashes in ocaml
96f760
96f760
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-6
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
96f760
96f760
* Wed Feb 08 2012 Than Ngo <than@redhat.com> - 5.8-5
96f760
- bz#786451, add css support
96f760
96f760
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-4
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
96f760
96f760
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.8-3
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
96f760
96f760
* Mon Jan  4 2010 Marcela Mašláňová <mmaslano@redhat.com> - 5.8-2
96f760
- fix license tag
96f760
96f760
* Tue Sep 01 2009 Than Ngo <than@redhat.com> - 5.8-1
96f760
- 5.8
96f760
- apply patch to fix segment fault, thanks to Masatake YAMATO
96f760
96f760
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.7-5
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
96f760
96f760
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.7-4
96f760
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
96f760
96f760
* Tue Jul 29 2008 Than Ngo <than@redhat.com>  5.7-3
96f760
- add subpackage ctags-etags
96f760
96f760
* Tue Jul 15 2008 Tom "spot" Callaway <tcallawa@redhat.com> 5.7-2
96f760
- fix license tag
96f760
96f760
* Fri Feb 15 2008 Than Ngo <than@redhat.com> 5.7-1
96f760
- 5.7
96f760
- merge review: ctags
96f760
96f760
* Mon Jul 17 2006 Nalin Dahyabhai <nalin@redhat.com> 5.6-1.1
96f760
- rebuild
96f760
96f760
* Tue Jun 06 2006 Than Ngo <than@redhat.com> 5.6-1
96f760
- update to 5.6
96f760
96f760
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 5.5.4-4.2.1
96f760
- bump again for double-long bug on ppc(64)
96f760
96f760
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 5.5.4-4.2
96f760
- rebuilt for new gcc4.1 snapshot and glibc changes
96f760
96f760
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
96f760
- rebuilt
96f760
96f760
* Sun Jul 31 2005 Florian La Roche <laroche@redhat.com>
96f760
- remove etags
96f760
96f760
* Thu Mar 03 2005 Than Ngo <than@redhat.com> 5.5.4-3
96f760
- rebuilt
96f760
96f760
* Wed Feb 09 2005 Than Ngo <than@redhat.com> 5.5.4-2
96f760
- rebuilt
96f760
96f760
* Thu Jun 17 2004 Florian La Roche <Florian.LaRoche@redhat.de>
96f760
- 5.5.4
96f760
96f760
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
96f760
- rebuilt
96f760
96f760
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
96f760
- rebuilt
96f760
96f760
* Sat Sep 27 2003 Florian La Roche <Florian.LaRoche@redhat.de>
96f760
- 5.5.2, no patch needed anymore
96f760
96f760
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
96f760
- rebuilt
96f760
96f760
* Tue May  6 2003 Than Ngo <than@redhat.com> 5.5-1
96f760
- 5.5
96f760
96f760
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
96f760
- rebuilt
96f760
96f760
* Wed Nov 13 2002 Karsten Hopp <karsten@redhat.de>
96f760
- update to 5.4
96f760
96f760
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
96f760
- automated rebuild
96f760
96f760
* Tue Jun 18 2002 Than Ngo <than@redhat.com> 5.2.3-3
96f760
- don't forcibly strip binaries
96f760
96f760
* Sun May 26 2002 Tim Powers <timp@redhat.com>
96f760
- automated rebuild
96f760
96f760
* Wed May 22 2002 Harald Hoyer <harald@redhat.de>
96f760
- 5.2.3
96f760
96f760
* Tue Feb 26 2002 Than Ngo <than@redhat.com> 5.2.2-2
96f760
- rebuild in new enviroment
96f760
96f760
* Tue Feb 19 2002 Bernhard Rosenkraenzer <bero@redhat.com> 5.2.2-1
96f760
- 5.2.2
96f760
96f760
* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
96f760
- automated rebuild
96f760
96f760
* Wed Jul 11 2001 Jakub Jelinek <jakub@redhat.com>
96f760
- rebuilt against binutils-2.11.90.0.8-3 to reserve .dynamic space
96f760
96f760
* Mon Jun 11 2001 Preston Brown <pbrown@redhat.com>
96f760
- 5.0.1
96f760
96f760
* Thu Jan 04 2001 Preston Brown <pbrown@redhat.com>
96f760
- 4.0.3
96f760
- remove etags, it is not fully compatible with cmd line of GNU etags.
96f760
96f760
* Sun Jul 16 2000 Florian La Roche <Florian.LaRoche@redhat.de>
96f760
- update to 4.0.2 from sourceforge
96f760
96f760
* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
96f760
- automatic rebuild
96f760
96f760
* Sat Jun 17 2000 Matt Wilson <msw@redhat.com>
96f760
- added defattr
96f760
96f760
* Mon Jun 12 2000 Preston Brown <pbrown@redhat.com>
96f760
- FHS paths
96f760
96f760
* Mon May  8 2000 Bernhard Rosenkränzer <bero@redhat.com>
96f760
- Update to 3.5.2
96f760
- minor cleanups to spec file
96f760
96f760
* Tue Feb 16 2000 Bernhard Rosenkränzer <bero@redhat.com>
96f760
- Update to 3.4 to fix bug #9446
96f760
96f760
* Thu Feb 03 2000 Preston Brown <pbrown@redhat.com>
96f760
- compress man page.
96f760
96f760
* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
96f760
- auto rebuild in the new build environment (release 4)
96f760
- version 3.2
96f760
96f760
* Wed Feb 24 1999 Preston Brown <pbrown@redhat.com>
96f760
- Injected new description and group.
96f760
96f760
* Fri Apr 24 1998 Prospector System <bugs@redhat.com>
96f760
- translations modified for de, fr, tr
96f760
96f760
* Thu Apr 09 1998 Cristian Gafton <gafton@redhat.com>
96f760
- upgraded to 2.0.3
96f760
96f760
* Mon Nov 03 1997 Michael K. Johnson <johnsonm@redhat.com>
96f760
- removed etags.  Emacs provides its own; and needs to support
96f760
  more than just C.
96f760
96f760
* Thu Oct 23 1997 Donnie Barnes <djb@redhat.com>
96f760
- updated from 1.5 to 1.6
96f760
96f760
* Thu Jul 10 1997 Erik Troan <ewt@redhat.com>
96f760
- built against glibc