]> git.pld-linux.org Git - packages/git-core.git/blob - git-core.spec
BR: openssh-clients for tests; rel 2
[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.36.1
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:  b069d4919c8d9faf28db4fd90feb8e1d
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
367 %description svn
368 Subversion support for Git.
369
370 %description svn -l pl.UTF-8
371 Obsługa Subversion dla Gita.
372
373 %package email
374 Summary:        Git tools for sending email
375 Summary(pl.UTF-8):      Narzędzia Gita do wysyłania poczty
376 Group:          Development/Tools
377 Requires:       %{name} = %{version}-%{release}
378 Requires:       perl-Error
379 Requires:       perl-MailTools
380 Suggests:       perl-Net-SMTP-SSL
381
382 %description email
383 Git tools for sending email.
384
385 %description email -l pl.UTF-8
386 Narzędzia Gita do wysyłania poczty.
387
388 %package -n bash-completion-git
389 Summary:        bash-completion for git
390 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla gita
391 Group:          Applications/Shells
392 Requires:       %{name} = %{version}-%{release}
393 Requires:       bash-completion >= 2.0
394 BuildArch:      noarch
395
396 %description -n bash-completion-git
397 This package provides bash-completion for git.
398
399 %description -n bash-completion-git -l pl.UTF-8
400 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
401
402 %package -n perl-Git
403 Summary:        Perl interface to the Git version control system
404 Summary(pl.UTF-8):      Perlowy interfejs do systemu kontroli wersji Git
405 Group:          Development/Languages/Perl
406 Requires:       perl-Error
407 Obsoletes:      perl-git-core < 1.4.3.5
408 BuildArch:      noarch
409
410 %description -n perl-Git
411 This module provides Perl scripts easy way to interface the Git
412 version control system. The modules have an easy and well-tested way
413 to call arbitrary Git commands; in the future, the interface will also
414 provide specialized methods for doing easily operations which are not
415 totally trivial to do over the generic command interface.
416
417 %description -n perl-Git -l pl.UTF-8
418 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
419 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
420 dowolne polecenia Gita; w przyszłości interfejs udostępni także
421 specjalne metody do łatwego wykonywania operacji nietrywialnych do
422 wykonania przy użyciu ogólnego interfejsu poleceń.
423
424 %package -n gnome-keyring-git-core
425 Summary:        GNOME Keyring authentication provider for Git
426 Summary(pl.UTF-8):      Moduł uwierzytelniający GNOME Keyring dla Gita
427 Group:          X11/Applications
428 URL:            http://git-scm.com/docs/gitcredentials.html
429 Requires:       %{name} = %{version}-%{release}
430
431 %description -n gnome-keyring-git-core
432 Authentication provider module for Git which allows git client to
433 authenticate using GNOME Keyring.
434
435 You need to register it with:
436 - git config --global credential.helper gnome-keyring
437
438 %description -n gnome-keyring-git-core -l pl.UTF-8
439 Moduł uwierzytelniający dla Gita pozwalający klientom git
440 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
441
442 Moduł trzeba zarejestrować poleceniem:
443 - git config --global credential.helper gnome-keyring
444
445 %package credential-libsecret
446 Summary:        GNOME authentication provider for Git using libsecret
447 Summary(pl.UTF-8):      Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret
448 Group:          X11/Applications
449 URL:            http://git-scm.com/docs/gitcredentials.html
450 Requires:       %{name} = %{version}-%{release}
451
452 %description credential-libsecret
453 Authentication provider module for Git which allows git client to
454 authenticate using GNOME libsecret.
455
456 You need to register it with:
457 - git config --global credential.helper libsecret
458
459 %description credential-libsecret -l pl.UTF-8
460 Moduł uwierzytelniający dla Gita pozwalający klientom git
461 uwierzytelniać się przy użyciu mechanizmu GNOME libsecret.
462
463 Moduł trzeba zarejestrować poleceniem:
464 - git config --global credential.helper libsecret
465
466 %package -n zsh-completion-git
467 Summary:        Zsh completion for git command
468 Summary(pl.UTF-8):      Dopełnianie parametrów komendy git dla powłoki zsh
469 Group:          Applications/Shells
470 Requires:       %{name} = %{version}-%{release}
471 Requires:       bash-completion-git = %{version}-%{release}
472 Requires:       zsh
473 BuildArch:      noarch
474
475 %description -n zsh-completion-git
476 Zsh completion for git command.
477
478 %description -n zsh-completion-git -l pl.UTF-8
479 Dopełnianie parametrów komendy git dla powłoki zsh.
480
481 %prep
482 %setup -q -n git-%{version}
483 %patch0 -p0
484 %patch1 -p1
485 %patch2 -p1
486
487 %{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore
488
489 # we build things in contrib but want to have it clean for doc purporses, too
490 cp -a contrib contrib-doc
491
492 %build
493 %{__aclocal}
494 %{__autoconf}
495 %configure \
496         --sysconfdir=%{_sysconfdir}/git-core \
497         %{?with_pcre:--with-libpcre2} \
498         --with-openssl \
499         --with-python="%{__python3}"
500
501 echo "BLK_SHA1=1" >> config.mak
502
503 %{__make} \
504         GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
505         GITWEB_PROJECTROOT="/var/lib/git" \
506         GITWEB_CSS="/gitweb/gitweb.css" \
507         GITWEB_LOGO="/gitweb/git-logo.png" \
508         GITWEB_FAVICON="/gitweb/git-favicon.png" \
509         NO_PERL_CPAN_FALLBACKS=1 \
510         perllibdir=%{perl_vendorlib} \
511         V=1
512
513 %{__make} -C contrib/subtree
514
515 %if %{with gnome_keyring}
516 %{__make} -C contrib/credential/gnome-keyring \
517         CC="%{__cc}" \
518         CFLAGS="%{rpmcflags} -Wall" \
519         LDFLAGS="%{rpmldflags}"
520 %endif
521
522 %if %{with libsecret}
523 %{__make} -C contrib/credential/libsecret \
524         CC="%{__cc}" \
525         CFLAGS="%{rpmcflags} -Wall" \
526         LDFLAGS="%{rpmldflags}"
527 %endif
528
529 %if %{with doc}
530 %{__make} doc \
531         MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
532         V=1
533 %endif
534
535 %if %{with tests}
536 %if %{without tests_cvs}
537 %{__rm} t/t*cvs*.sh || :
538 %endif
539 %if %{without tests_svn}
540 GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
541 %endif
542 export GIT_SKIP_TESTS
543 %{__make} test \
544         NO_PERL_CPAN_FALLBACKS=1
545 %endif
546
547 %install
548 rm -rf $RPM_BUILD_ROOT
549 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
550 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
551 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
552 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
553 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
554 [init]
555         templatedir = %{_sysconfdir}/%{name}/templates
556 EOF
557
558 %{__make} install \
559         DESTDIR=$RPM_BUILD_ROOT \
560         NO_PERL_CPAN_FALLBACKS=1 \
561         perllibdir=%{perl_vendorlib}
562
563 %if %{with doc}
564 %{__make} install-doc \
565         DESTDIR=$RPM_BUILD_ROOT
566 %endif
567
568 # copy templates except sample hooks
569 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
570 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
571
572 # header files and lib
573 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
574 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
575 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
576 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
577 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
578 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
579 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
580 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
581
582 %{__make} -C contrib/subtree install \
583         libexecdir=%{gitcoredir} \
584         DESTDIR=$RPM_BUILD_ROOT
585
586 %if %{with doc}
587 %{__make} -C contrib/subtree install-man \
588         DESTDIR=$RPM_BUILD_ROOT
589 %endif
590
591 %if %{with gnome_keyring}
592 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
593 %endif
594
595 %if %{with libsecret}
596 install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
597 %endif
598
599 # bash completion
600 install -d $RPM_BUILD_ROOT%{bash_compdir}
601 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
602 install -d $RPM_BUILD_ROOT%{zsh_compdir}
603 cp -p contrib/completion/git-completion.zsh $RPM_BUILD_ROOT%{zsh_compdir}/_git
604 sed -i -e "1 a zstyle ':completion:*:*:git:*' script %{bash_compdir}/git" $RPM_BUILD_ROOT%{zsh_compdir}/_git
605
606 # Install git-prompt.sh
607 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
608 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
609
610 # Install bzr and hg remote helpers from contrib
611 install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
612
613 # gitweb
614 %{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
615 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
616 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
617 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
618 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
619 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
620 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
621
622 # git-daemon related files
623 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
624 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
625 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
626
627 # paths cleanup
628 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
629 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
630
631 # same file, link
632 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
633 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
634 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
635 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
636 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
637
638 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
639 # requiring excessive free space when it may not be available
640 # https://bugs.launchpad.net/pld-linux/+bug/1176337
641 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
642 for f in $(cat files); do
643         f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
644         test $f = git && continue
645         ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
646 done
647
648 # few others
649 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
650 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
651 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
652 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
653
654 %{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
655 %find_lang git
656
657 %clean
658 rm -rf $RPM_BUILD_ROOT
659
660 %post
661 if [ ! -f /etc/shells ]; then
662         echo "%{_bindir}/git-shell" >> /etc/shells
663 else
664         grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells
665 fi
666
667 %preun
668 if [ "$1" = "0" ]; then
669         umask 022
670         grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new
671         mv -f /etc/shells.new /etc/shells
672 fi
673
674 %post daemon-inetd
675 %service -q rc-inetd reload
676
677 %postun daemon-inetd
678 if [ "$1" = "0" ]; then
679         %service -q rc-inetd reload
680 fi
681
682 %post daemon-standalone
683 /sbin/chkconfig --add git-daemon
684 %service git-daemon restart "git-daemon"
685
686 %preun daemon-standalone
687 if [ "$1" = "0" ]; then
688         %service git-daemon stop
689         /sbin/chkconfig --del git-daemon
690 fi
691
692 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
693 %webapp_register apache %{webapp}
694
695 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
696 %webapp_unregister apache %{webapp}
697
698 %triggerin gitweb -- apache < 2.2.0, apache-base
699 %webapp_register httpd %{webapp}
700
701 %triggerun gitweb -- apache < 2.2.0, apache-base
702 %webapp_unregister httpd %{webapp}
703
704 %triggerin gitweb -- lighttpd
705 %webapp_register lighttpd %{webapp}
706
707 %triggerun gitweb -- lighttpd
708 %webapp_unregister lighttpd %{webapp}
709
710 %files -f git.lang
711 %defattr(644,root,root,755)
712 %doc README.md contrib-doc
713 %attr(755,root,root) %{_bindir}/git
714 %attr(755,root,root) %{_bindir}/git-receive-pack
715 %attr(755,root,root) %{_bindir}/git-shell
716 %attr(755,root,root) %{_bindir}/git-upload-archive
717 %attr(755,root,root) %{_bindir}/git-upload-pack
718 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
719
720 %if %{with doc}
721 %{_mandir}/man1/git-*.1*
722 %exclude %{_mandir}/man1/git-archimport.1*
723 %exclude %{_mandir}/man1/git-svn.1*
724 %exclude %{_mandir}/man1/git-cvs*.1*
725 %exclude %{_mandir}/man1/git-imap-send.1*
726 %exclude %{_mandir}/man1/git-p4.1*
727 %exclude %{_mandir}/man1/git-send-email.1*
728 %{_mandir}/man1/git.1*
729 %{_mandir}/man5/gitattributes.5*
730 %{_mandir}/man5/githooks.5*
731 %{_mandir}/man5/gitignore.5*
732 %{_mandir}/man5/gitmailmap.5*
733 %{_mandir}/man5/gitmodules.5*
734 %{_mandir}/man5/gitrepository-layout.5*
735 %{_mandir}/man7/gitcli.7*
736 %{_mandir}/man7/gitcore-tutorial.7*
737 %{_mandir}/man7/gitcredentials.7*
738 %{_mandir}/man7/gitdiffcore.7*
739 %{_mandir}/man7/giteveryday.7*
740 %{_mandir}/man7/gitfaq.7*
741 %{_mandir}/man7/gitglossary.7*
742 %{_mandir}/man7/gitnamespaces.7*
743 %{_mandir}/man7/gitremote-helpers.7*
744 %{_mandir}/man7/gitrevisions.7*
745 %{_mandir}/man7/gitsubmodules.7*
746 %{_mandir}/man7/gittutorial-2.7*
747 %{_mandir}/man7/gittutorial.7*
748 %{_mandir}/man7/gitworkflows.7*
749 %endif
750
751 %dir %{gitcoredir}
752 %attr(755,root,root) %{gitcoredir}/*-*
753 %attr(755,root,root) %{gitcoredir}/git
754 %dir %{gitcoredir}/mergetools
755 %{gitcoredir}/mergetools/*
756
757 %{_datadir}/%{name}
758 %{_localstatedir}/lib/git
759
760 # subpackages
761 %exclude %{gitcoredir}/*email*
762 %exclude %{gitcoredir}/*p4*
763 %exclude %{gitcoredir}/git-archimport
764 %exclude %{gitcoredir}/git-citool
765 %exclude %{gitcoredir}/git-cvs*
766 %exclude %{gitcoredir}/git-gui
767 %exclude %{gitcoredir}/git-imap-send
768 %exclude %{gitcoredir}/git-instaweb
769 %exclude %{gitcoredir}/git-remote-bzr
770 %exclude %{gitcoredir}/git-remote-hg
771 %exclude %{gitcoredir}/git-svn
772 %exclude %{gitcoredir}/mergetools/p4merge
773 %if %{with gnome_keyring}
774 %exclude %{gitcoredir}/git-credential-gnome-keyring
775 %endif
776 %if %{with libsecret}
777 %exclude %{gitcoredir}/git-credential-libsecret
778 %endif
779
780 %if %{with doc}
781 %files doc
782 %defattr(644,root,root,755)
783 %doc Documentation/RelNotes*
784 %doc Documentation/*.html Documentation/howto Documentation/technical
785 %endif
786
787 %files daemon-inetd
788 %defattr(644,root,root,755)
789 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
790
791 %files daemon-standalone
792 %defattr(644,root,root,755)
793 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
794 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
795
796 %files devel
797 %defattr(644,root,root,755)
798 %{_includedir}/%{name}
799 %{_libdir}/libgit.a
800 %{_libdir}/libgit_xdiff.a
801
802 %if %{with tk}
803 %files gitk
804 %defattr(644,root,root,755)
805 %if %{with doc}
806 %{_mandir}/man1/gitk.1*
807 %endif
808 %attr(755,root,root) %{_bindir}/gitk
809 %dir %{_datadir}/gitk
810 %dir %{_datadir}/gitk/lib
811 %dir %{_datadir}/gitk/lib/msgs
812 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
813 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
814 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
815 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
816 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
817 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
818 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
819 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
820 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
821 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
822 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
823 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
824 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
825 %lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
826 %endif
827
828 %files gitweb
829 %defattr(644,root,root,755)
830 %doc gitweb/{README,INSTALL}
831 %dir %{webappdir}
832 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
833 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
834 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
835 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
836 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
837 %attr(755,root,root) %{cgibindir}/gitweb.cgi
838 %{appdir}
839 %attr(755,root,root) %{gitcoredir}/git-instaweb
840 %if %{with doc}
841 %{_mandir}/man1/gitweb.1*
842 %{_mandir}/man5/gitweb.conf.5*
843 %endif
844
845 %if %{with tk}
846 %files gui
847 %defattr(644,root,root,755)
848 %attr(755,root,root) %{gitcoredir}/git-citool
849 %attr(755,root,root) %{gitcoredir}/git-gui
850 %dir %{_datadir}/git-gui
851 %dir %{_datadir}/git-gui/lib
852 %dir %{_datadir}/git-gui/lib/msgs
853 %{_datadir}/git-gui/lib/git-gui.ico
854 %{_datadir}/git-gui/lib/tclIndex
855 %{_datadir}/git-gui/lib/*.js
856 %{_datadir}/git-gui/lib/*.tcl
857 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
858 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
859 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
860 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
861 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
862 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
863 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
864 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
865 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
866 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
867 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
868 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
869 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
870 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
871 %endif
872
873 %files arch
874 %defattr(644,root,root,755)
875 %attr(755,root,root) %{gitcoredir}/git-archimport
876 %if %{with doc}
877 %{_mandir}/man1/git-archimport.1*
878 %endif
879
880 %files bzr
881 %defattr(644,root,root,755)
882 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
883
884 %files cvs
885 %defattr(644,root,root,755)
886 %attr(755,root,root) %{_bindir}/git-cvsserver
887 %attr(755,root,root) %{gitcoredir}/git-cvs*
888 %if %{with doc}
889 %{_mandir}/man1/git-cvs*.1*
890 %{_mandir}/man7/gitcvs-migration.7*
891 %endif
892
893 %files hg
894 %defattr(644,root,root,755)
895 %attr(755,root,root) %{gitcoredir}/git-remote-hg
896
897 %files p4
898 %defattr(644,root,root,755)
899 %attr(755,root,root) %{gitcoredir}/git-p4
900 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
901 %if %{with doc}
902 %{_mandir}/man1/git-p4.1*
903 %endif
904
905 %files svn
906 %defattr(644,root,root,755)
907 %attr(755,root,root) %{gitcoredir}/git-svn
908 %{perl_vendorlib}/Git/SVN
909 %{perl_vendorlib}/Git/SVN.pm
910 %if %{with doc}
911 %{_mandir}/man1/git-svn.1*
912 %endif
913
914 %files email
915 %defattr(644,root,root,755)
916 %attr(755,root,root) %{gitcoredir}/git-imap-send
917 %attr(755,root,root) %{gitcoredir}/git-send-email
918 %if %{with doc}
919 %{_mandir}/man1/git-imap-send.1*
920 %{_mandir}/man1/git-send-email.1*
921 %endif
922
923 %files -n bash-completion-git
924 %defattr(644,root,root,755)
925 %{bash_compdir}/git
926
927 %files -n perl-Git
928 %defattr(644,root,root,755)
929 %{perl_vendorlib}/Git.pm
930 %dir %{perl_vendorlib}/Git
931 %{perl_vendorlib}/Git/I18N.pm
932 %{perl_vendorlib}/Git/IndexInfo.pm
933 %{perl_vendorlib}/Git/LoadCPAN.pm
934 %{perl_vendorlib}/Git/Packet.pm
935 %dir %{perl_vendorlib}/Git/LoadCPAN
936 %{perl_vendorlib}/Git/LoadCPAN/Error.pm
937 %dir %{perl_vendorlib}/Git/LoadCPAN/Mail
938 %{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
939 %{?with_doc:%{_mandir}/man3/Git.3pm*}
940
941 %if %{with gnome_keyring}
942 %files -n gnome-keyring-git-core
943 %defattr(644,root,root,755)
944 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
945 %endif
946
947 %if %{with libsecret}
948 %files credential-libsecret
949 %defattr(644,root,root,755)
950 %attr(755,root,root) %{gitcoredir}/git-credential-libsecret
951 %endif
952
953 %files -n zsh-completion-git
954 %defattr(644,root,root,755)
955 %{zsh_compdir}/_git
This page took 0.088366 seconds and 4 git commands to generate.