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