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