3 #%attr(755,root,root) %{_bindir}/globash
4 #%attr(755,root,root) %{_bindir}/gtags-cscope
5 #%{_libdir}/gtags/*.{so,la,a}
7 #%{_mandir}/man1/globash.1*
10 %bcond_without xemacs # without xemacs subpackage
11 %bcond_without pgsql # without PostgreSQL support
12 %bcond_without home_etc # use home_etc
14 Summary: GNU GLOBAL - common source code tag system
15 Summary(pl.UTF-8): GNU GLOBAL - system list odwołań powszechnego użytku
19 License: GPLv2+ and BSD
20 Group: Development/Tools
21 Source0: http://ftp.gnu.org/gnu/global/%{name}-%{version}.tar.gz
22 # Source0-md5: 06aee2306ac2113e6347043066679eea
23 #Source1: http://www.vim.org/scripts/download_script.php?src_id=2708
24 Patch20: %{name}-ac-shared-pgsql.patch
25 URL: http://www.gnu.org/software/global/
26 BuildRequires: autoconf
27 BuildRequires: automake
28 %{?with_home_etc:BuildRequires: home-etc-devel}
29 BuildRequires: libtool
30 %{?with_pgsql:BuildRequires: postgresql-devel}
31 BuildRequires: texinfo
32 %{?with_xemacs:BuildRequires: xemacs}
36 Requires: setup >= 2.4.6-2
37 Provides: gtags-%{version}-%{release}
38 Provides: htags-%{version}-%{release}
39 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 # definitions useful for vim-global-tags subpackage
42 %define _vimdatadir %{_datadir}/vim/vimfiles
44 %define filterout_c -Werror=format-security
47 GNU GLOBAL is a source code tag system that works the same way across
48 diverse environments. It supports C, C++, Yacc, Java, PHP and
49 assembler source code. You can locate the specified function or method
50 in source files and move there easily. It is useful to hack a large
51 project containing many subdirectories, many general, main()-type
52 functions. It allows you to create one tags container for a big code
55 Tagging information may be keept in the traditional db files, or shared
56 GNU GLOBAL is a source code tag system that works the same way across
57 diverse environments. It supports C, C++, Yacc, Java, PHP and
58 assembler source code. You can locate the specified function or method
59 in source files and move there easily. It is useful to hack a large
60 project containing many subdirectories, many general, main()-type
61 functions. It allows you to create one tags container for a big code
62 tree. using the PostgreSQL database.
64 You can also find some subpackages, containing support for additional
65 GNU GLOBAL is a source code tag system that works the same way across
66 diverse environments. It supports C, C++, Yacc, Java, PHP and
67 assembler source code. You can locate the specified function or method
68 in source files and move there easily. It is useful to hack a large
69 project containing many subdirectories, many general, main()-type
70 functions. It allows you to create one tags container for a big code
71 tree. using the PostgreSQL database. GLOBAL's features, and for
72 compliance with common code editors (symbols' completion, jumping).
74 %description -l pl.UTF-8
75 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
76 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
77 Umożliwia on odszukanie podanej funkcji lub metody w plikach
78 źródłowych i przeniesienie się do niej w łatwy sposób. Narzędzie to
79 jest przydatne do dłubania w dużych projektach, zawierających mnóstwo
80 podkatalogów, wiele funkcji głównych w stylu main(). Pozwala on
81 utworzyć jeden kontener ze znacznikami dla dużego drzewa kodu.
83 Informacje o znacznikach mogą być przechowywane w postaci plików db,
84 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
85 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
86 Umożliwia on odszukanie podanej funkcji lub metody w plikach
87 źródłowych i przeniesienie się do niej w łatwy sposób. Narzędzie to
88 jest przydatne do dłubania w dużych projektach, zawierających mnóstwo
89 podkatalogów, wiele funkcji głównych w stylu main(). Pozwala on
90 utworzyć jeden kontener ze znacznikami dla dużego drzewa kodu. lub też
91 współdzielone przy pomocy bazy danych PostgreSQL.
93 Można także znaleźć kilka podpakietów, które zawierają wsparcie dla
94 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
95 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
96 Umożliwia on odszukanie podanej funkcji lub metody w plikach
97 źródłowych i przeniesienie się do niej w łatwy sposób. Narzędzie to
98 jest przydatne do dłubania w dużych projektach, zawierających mnóstwo
99 podkatalogów, wiele funkcji głównych w stylu main(). Pozwala on
100 utworzyć jeden kontener ze znacznikami dla dużego drzewa kodu. lub też
101 współdzielone przy pomocy bazy danych PostgreSQL. dodatkowych
102 mechanizmów GLOBAL, a także pozwalają na współpracę z niektórymi
103 znanymi edytorami kodu (dopełnianie nazw symboli, przeskakiwanie).
106 Summary: GNU GLOBAL - programs for making hypertext from source code
107 Summary(pl.UTF-8): GNU GLOBAL - programy produkujące hypertext z kodów źródłowych
108 Group: Development/Tools
109 Requires: %{name} = %{version}-%{release}
110 Requires: perl-base >= 5.005
111 Provides: gozilla-%{version}-%{release}
112 Provides: htags-%{version}-%{release}
115 GNU GLOBAL is a source code tag system that works the same way across
116 diverse environments. It supports C, C++, Yacc, Java, PHP and
117 assembler source code.
119 Htags makes hypertext from source code. The package also contains the
120 gozilla wrapper, which enforces Mozilla-based web browsers to display
121 source code in an elegant way. Htags can also work with a CVS
122 repository, which makes it more easy to navigate though the code over
125 %description htags -l pl.UTF-8
126 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
127 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
129 Htags jest narzędziem generującym hypertext z kodów. Pakiet ten
130 zawiera także program wyskakujący o nazwie gozilla, który zmusza
131 przeglądarki bazujące na Mozilla, aby wyświetlały kod źródłowy w
132 elegancki sposób. Htags potrafi również współpracować z repozytorium
133 CVS ułatwiając nawigację w kodach poprzez WWW.
135 %package gtags-perl-wrapper
136 Summary: GNU GLOBAL - gtags wrapper for tools which use Perl
137 Summary(pl.UTF-8): GNU GLOBAL - program pomocniczy dla narzędzi używających Perl
138 Group: Development/Tools
139 Requires: %{name} = %{version}-%{release}
140 Requires: perl-base >= 5.005
141 Provides: gtags-perl-wrapper-%{version}-%{release}
143 %description gtags-perl-wrapper
144 GNU GLOBAL is a source code tag system that works the same way across
145 diverse environments. It supports C, C++, Yacc, Java, PHP and
146 assembler source code.
148 This package contains simple Perl wrapper, which allows to use the
149 system for some tools and editors.
151 %description gtags-perl-wrapper -l pl.UTF-8
152 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
153 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
155 Ten pakiet zawiera program pomocniczy, który pozwala używać tego
156 systemu niektórym narzędziom i edytorom.
159 Summary: GNU GLOBAL - Bash customization to walk though the source trees
160 Summary(pl.UTF-8): GNU GLOBAL - usprawnienie dla Bash do poruszania się po drzewach źródeł
161 Group: Development/Tools
162 Requires: %{name} = %{version}-%{release}
163 Requires: bash >= 2.05
164 Provides: globash-%{version}-%{release}
167 GNU GLOBAL is a source code tag system that works the same way across
168 diverse environments. It supports C, C++, Yacc, Java, PHP and
169 assembler source code.
171 This package allows you to invoke a customized Bash with features that
172 makes easy to navigate in the sources trees. These are: Vi-like tag
173 stack, Emacs-like tag name completion, editor or viewer automatic
174 invocation, tag mark facility, and a cookie facility for managing
177 %description globash -l pl.UTF-8
178 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
179 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
181 Ten pakiet pozwala wywoływać odpowiednio przystosowaną wersję powłoki
182 Bash z udogodnieniami, które czynią nawigowanie po drzewku źródeł
183 rzeczą łatwą. Do tych udogodnień należą: stos znaczników w stylu Vi,
184 dopełnianie nazw w stylu edytora Emacs, automatyczne wywoływanie
185 edytorów lub przeglądarek, mechanizm wyróżniania znaczników, oraz
186 mechanizm ciasteczek pomagający zarządzać katalogami.
188 %package -n xemacs-gtags-mode-pkg
189 Summary: XEmacs mode for the GNU GLOBAL source tag system
190 Summary(pl.UTF-8): Tryb systemu list odwołań GNU GLOBAL dla edytora XEmacs
191 Group: Development/Tools
192 Requires: %{name} = %{version}-%{release}
195 %description -n xemacs-gtags-mode-pkg
196 GNU GLOBAL is a source code tag system that works the same way across
197 diverse environments. It supports C, C++, Yacc, Java, PHP and
198 assembler source code.
200 This package allows to integrate the GLOBAL source tag system with the
203 %description -n xemacs-gtags-mode-pkg -l pl.UTF-8
204 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
205 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
207 Ten pakiet pozwala zintegrować system GLOBAL z edytorem XEmacs.
209 %package -n vim-global-tags
210 Summary: ViM editor plugin for GNU GLOBAL source tag system
211 Summary(pl.UTF-8): wtyczka dla edytora ViM do systemu odwołań GNU GLOBAL
212 Group: Development/Tools
213 Requires: %{name} = %{version}-%{release}
214 # for _vimdatadir existence
215 Requires: vim-rt >= 4:6.3.058-3
217 %description -n vim-global-tags
218 GNU GLOBAL is a source code tag system that works the same way across
219 diverse environments. It supports C, C++, Yacc, Java, PHP and
220 assembler source code.
222 This package allows users to use GLOBAL tag system in ViM editor.
224 %description -n vim-global-tags -l pl.UTF-8
225 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
226 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
228 Ten pakiet pozwala użytkownikom na używanie systemu znaczników i
229 odwołań GLOBAL w edytorze ViM.
231 %package -n less-global-tags
232 Summary: less pager's helper for GNU GLOBAL source tag system
233 Summary(pl.UTF-8): wsparcie dla polecenia less do systemu odwołań GNU GLOBAL
234 Group: Development/Tools
235 Requires: %{name} = %{version}-%{release}
238 %description -n less-global-tags
239 GNU GLOBAL is a source code tag system that works the same way across
240 diverse environments. It supports C, C++, Yacc, Java, PHP and
241 assembler source code.
243 This package allows users to navigate through GLOBAL tags and
244 references system using less pager.
246 %description -n less-global-tags -l pl.UTF-8
247 GNU GLOBAL jest powszechnym systemem generowania list odwołań dla
248 kodów źródłowych napisanych w C, C++, Yacc, Java, PHP i asemblerze.
250 Ten pakiet pozwala użytkownikom na nawigację poprzez system znaczników
251 i odwołań systemu GLOBAL używając polecenia less.
264 %{?with_pgsql:--with-postgres=shared} \
265 %{?with_home_etc:--with-home-etc=/usr}
269 rm -rf $RPM_BUILD_ROOT
270 install -d $RPM_BUILD_ROOT%{_bindir} \
271 $RPM_BUILD_ROOT%{_sysconfdir}/gtags \
272 $RPM_BUILD_ROOT%{_mandir}/man1 \
273 $RPM_BUILD_ROOT%{_datadir}/{xemacs-packages/lisp/gtags,gtags} \
274 $RPM_BUILD_ROOT%{_vimdatadir}/plugin \
275 $RPM_BUILD_ROOT%{_infodir} \
276 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} \
277 $RPM_BUILD_ROOT/etc/profile.d \
278 $RPM_BUILD_ROOT/etc/shrc.d \
280 # /etc/shrc.d/*.sh hook for globash
281 cat << EOF > $RPM_BUILD_ROOT/etc/shrc.d/globash.sh
282 alias globash='/bin/bash --rcfile %{_sysconfdir}/gtags/globash.rc'
285 # /etc/shrc.d/*.csh hook for globash
286 cat << EOF > $RPM_BUILD_ROOT/etc/shrc.d/globash.csh
287 alias globash '/bin/bash --rcfile %{_sysconfdir}/gtags/globash.rc'
290 # /etc/profile.d/*sh hooks for less-global-tags
291 echo 'LESSGLOBALTAGS="global"' > $RPM_BUILD_ROOT/etc/profile.d/less-global.sh
292 echo 'export LESSGLOBALTAGS' >> $RPM_BUILD_ROOT/etc/profile.d/less-global.sh
293 echo 'setenv LESSGLOBALTAGS global' > $RPM_BUILD_ROOT/etc/profile.d/less-global.csh
296 DESTDIR=$RPM_BUILD_ROOT
298 # documentation and other stuff
299 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/{AUTHORS,NEWS,COPYING,ChangeLog,FAQ,INSTALL,LICENSE,README,THANKS} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
300 rm -f $RPM_BUILD_ROOT%{_datadir}/gtags/{dir.gz,nvi*gtags.diff}
301 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
304 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/gtags.vim $RPM_BUILD_ROOT%{_vimdatadir}/plugin
307 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/gtags.pl $RPM_BUILD_ROOT%{_bindir}
310 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/globash.rc $RPM_BUILD_ROOT%{_sysconfdir}/gtags
313 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/gtags.conf $RPM_BUILD_ROOT%{_sysconfdir}/gtags
317 mv -f $RPM_BUILD_ROOT%{_datadir}/gtags/gtags.el $RPM_BUILD_ROOT%{_datadir}/xemacs-packages/lisp/gtags
318 xemacs -batch -no-autoloads -l autoload -f batch-update-directory \
319 $RPM_BUILD_ROOT%{_datadir}/xemacs-packages/lisp/gtags
320 xemacs -batch -vanilla -f batch-byte-compile \
321 $RPM_BUILD_ROOT%{_datadir}/xemacs-packages/lisp/gtags/gtags.el
322 find $RPM_BUILD_ROOT%{_datadir} -type f -name "*.el" | while read i; do test ! -f ${i}c || rm -f $i; done
326 rm -rf $RPM_BUILD_ROOT
328 %post -p /sbin/postshell
329 -/usr/sbin/fix-info-dir -c %{_infodir}
331 %postun -p /sbin/postshell
332 -/usr/sbin/fix-info-dir -c %{_infodir}
335 %defattr(644,root,root,755)
336 %doc %{_docdir}/%{name}-%{version}
337 %attr(755,root,root) %{_bindir}/g*tags
338 %attr(755,root,root) %{_bindir}/global
339 %dir %{_sysconfdir}/gtags
340 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/gtags/gtags.conf
341 %{_mandir}/man1/global*
342 %{_mandir}/man1/g*tags*
346 %defattr(644,root,root,755)
347 %attr(755,root,root) %{_bindir}/htags
348 %attr(755,root,root) %{_bindir}/gozilla
349 %{_mandir}/man1/htags*
350 %{_mandir}/man1/gozilla*
352 %files gtags-perl-wrapper
353 %defattr(644,root,root,755)
354 %attr(755,root,root) %{_bindir}/gtags.pl
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %config %{_sysconfdir}/shrc.d/globash*
359 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gtags/globash.rc
362 %files -n xemacs-gtags-mode-pkg
363 %defattr(644,root,root,755)
364 %dir %{_datadir}/xemacs-packages/lisp/*
365 %{_datadir}/xemacs-packages/lisp/*/*.el*
368 %files -n less-global-tags
369 %defattr(644,root,root,755)
370 %attr(755,root,root) %config /etc/profile.d/less-global*
372 %files -n vim-global-tags
373 %defattr(644,root,root,755)
374 %{_vimdatadir}/plugin/*