]> git.pld-linux.org Git - packages/git-core.git/blob - git-core.spec
skip (perl) dependency generation from git templates
[packages/git-core.git] / git-core.spec
1 #
2 # Conditional build:
3 %bcond_without  tests           # don't perform make test
4 %bcond_with     tests_cvs       # perform tests which use CVS
5 %bcond_without  tests_svn       # perform tests which use subversion
6 %bcond_without  doc             # skip building/packaging docs/manuals (takes some time)
7 %bcond_without  pcre            # perl-compatible regexes support
8 %bcond_without  gnome_keyring   # build without gnome keyring support
9 %bcond_without  tk              # build without the Tcl/Tk interface
10
11 # for AC: --without doc --without gnome_keyring --without tests
12
13 %include        /usr/lib/rpm/macros.perl
14 Summary:        Distributed version control system focused on speed, effectivity and usability
15 Summary(pl.UTF-8):      Rozproszony system śledzenia treści skupiony na szybkości, wydajności i użyteczności
16 Name:           git-core
17 Version:        2.16.2
18 Release:        3
19 License:        GPL v2
20 Group:          Development/Tools
21 Source0:        http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
22 # Source0-md5:  13a715b3f0b2088839079eed2f8902ad
23 Source1:        %{name}-gitweb.conf
24 Source2:        %{name}-gitweb-httpd.conf
25 Source3:        %{name}-gitweb-lighttpd.conf
26 Source4:        %{name}.sysconfig
27 Source5:        %{name}.inet
28 Source6:        %{name}.init
29 Source7:        gitolite.pl
30 Patch0:         %{name}-key-bindings.patch
31 Patch1:         %{name}-sysconfdir.patch
32 Patch2:         cherry-picked-commitlog.patch
33 URL:            http://git-scm.com/
34 BuildRequires:  autoconf >= 2.59
35 BuildRequires:  automake
36 BuildRequires:  curl-devel
37 BuildRequires:  expat-devel
38 %if "%{pld_release}" == "ac"
39 BuildRequires:  gettext-devel
40 %else
41 BuildRequires:  gettext-tools
42 %endif
43 %if %{with gnome_keyring}
44 BuildRequires:  libgnome-keyring-devel
45 BuildRequires:  pkgconfig
46 %endif
47 BuildRequires:  openssl-devel
48 %{?with_pcre:BuildRequires:     pcre2-8-devel}
49 BuildRequires:  perl-Error > 0.15
50 BuildRequires:  perl-base
51 BuildRequires:  python-devel
52 BuildRequires:  rpm-perlprov >= 4.1-13
53 BuildRequires:  rpm-pythonprov
54 BuildRequires:  rpmbuild(macros) >= 1.673
55 %if %{with tk}
56 # wish
57 BuildRequires:  tk
58 %endif
59 BuildRequires:  zlib-devel
60 %if %{with doc}
61 BuildRequires:  asciidoc >= 7.1.2-3
62 BuildRequires:  docbook-dtd45-xml
63 BuildRequires:  xmlto
64 %endif
65 %if %{with tests}
66 %if %{with tests_cvs}
67 # tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
68 BuildRequires:  cvs-gnu-client < 1.13
69 BuildRequires:  cvs-gnu-client >= 1.12
70 %endif
71 %if %{with tests_svn}
72 BuildRequires:  perl-subversion
73 BuildRequires:  subversion
74 %endif
75 Conflicts:      pdksh < 5.2.14-46
76 %endif
77 # git-sh-setup: sane_grep
78 Requires:       grep
79 # git-pull: printf
80 Requires:       coreutils
81 Requires:       sed
82 Suggests:       git-core-bzr
83 Suggests:       git-core-cvs
84 Suggests:       git-core-hg
85 Suggests:       git-core-p4
86 Suggests:       git-core-svn
87 Suggests:       less
88 Suggests:       openssh-clients
89 Suggests:       perl-Git = %{version}-%{release}
90 Suggests:       rsync
91 Obsoletes:      git-core-gitview
92 Obsoletes:      python-Git
93 Conflicts:      perl-Git < %{version}
94 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
95
96 # html docs have links to txt files
97 %define         _noautocompressdoc      *.txt
98
99 # do not generate perl dependency, git add -p support is optional
100 # skip dependency generation from templates
101 %define         _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive %{_datadir}/%{name}/templates
102
103 %define         webapp          gitweb
104 %define         webappdir       %{_sysconfdir}/webapps/%{webapp}
105 %define         appdir          %{_datadir}/%{webapp}
106 %define         cgibindir       %{_prefix}/lib/cgi-bin
107 %define         gitcoredir      %{_libexecdir}/%{name}
108
109 %description
110 "git" can mean anything, depending on your mood.
111
112 - random three-letter combination that is pronounceable, and not
113   actually used by any common UNIX command. The fact that it is a
114   mispronunciation of "get" may or may not be relevant.
115 - stupid. contemptible and despicable. simple. Take your pick from the
116   dictionary of slang.
117 - "global information tracker": you're in a good mood, and it actually
118   works for you. Angels sing, and a light suddenly fills the room.
119 - "goddamn idiotic truckload of sh*t": when it breaks
120
121 This is a stupid (but extremely fast) directory content manager. It
122 doesn't do a whole lot, but what it 'does' do is track directory
123 contents efficiently.
124
125 %description -l pl.UTF-8
126 "git" może oznaczać cokolwiek, w zależności od nastroju.
127
128 - losową kombinację trzech liter, która jest wymawialna i właściwie
129   nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
130   błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
131 - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
132 - "global information tracker" (narzędzie do globalnego śledzenia
133   informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
134   Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
135 - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
136   g*) - kiedy się zepsuje.
137
138 Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
139 Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
140 katalogu.
141
142 %package doc
143 Summary:        Documentation for git-core
144 Summary(pl.UTF-8):      Dokumentacja do git-core
145 Group:          Documentation
146 %if "%{_rpmversion}" >= "5"
147 BuildArch:      noarch
148 %endif
149
150 %description doc
151 Documentation for git-core.
152
153 %description doc -l pl.UTF-8
154 Dokumentacja do git-core.
155
156 %package daemon-inetd
157 Summary:        Files necessary to run git-daemon as an inetd service
158 Summary(pl.UTF-8):      Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
159 Group:          Networking/Daemons
160 Requires:       %{name} = %{version}-%{release}
161 Requires:       setup >= 2.4.11-1
162 Provides:       git-core-daemon
163 Obsoletes:      git-core-daemon
164 Obsoletes:      git-core-daemon-standalone
165
166 %description daemon-inetd
167 Git-daemon is a really simple TCP git daemon that can serve git
168 repositories. This package provides all necessarry files to run
169 git-daemon as an inetd service.
170
171 %description daemon-inetd -l pl.UTF-8
172 Git-daemon to prosty demon git korzystający z protokołu TCP do
173 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
174 do uruchomienia git-demona w trybie usługi inetd.
175
176 %package daemon-standalone
177 Summary:        Files necessary to run git-daemon as a standalone service
178 Summary(pl.UTF-8):      Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
179 Group:          Networking/Daemons
180 Requires:       %{name} = %{version}-%{release}
181 Provides:       git-core-daemon
182 Obsoletes:      git-core-daemon
183 Obsoletes:      git-core-daemon-inetd
184
185 %description daemon-standalone
186 Git-daemon is a really simple TCP git daemon that can serve git
187 repositories. This package provides all necessarry files to run
188 git-daemon as an standalone service.
189
190 %description daemon-standalone -l pl.UTF-8
191 Git-daemon to prosty demon git korzystający z protokołu TCP do
192 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
193 do uruchomienia git-daemona w trybie usługi samodzielnej.
194
195 %package devel
196 Summary:        Git library with header files
197 Summary(pl.UTF-8):      Biblioteka Gita oraz pliki nagłówkowe
198 Group:          Development/Libraries
199 Requires:       zlib-devel
200
201 %description devel
202 Git library with header files.
203
204 %description devel -l pl.UTF-8
205 Biblioteka Gita oraz pliki nagłówkowe.
206
207 %package gitk
208 Summary:        Tcl/Tk interface to the Git version control system
209 Summary(pl.UTF-8):      Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
210 Group:          Development/Tools
211 Requires:       %{name} = %{version}-%{release}
212 Requires:       tk
213 %if "%{_rpmversion}" >= "5"
214 BuildArch:      noarch
215 %endif
216
217 %description gitk
218 gitk displays changes in a repository or a selected set of commits.
219 This includes visualizing the commit graph, showing information
220 related to each commit, and the files in the trees of each revision.
221
222 Historically, gitk was the first repository browser. It's written in
223 Tcl/Tk and started off in a separate repository but was later merged
224 into the main git repository.
225
226 %description gitk -l pl.UTF-8
227 gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
228 Oznacza to wizualizację grafu commitów, wyświetlanie informacji
229 związanych z każdym z commitów oraz listę plików dla każdej rewizji.
230
231 Z historycznego punktu widzenia gitk był pierwszą przeglądarką
232 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
233 osobnym repozytorium, ale z czasem został włączony do głównego
234 repozytorium gita.
235
236 %package gitweb
237 Summary:        Web frontend to git
238 Summary(pl.UTF-8):      Frontend WWW do gita
239 Group:          Development/Tools
240 Requires:       %{name} = %{version}-%{release}
241 Requires:       webapps
242 Requires:       webserver(access)
243 Requires:       webserver(alias)
244 Requires:       webserver(cgi)
245 Suggests:       webserver(setenv)
246
247 %description gitweb
248 This package provides a web interface for browsing git repositories.
249
250 %description gitweb -l pl.UTF-8
251 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
252
253 %package gui
254 Summary:        Tcl/Tk interface to the Git version control system
255 Summary(pl.UTF-8):      Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
256 Group:          Development/Tools
257 Requires:       %{name} = %{version}-%{release}
258 Requires:       tk
259 Requires:       xdg-utils
260 Suggests:       meld
261
262 %description gui
263 Displays changes in a repository or a selected set of commits. This
264 includes visualizing the commit graph, showing information related to
265 each commit, and the files in the trees of each revision.
266
267 Historically, gitk was the first repository browser. It's written in
268 Tcl/Tk and started off in a separate repository but was later merged
269 into the main git repository.
270
271 %description gui -l pl.UTF-8
272 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
273 to wizualizację grafu commitów, wyświetlanie informacji związanych z
274 każdym z commitów oraz listę plików dla każdej rewizji.
275
276 Z punktu widzenia historii, gitk był pierwszą przeglądarką
277 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
278 osobnym repozytorium, ale z czasem został włączony do głównego
279 repozytorium gita.
280
281 %package arch
282 Summary:        Git tools for importing Arch repositories
283 Summary(pl.UTF-8):      Narzędzia Gita do importowania repozytoriów Archa
284 Group:          Development/Tools
285 Requires:       %{name} = %{version}-%{release}
286 Requires:       tla
287
288 %description arch
289 Git tools for importing Arch repositories.
290
291 %description arch -l pl.UTF-8
292 Narzędzia Gita do importowania repozytoriów Archa.
293
294 %package bzr
295 Summary:        Git tools for working with bzr repositories
296 Summary(pl.UTF-8):      Narzędzia Gita do pracy z repozytoriami bzr
297 Group:          Development/Tools
298 Requires:       %{name} = %{version}-%{release}
299 Requires:       bzr
300
301 %description bzr
302 Git tools for working with bzr repositories.
303
304 %description bzr -l pl.UTF-8
305 Narzędzia Gita do pracy z repozytoriami bzr.
306
307 %package cvs
308 Summary:        CVS support for Git
309 Summary(pl.UTF-8):      Obsługa CVS dla Gita
310 Group:          Development/Tools
311 Requires:       %{name} = %{version}-%{release}
312 Requires:       cvsps >= 2.1-2
313 Requires:       rcs
314
315 %description cvs
316 CVS support for Git.
317
318 %description cvs -l pl.UTF-8
319 Obsługa CVS dla Gita.
320
321 %package hg
322 Summary:        Git tools for working with mercurial repositories
323 Summary(pl.UTF-8):      Narzędzia Gita do pracy z repozytoriami mercuriala
324 Group:          Development/Tools
325 Requires:       %{name} = %{version}-%{release}
326 Requires:       mercurial >= 1.8
327
328 %description hg
329 Git tools for working with mercurial repositories.
330
331 %description hg -l pl.UTF-8
332 Narzędzia Gita do pracy z repozytoriami mercuriala.
333
334 %package p4
335 Summary:        Git tools for working with Perforce depots
336 Summary(pl.UTF-8):      Narzędzia Gita do pracy z magazynami Perforce'a
337 Group:          Development/Tools
338 Requires:       %{name} = %{version}-%{release}
339
340 %description p4
341 Git tools for working with Perforce depots.
342
343 %description p4 -l pl.UTF-8
344 Narzędzia Gita do pracy z magazynami Perforce'a.
345
346 %package svn
347 Summary:        Subversion support for Git
348 Summary(pl.UTF-8):      Obsługa Subversion dla Gita
349 Group:          Development/Tools
350 Requires:       %{name} = %{version}-%{release}
351 Requires:       perl-Encode
352 Requires:       perl-Term-ReadKey
353
354 %description svn
355 Subversion support for Git.
356
357 %description svn -l pl.UTF-8
358 Obsługa Subversion dla Gita.
359
360 %package email
361 Summary:        Git tools for sending email
362 Summary(pl.UTF-8):      Narzędzia Gita do wysyłania poczty
363 Group:          Development/Tools
364 Requires:       %{name} = %{version}-%{release}
365 Suggests:       perl-Net-SMTP-SSL
366
367 %description email
368 Git tools for sending email.
369
370 %description email -l pl.UTF-8
371 Narzędzia Gita do wysyłania poczty.
372
373 %package -n bash-completion-git
374 Summary:        bash-completion for git
375 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla gita
376 Group:          Applications/Shells
377 Requires:       %{name} = %{version}-%{release}
378 Requires:       bash-completion >= 2.0
379 %if "%{_rpmversion}" >= "5"
380 BuildArch:      noarch
381 %endif
382
383 %description -n bash-completion-git
384 This package provides bash-completion for git.
385
386 %description -n bash-completion-git -l pl.UTF-8
387 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
388
389 %package -n perl-Git
390 Summary:        Perl interface to the Git version control system
391 Summary(pl.UTF-8):      Perlowy interfejs do systemu kontroli wersji Git
392 Group:          Development/Languages/Perl
393 Obsoletes:      perl-git-core
394 %if "%{_rpmversion}" >= "5"
395 BuildArch:      noarch
396 %endif
397
398 %description -n perl-Git
399 This module provides Perl scripts easy way to interface the Git
400 version control system. The modules have an easy and well-tested way
401 to call arbitrary Git commands; in the future, the interface will also
402 provide specialized methods for doing easily operations which are not
403 totally trivial to do over the generic command interface.
404
405 %description -n perl-Git -l pl.UTF-8
406 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
407 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
408 dowolne polecenia Gita; w przyszłości interfejs udostępni także
409 specjalne metody do łatwego wykonywania operacji nietrywialnych do
410 wykonania przy użyciu ogólnego interfejsu poleceń.
411
412 %package -n gnome-keyring-git-core
413 Summary:        GNOME Keyring authentication provider for Git
414 Summary(pl.UTF-8):      Moduł uwierzytelniający GNOME Keyring dla Git
415 Group:          X11/Applications
416 URL:            http://git-scm.com/docs/gitcredentials.html
417 Requires:       %{name} = %{version}-%{release}
418
419 %description -n gnome-keyring-git-core
420 Authentication provider module for Git which allows git client to
421 authenticate using GNOME Keyring.
422
423 You need to register it with:
424 - git config --global credential.helper gnome-keyring
425
426 %description -n gnome-keyring-git-core -l pl.UTF-8
427 Moduł uwierzytelniający dla Subversion pozwalający klientom git
428 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
429
430 Moduł trzeba zarejestrować poleceniem:
431 - git config --global credential.helper gnome-keyring
432
433 %prep
434 %setup -q -n git-%{version}
435 %patch0 -p0
436 %patch1 -p1
437 %patch2 -p1
438
439 %{__rm} {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore
440
441 # we build things in contrib but want to have it clean for doc purporses, too
442 cp -a contrib contrib-doc
443
444 %build
445 %{__aclocal}
446 %{__autoconf}
447 %configure \
448         --sysconfdir=%{_sysconfdir}/git-core \
449         %{?with_pcre:--with-libpcre2} \
450         --with-openssl
451
452 echo "BLK_SHA1=1" >> config.mak
453
454 %{__make} \
455         INSTALLDIRS=vendor \
456         GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
457         GITWEB_PROJECTROOT="/var/lib/git" \
458         GITWEB_CSS="/gitweb/gitweb.css" \
459         GITWEB_LOGO="/gitweb/git-logo.png" \
460         GITWEB_FAVICON="/gitweb/git-favicon.png" \
461         V=1
462
463 %{__make} -C contrib/subtree
464
465 %if %{with gnome_keyring}
466 %{__make} -C contrib/credential/gnome-keyring
467 %endif
468
469 %if %{with doc}
470 %{__make} -C Documentation \
471         MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
472         V=1
473 %endif
474
475 %if %{with tests}
476 %if %{without tests_cvs}
477 %{__rm} t/t*cvs*.sh || :
478 %endif
479 %{!?with_tests_svn:GIT_SKIP_TESTS='t91??'} %{__make} test
480 %endif
481
482 %install
483 rm -rf $RPM_BUILD_ROOT
484 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
485 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
486 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
487 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
488 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
489 [init]
490         templatedir = %{_sysconfdir}/%{name}/templates
491 EOF
492
493 %{__make} install \
494         INSTALLDIRS=vendor \
495         DESTDIR=$RPM_BUILD_ROOT
496
497 %if %{with doc}
498 %{__make} -C Documentation install \
499         DESTDIR=$RPM_BUILD_ROOT
500 %endif
501
502 # copy templates except sample hooks
503 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
504 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
505
506 # header files and lib
507 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
508 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
509 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
510 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
511 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
512 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
513 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
514 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
515
516 %{__make} -C contrib/subtree install \
517         libexecdir=%{gitcoredir} \
518         DESTDIR=$RPM_BUILD_ROOT
519
520 %if %{with doc}
521 %{__make} -C contrib/subtree install-man \
522         DESTDIR=$RPM_BUILD_ROOT
523 %endif
524
525 %if %{with gnome_keyring}
526 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
527 %endif
528
529 # bash completion
530 install -d $RPM_BUILD_ROOT%{bash_compdir}
531 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
532
533 # Install git-prompt.sh
534 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
535 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
536
537 # Install bzr and hg remote helpers from contrib
538 install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
539
540 # gitweb
541 mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
542 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
543 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
544 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
545 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
546 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
547 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
548
549 # git-daemon related files
550 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
551 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
552 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
553
554 # paths cleanup
555 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
556 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
557
558 # same file, link
559 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
560 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
561 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
562 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
563 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
564
565 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
566 # requiring excessive free space when it may not be available
567 # https://bugs.launchpad.net/pld-linux/+bug/1176337
568 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
569 for f in $(cat files); do
570         f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
571         test $f = git && continue
572         ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
573 done
574
575 # few others
576 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
577 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
578 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
579 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
580
581 # remove unneeded files
582 %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
583 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
584 %py_postclean
585
586 mv $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
587 %find_lang git
588
589 %clean
590 rm -rf $RPM_BUILD_ROOT
591
592 %post daemon-inetd
593 %service -q rc-inetd reload
594
595 %postun daemon-inetd
596 if [ "$1" = "0" ]; then
597         %service -q rc-inetd reload
598 fi
599
600 %post daemon-standalone
601 /sbin/chkconfig --add git-daemon
602 %service git-daemon restart "git-daemon"
603
604 %preun daemon-standalone
605 if [ "$1" = "0" ]; then
606         %service git-daemon stop
607         /sbin/chkconfig --del git-daemon
608 fi
609
610 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
611 %webapp_register apache %{webapp}
612
613 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
614 %webapp_unregister apache %{webapp}
615
616 %triggerin gitweb -- apache < 2.2.0, apache-base
617 %webapp_register httpd %{webapp}
618
619 %triggerun gitweb -- apache < 2.2.0, apache-base
620 %webapp_unregister httpd %{webapp}
621
622 %triggerin gitweb -- lighttpd
623 %webapp_register lighttpd %{webapp}
624
625 %triggerun gitweb -- lighttpd
626 %webapp_unregister lighttpd %{webapp}
627
628 %files -f git.lang
629 %defattr(644,root,root,755)
630 %doc README.md contrib-doc
631 %attr(755,root,root) %{_bindir}/git
632 %attr(755,root,root) %{_bindir}/git-receive-pack
633 %attr(755,root,root) %{_bindir}/git-shell
634 %attr(755,root,root) %{_bindir}/git-upload-archive
635 %attr(755,root,root) %{_bindir}/git-upload-pack
636 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
637
638 %if %{with doc}
639 %{_mandir}/man1/git-*.1*
640 %exclude %{_mandir}/man1/git-archimport.1*
641 %exclude %{_mandir}/man1/git-svn.1*
642 %exclude %{_mandir}/man1/git-cvs*.1*
643 %exclude %{_mandir}/man1/git-imap-send*.1*
644 %exclude %{_mandir}/man1/*email*.1*
645 %{_mandir}/man1/git.1*
646 %{_mandir}/man1/gitremote-helpers.1*
647 %{_mandir}/man5/gitattributes.5*
648 %{_mandir}/man5/githooks.5*
649 %{_mandir}/man5/gitignore.5*
650 %{_mandir}/man5/gitmodules.5*
651 %{_mandir}/man5/gitrepository-layout.5*
652 %{_mandir}/man7/gitcli.7*
653 %{_mandir}/man7/gitcore-tutorial.7*
654 %{_mandir}/man7/gitcredentials.7*
655 %{_mandir}/man7/gitdiffcore.7*
656 %{_mandir}/man7/giteveryday.7*
657 %{_mandir}/man7/gitglossary.7*
658 %{_mandir}/man7/gitnamespaces.7*
659 %{_mandir}/man7/gitrevisions.7*
660 %{_mandir}/man7/gitsubmodules.7*
661 %{_mandir}/man7/gittutorial-2.7*
662 %{_mandir}/man7/gittutorial.7*
663 %{_mandir}/man7/gitworkflows.7*
664 %endif
665
666 %dir %{gitcoredir}
667 %attr(755,root,root) %{gitcoredir}/*-*
668 %attr(755,root,root) %{gitcoredir}/git
669 %dir %{gitcoredir}/mergetools
670 %{gitcoredir}/mergetools/*
671
672 %{_datadir}/%{name}
673 %{_localstatedir}/lib/git
674
675 # subpackages
676 %exclude %{gitcoredir}/*email*
677 %exclude %{gitcoredir}/*p4*
678 %exclude %{gitcoredir}/git-archimport
679 %exclude %{gitcoredir}/git-cvs*
680 %exclude %{gitcoredir}/git-gui
681 %exclude %{gitcoredir}/git-imap-send
682 %exclude %{gitcoredir}/git-instaweb
683 %exclude %{gitcoredir}/git-remote-bzr
684 %exclude %{gitcoredir}/git-remote-hg
685 %exclude %{gitcoredir}/git-remote-testsvn
686 %exclude %{gitcoredir}/git-svn
687 %exclude %{gitcoredir}/mergetools/p4merge
688 %if %{with gnome_keyring}
689 %exclude %{gitcoredir}/git-credential-gnome-keyring
690 %endif
691
692 %if %{with doc}
693 %files doc
694 %defattr(644,root,root,755)
695 %doc Documentation/RelNotes*
696 %doc Documentation/*.html Documentation/howto Documentation/technical
697 %endif
698
699 %files daemon-inetd
700 %defattr(644,root,root,755)
701 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
702
703 %files daemon-standalone
704 %defattr(644,root,root,755)
705 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
706 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
707
708 %files devel
709 %defattr(644,root,root,755)
710 %{_includedir}/%{name}
711 %{_libdir}/libgit.a
712 %{_libdir}/libgit_xdiff.a
713
714 %if %{with tk}
715 %files gitk
716 %defattr(644,root,root,755)
717 %if %{with doc}
718 %{_mandir}/man1/gitk.1*
719 %endif
720 %attr(755,root,root) %{_bindir}/gitk
721 %dir %{_datadir}/gitk
722 %dir %{_datadir}/gitk/lib
723 %dir %{_datadir}/gitk/lib/msgs
724 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
725 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
726 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
727 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
728 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
729 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
730 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
731 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
732 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
733 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
734 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
735 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
736 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
737 %endif
738
739 %files gitweb
740 %defattr(644,root,root,755)
741 %doc gitweb/{README,INSTALL}
742 %dir %{webappdir}
743 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
744 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
745 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
746 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
747 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
748 %attr(755,root,root) %{cgibindir}/gitweb.cgi
749 %{appdir}
750 %attr(755,root,root) %{gitcoredir}/git-instaweb
751 %if %{with doc}
752 %{_mandir}/man1/gitweb.1*
753 %{_mandir}/man5/gitweb.conf.5*
754 %endif
755
756 %if %{with tk}
757 %files gui
758 %defattr(644,root,root,755)
759 %attr(755,root,root) %{gitcoredir}/git-gui
760 %dir %{_datadir}/git-gui
761 %dir %{_datadir}/git-gui/lib
762 %dir %{_datadir}/git-gui/lib/msgs
763 %{_datadir}/git-gui/lib/git-gui.ico
764 %{_datadir}/git-gui/lib/tclIndex
765 %{_datadir}/git-gui/lib/*.js
766 %{_datadir}/git-gui/lib/*.tcl
767 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
768 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
769 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
770 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
771 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
772 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
773 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
774 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
775 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
776 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
777 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
778 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
779 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
780 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
781 %endif
782
783 %files arch
784 %defattr(644,root,root,755)
785 %attr(755,root,root) %{gitcoredir}/git-archimport
786 %if %{with doc}
787 %{_mandir}/man1/git-archimport.1*
788 %endif
789
790 %files bzr
791 %defattr(644,root,root,755)
792 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
793
794 %files cvs
795 %defattr(644,root,root,755)
796 %attr(755,root,root) %{_bindir}/git-cvsserver
797 %attr(755,root,root) %{gitcoredir}/git-cvs*
798 %if %{with doc}
799 %{_mandir}/man1/git-cvs*.1*
800 %{_mandir}/man7/gitcvs-migration.7*
801 %endif
802
803 %files hg
804 %defattr(644,root,root,755)
805 %attr(755,root,root) %{gitcoredir}/git-remote-hg
806
807 %files p4
808 %defattr(644,root,root,755)
809 %attr(755,root,root) %{gitcoredir}/git-p4
810 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
811
812 %files svn
813 %defattr(644,root,root,755)
814 %attr(755,root,root) %{gitcoredir}/git-svn
815 %attr(755,root,root) %{gitcoredir}/git-remote-testsvn
816 %{perl_vendorlib}/Git/SVN
817 %{perl_vendorlib}/Git/SVN.pm
818 %if %{with doc}
819 %{_mandir}/man1/git-svn.1*
820 %endif
821 %{_mandir}/man3/Git::SVN::Editor.3pm*
822 %{_mandir}/man3/Git::SVN::Fetcher.3pm*
823 %{_mandir}/man3/Git::SVN::Memoize::YAML.3pm*
824 %{_mandir}/man3/Git::SVN::Prompt.3pm*
825 %{_mandir}/man3/Git::SVN::Ra.3pm*
826 %{_mandir}/man3/Git::SVN::Utils.3pm*
827
828 %files email
829 %defattr(644,root,root,755)
830 %attr(755,root,root) %{gitcoredir}/git-imap-send
831 %attr(755,root,root) %{gitcoredir}/*email*
832 %if %{with doc}
833 %{_mandir}/man1/*email*.1*
834 %{_mandir}/man1/*imap-send*.1*
835 %endif
836
837 %files -n bash-completion-git
838 %defattr(644,root,root,755)
839 %{bash_compdir}/git
840
841 %files -n perl-Git
842 %defattr(644,root,root,755)
843 %{perl_vendorlib}/Git.pm
844 %dir %{perl_vendorlib}/Git
845 %{perl_vendorlib}/Git/I18N.pm
846 %{perl_vendorlib}/Git/IndexInfo.pm
847 %{perl_vendorlib}/Git/Packet.pm
848 %{_mandir}/man3/Git.3pm*
849 %{_mandir}/man3/Git::I18N.3pm*
850
851 %if %{with gnome_keyring}
852 %files -n gnome-keyring-git-core
853 %defattr(644,root,root,755)
854 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
855 %endif
This page took 0.153694 seconds and 3 git commands to generate.