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