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