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