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