]> git.pld-linux.org Git - packages/git-core.git/blob - git-core.spec
up to 2.25.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 %include        /usr/lib/rpm/macros.perl
15 Summary:        Distributed version control system focused on speed, effectivity and usability
16 Summary(pl.UTF-8):      Rozproszony system śledzenia treści skupiony na szybkości, wydajności i użyteczności
17 Name:           git-core
18 Version:        2.25.0
19 Release:        1
20 License:        GPL v2
21 Group:          Development/Tools
22 Source0:        http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
23 # Source0-md5:  eab5cdee7c478c0804346d8835e314c9
24 Source1:        %{name}-gitweb.conf
25 Source2:        %{name}-gitweb-httpd.conf
26 Source3:        %{name}-gitweb-lighttpd.conf
27 Source4:        %{name}.sysconfig
28 Source5:        %{name}.inet
29 Source6:        %{name}.init
30 Source7:        gitolite.pl
31 Patch0:         %{name}-key-bindings.patch
32 Patch1:         %{name}-sysconfdir.patch
33 Patch2:         cherry-picked-commitlog.patch
34 URL:            http://git-scm.com/
35 BuildRequires:  autoconf >= 2.59
36 BuildRequires:  automake
37 BuildRequires:  curl-devel
38 BuildRequires:  expat-devel
39 %if "%{pld_release}" == "ac"
40 BuildRequires:  gettext-devel
41 %else
42 BuildRequires:  gettext-tools
43 %endif
44 %if %{with gnome_keyring} || %{with libsecret}
45 BuildRequires:  glib2-devel >= 2.0
46 %endif
47 %if %{with gnome_keyring}
48 BuildRequires:  libgnome-keyring-devel
49 %endif
50 %if %{with libsecret}
51 BuildRequires:  libsecret-devel
52 %endif
53 BuildRequires:  openssl-devel
54 %{?with_pcre:BuildRequires:     pcre2-8-devel}
55 BuildRequires:  perl-Error > 0.15
56 BuildRequires:  perl-MailTools
57 BuildRequires:  perl-base
58 %if %{with gnome_keyring} || %{with libsecret}
59 BuildRequires:  pkgconfig
60 %endif
61 BuildRequires:  python-devel
62 BuildRequires:  rpm-perlprov >= 4.1-13
63 BuildRequires:  rpm-pythonprov
64 BuildRequires:  rpmbuild(macros) >= 1.673
65 %if %{with tk}
66 # wish
67 BuildRequires:  tk
68 %endif
69 BuildRequires:  zlib-devel
70 %if %{with doc}
71 BuildRequires:  asciidoc >= 7.1.2-3
72 BuildRequires:  docbook-dtd45-xml
73 BuildRequires:  xmlto
74 %endif
75 %if %{with tests}
76 %if %{with tests_cvs}
77 # tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
78 BuildRequires:  cvs-gnu-client < 1.13
79 BuildRequires:  cvs-gnu-client >= 1.12
80 %endif
81 %if %{with tests_svn}
82 BuildRequires:  perl-subversion
83 BuildRequires:  subversion
84 %endif
85 Conflicts:      pdksh < 5.2.14-46
86 %endif
87 # git-sh-setup: sane_grep
88 Requires:       grep
89 # git-pull: printf
90 Requires:       coreutils
91 Requires:       sed
92 Suggests:       git-core-bzr
93 Suggests:       git-core-cvs
94 Suggests:       git-core-hg
95 Suggests:       git-core-p4
96 Suggests:       git-core-svn
97 Suggests:       less
98 Suggests:       openssh-clients
99 Suggests:       perl-Git = %{version}-%{release}
100 Suggests:       rsync
101 Obsoletes:      git-core-gitview
102 Obsoletes:      python-Git
103 Conflicts:      perl-Git < %{version}
104 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
105
106 # html docs have links to txt files
107 %define         _noautocompressdoc      *.txt
108
109 # do not generate perl dependency, git add -p support is optional
110 # skip dependency generation from templates
111 %define         _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive %{_datadir}/%{name}/templates
112
113 %define         webapp          gitweb
114 %define         webappdir       %{_sysconfdir}/webapps/%{webapp}
115 %define         appdir          %{_datadir}/%{webapp}
116 %define         cgibindir       %{_prefix}/lib/cgi-bin
117 %define         gitcoredir      %{_libexecdir}/%{name}
118
119 %description
120 "git" can mean anything, depending on your mood.
121
122 - random three-letter combination that is pronounceable, and not
123   actually used by any common UNIX command. The fact that it is a
124   mispronunciation of "get" may or may not be relevant.
125 - stupid. contemptible and despicable. simple. Take your pick from the
126   dictionary of slang.
127 - "global information tracker": you're in a good mood, and it actually
128   works for you. Angels sing, and a light suddenly fills the room.
129 - "goddamn idiotic truckload of sh*t": when it breaks
130
131 This is a stupid (but extremely fast) directory content manager. It
132 doesn't do a whole lot, but what it 'does' do is track directory
133 contents efficiently.
134
135 %description -l pl.UTF-8
136 "git" może oznaczać cokolwiek, w zależności od nastroju.
137
138 - losową kombinację trzech liter, która jest wymawialna i właściwie
139   nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
140   błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
141 - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
142 - "global information tracker" (narzędzie do globalnego śledzenia
143   informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
144   Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
145 - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
146   g*) - kiedy się zepsuje.
147
148 Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
149 Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
150 katalogu.
151
152 %package doc
153 Summary:        Documentation for git-core
154 Summary(pl.UTF-8):      Dokumentacja do git-core
155 Group:          Documentation
156 %if "%{_rpmversion}" >= "5"
157 BuildArch:      noarch
158 %endif
159
160 %description doc
161 Documentation for git-core.
162
163 %description doc -l pl.UTF-8
164 Dokumentacja do git-core.
165
166 %package daemon-inetd
167 Summary:        Files necessary to run git-daemon as an inetd service
168 Summary(pl.UTF-8):      Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
169 Group:          Networking/Daemons
170 Requires:       %{name} = %{version}-%{release}
171 Requires:       setup >= 2.4.11-1
172 Provides:       git-core-daemon
173 Obsoletes:      git-core-daemon
174 Obsoletes:      git-core-daemon-standalone
175
176 %description daemon-inetd
177 Git-daemon is a really simple TCP git daemon that can serve git
178 repositories. This package provides all necessarry files to run
179 git-daemon as an inetd service.
180
181 %description daemon-inetd -l pl.UTF-8
182 Git-daemon to prosty demon git korzystający z protokołu TCP do
183 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
184 do uruchomienia git-demona w trybie usługi inetd.
185
186 %package daemon-standalone
187 Summary:        Files necessary to run git-daemon as a standalone service
188 Summary(pl.UTF-8):      Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
189 Group:          Networking/Daemons
190 Requires:       %{name} = %{version}-%{release}
191 Provides:       git-core-daemon
192 Obsoletes:      git-core-daemon
193 Obsoletes:      git-core-daemon-inetd
194
195 %description daemon-standalone
196 Git-daemon is a really simple TCP git daemon that can serve git
197 repositories. This package provides all necessarry files to run
198 git-daemon as an standalone service.
199
200 %description daemon-standalone -l pl.UTF-8
201 Git-daemon to prosty demon git korzystający z protokołu TCP do
202 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
203 do uruchomienia git-daemona w trybie usługi samodzielnej.
204
205 %package devel
206 Summary:        Git library with header files
207 Summary(pl.UTF-8):      Biblioteka Gita oraz pliki nagłówkowe
208 Group:          Development/Libraries
209 Requires:       zlib-devel
210
211 %description devel
212 Git library with header files.
213
214 %description devel -l pl.UTF-8
215 Biblioteka Gita oraz pliki nagłówkowe.
216
217 %package gitk
218 Summary:        Tcl/Tk interface to the Git version control system
219 Summary(pl.UTF-8):      Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
220 Group:          Development/Tools
221 Requires:       %{name} = %{version}-%{release}
222 Requires:       tk
223 %if "%{_rpmversion}" >= "5"
224 BuildArch:      noarch
225 %endif
226
227 %description gitk
228 gitk displays changes in a repository or a selected set of commits.
229 This includes visualizing the commit graph, showing information
230 related to each commit, and the files in the trees of each revision.
231
232 Historically, gitk was the first repository browser. It's written in
233 Tcl/Tk and started off in a separate repository but was later merged
234 into the main git repository.
235
236 %description gitk -l pl.UTF-8
237 gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
238 Oznacza to wizualizację grafu commitów, wyświetlanie informacji
239 związanych z każdym z commitów oraz listę plików dla każdej rewizji.
240
241 Z historycznego punktu widzenia gitk był pierwszą przeglądarką
242 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
243 osobnym repozytorium, ale z czasem został włączony do głównego
244 repozytorium gita.
245
246 %package gitweb
247 Summary:        Web frontend to git
248 Summary(pl.UTF-8):      Frontend WWW do gita
249 Group:          Development/Tools
250 Requires:       %{name} = %{version}-%{release}
251 Requires:       webapps
252 Requires:       webserver(access)
253 Requires:       webserver(alias)
254 Requires:       webserver(cgi)
255 Suggests:       webserver(setenv)
256
257 %description gitweb
258 This package provides a web interface for browsing git repositories.
259
260 %description gitweb -l pl.UTF-8
261 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
262
263 %package gui
264 Summary:        Tcl/Tk interface to the Git version control system
265 Summary(pl.UTF-8):      Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
266 Group:          Development/Tools
267 Requires:       %{name} = %{version}-%{release}
268 Requires:       tk
269 Requires:       xdg-utils
270 Suggests:       meld
271
272 %description gui
273 Displays changes in a repository or a selected set of commits. This
274 includes visualizing the commit graph, showing information related to
275 each commit, and the files in the trees of each revision.
276
277 Historically, gitk was the first repository browser. It's written in
278 Tcl/Tk and started off in a separate repository but was later merged
279 into the main git repository.
280
281 %description gui -l pl.UTF-8
282 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
283 to wizualizację grafu commitów, wyświetlanie informacji związanych z
284 każdym z commitów oraz listę plików dla każdej rewizji.
285
286 Z punktu widzenia historii, gitk był pierwszą przeglądarką
287 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
288 osobnym repozytorium, ale z czasem został włączony do głównego
289 repozytorium gita.
290
291 %package arch
292 Summary:        Git tools for importing Arch repositories
293 Summary(pl.UTF-8):      Narzędzia Gita do importowania repozytoriów Archa
294 Group:          Development/Tools
295 Requires:       %{name} = %{version}-%{release}
296 Requires:       tla
297
298 %description arch
299 Git tools for importing Arch repositories.
300
301 %description arch -l pl.UTF-8
302 Narzędzia Gita do importowania repozytoriów Archa.
303
304 %package bzr
305 Summary:        Git tools for working with bzr repositories
306 Summary(pl.UTF-8):      Narzędzia Gita do pracy z repozytoriami bzr
307 Group:          Development/Tools
308 Requires:       %{name} = %{version}-%{release}
309 Requires:       bzr
310
311 %description bzr
312 Git tools for working with bzr repositories.
313
314 %description bzr -l pl.UTF-8
315 Narzędzia Gita do pracy z repozytoriami bzr.
316
317 %package cvs
318 Summary:        CVS support for Git
319 Summary(pl.UTF-8):      Obsługa CVS dla Gita
320 Group:          Development/Tools
321 Requires:       %{name} = %{version}-%{release}
322 Requires:       cvsps >= 2.1-2
323 Requires:       rcs
324
325 %description cvs
326 CVS support for Git.
327
328 %description cvs -l pl.UTF-8
329 Obsługa CVS dla Gita.
330
331 %package hg
332 Summary:        Git tools for working with mercurial repositories
333 Summary(pl.UTF-8):      Narzędzia Gita do pracy z repozytoriami mercuriala
334 Group:          Development/Tools
335 Requires:       %{name} = %{version}-%{release}
336 Requires:       mercurial >= 1.8
337
338 %description hg
339 Git tools for working with mercurial repositories.
340
341 %description hg -l pl.UTF-8
342 Narzędzia Gita do pracy z repozytoriami mercuriala.
343
344 %package p4
345 Summary:        Git tools for working with Perforce depots
346 Summary(pl.UTF-8):      Narzędzia Gita do pracy z magazynami Perforce'a
347 Group:          Development/Tools
348 Requires:       %{name} = %{version}-%{release}
349
350 %description p4
351 Git tools for working with Perforce depots.
352
353 %description p4 -l pl.UTF-8
354 Narzędzia Gita do pracy z magazynami Perforce'a.
355
356 %package svn
357 Summary:        Subversion support for Git
358 Summary(pl.UTF-8):      Obsługa Subversion dla Gita
359 Group:          Development/Tools
360 Requires:       %{name} = %{version}-%{release}
361 Requires:       perl-Encode
362 Requires:       perl-Term-ReadKey
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 -n bash-completion-git
386 Summary:        bash-completion for git
387 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla gita
388 Group:          Applications/Shells
389 Requires:       %{name} = %{version}-%{release}
390 Requires:       bash-completion >= 2.0
391 %if "%{_rpmversion}" >= "5"
392 BuildArch:      noarch
393 %endif
394
395 %description -n bash-completion-git
396 This package provides bash-completion for git.
397
398 %description -n bash-completion-git -l pl.UTF-8
399 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
400
401 %package -n perl-Git
402 Summary:        Perl interface to the Git version control system
403 Summary(pl.UTF-8):      Perlowy interfejs do systemu kontroli wersji Git
404 Group:          Development/Languages/Perl
405 Obsoletes:      perl-git-core
406 %if "%{_rpmversion}" >= "5"
407 BuildArch:      noarch
408 %endif
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 %prep
467 %setup -q -n git-%{version}
468 %patch0 -p0
469 %patch1 -p1
470 %patch2 -p1
471
472 %{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore
473
474 # we build things in contrib but want to have it clean for doc purporses, too
475 cp -a contrib contrib-doc
476
477 %{__sed} -i -e '1s|#!/usr/bin/env python$|#!%{__python}|' git-p4.py
478
479 %build
480 %{__aclocal}
481 %{__autoconf}
482 %configure \
483         --sysconfdir=%{_sysconfdir}/git-core \
484         %{?with_pcre:--with-libpcre2} \
485         --with-openssl
486
487 echo "BLK_SHA1=1" >> config.mak
488
489 %{__make} \
490         GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
491         GITWEB_PROJECTROOT="/var/lib/git" \
492         GITWEB_CSS="/gitweb/gitweb.css" \
493         GITWEB_LOGO="/gitweb/git-logo.png" \
494         GITWEB_FAVICON="/gitweb/git-favicon.png" \
495         NO_PERL_CPAN_FALLBACKS=1 \
496         perllibdir=%{perl_vendorlib} \
497         V=1
498
499 %{__make} -C contrib/subtree
500
501 %if %{with gnome_keyring}
502 %{__make} -C contrib/credential/gnome-keyring \
503         CC="%{__cc}" \
504         CFLAGS="%{rpmcflags} -Wall" \
505         LDFLAGS="%{rpmldflags}"
506 %endif
507
508 %if %{with libsecret}
509 %{__make} -C contrib/credential/libsecret \
510         CC="%{__cc}" \
511         CFLAGS="%{rpmcflags} -Wall" \
512         LDFLAGS="%{rpmldflags}"
513 %endif
514
515 %if %{with doc}
516 %{__make} doc \
517         MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
518         V=1
519 %endif
520
521 %if %{with tests}
522 %if %{without tests_cvs}
523 %{__rm} t/t*cvs*.sh || :
524 %endif
525 %if %{without tests_svn}
526 GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
527 %endif
528 export GIT_SKIP_TESTS
529 %{__make} test \
530         NO_PERL_CPAN_FALLBACKS=1
531 %endif
532
533 %install
534 rm -rf $RPM_BUILD_ROOT
535 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
536 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
537 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
538 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
539 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
540 [init]
541         templatedir = %{_sysconfdir}/%{name}/templates
542 EOF
543
544 %{__make} install \
545         DESTDIR=$RPM_BUILD_ROOT \
546         NO_PERL_CPAN_FALLBACKS=1 \
547         perllibdir=%{perl_vendorlib}
548
549 %if %{with doc}
550 %{__make} install-doc \
551         DESTDIR=$RPM_BUILD_ROOT
552 %endif
553
554 # copy templates except sample hooks
555 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
556 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
557
558 # header files and lib
559 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
560 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
561 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
562 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
563 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
564 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
565 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
566 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
567
568 %{__make} -C contrib/subtree install \
569         libexecdir=%{gitcoredir} \
570         DESTDIR=$RPM_BUILD_ROOT
571
572 %if %{with doc}
573 %{__make} -C contrib/subtree install-man \
574         DESTDIR=$RPM_BUILD_ROOT
575 %endif
576
577 %if %{with gnome_keyring}
578 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
579 %endif
580
581 %if %{with libsecret}
582 install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
583 %endif
584
585 # bash completion
586 install -d $RPM_BUILD_ROOT%{bash_compdir}
587 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_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 # remove unneeded files
638 %py_postclean
639
640 %{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
641 %find_lang git
642
643 %clean
644 rm -rf $RPM_BUILD_ROOT
645
646 %post daemon-inetd
647 %service -q rc-inetd reload
648
649 %postun daemon-inetd
650 if [ "$1" = "0" ]; then
651         %service -q rc-inetd reload
652 fi
653
654 %post daemon-standalone
655 /sbin/chkconfig --add git-daemon
656 %service git-daemon restart "git-daemon"
657
658 %preun daemon-standalone
659 if [ "$1" = "0" ]; then
660         %service git-daemon stop
661         /sbin/chkconfig --del git-daemon
662 fi
663
664 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
665 %webapp_register apache %{webapp}
666
667 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
668 %webapp_unregister apache %{webapp}
669
670 %triggerin gitweb -- apache < 2.2.0, apache-base
671 %webapp_register httpd %{webapp}
672
673 %triggerun gitweb -- apache < 2.2.0, apache-base
674 %webapp_unregister httpd %{webapp}
675
676 %triggerin gitweb -- lighttpd
677 %webapp_register lighttpd %{webapp}
678
679 %triggerun gitweb -- lighttpd
680 %webapp_unregister lighttpd %{webapp}
681
682 %files -f git.lang
683 %defattr(644,root,root,755)
684 %doc README.md contrib-doc
685 %attr(755,root,root) %{_bindir}/git
686 %attr(755,root,root) %{_bindir}/git-receive-pack
687 %attr(755,root,root) %{_bindir}/git-shell
688 %attr(755,root,root) %{_bindir}/git-upload-archive
689 %attr(755,root,root) %{_bindir}/git-upload-pack
690 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
691
692 %if %{with doc}
693 %{_mandir}/man1/git-*.1*
694 %exclude %{_mandir}/man1/git-archimport.1*
695 %exclude %{_mandir}/man1/git-svn.1*
696 %exclude %{_mandir}/man1/git-cvs*.1*
697 %exclude %{_mandir}/man1/git-imap-send*.1*
698 %exclude %{_mandir}/man1/*email*.1*
699 %{_mandir}/man1/git.1*
700 %{_mandir}/man5/gitattributes.5*
701 %{_mandir}/man5/githooks.5*
702 %{_mandir}/man5/gitignore.5*
703 %{_mandir}/man5/gitmodules.5*
704 %{_mandir}/man5/gitrepository-layout.5*
705 %{_mandir}/man7/gitcli.7*
706 %{_mandir}/man7/gitcore-tutorial.7*
707 %{_mandir}/man7/gitcredentials.7*
708 %{_mandir}/man7/gitdiffcore.7*
709 %{_mandir}/man7/giteveryday.7*
710 %{_mandir}/man7/gitglossary.7*
711 %{_mandir}/man7/gitnamespaces.7*
712 %{_mandir}/man7/gitremote-helpers.7*
713 %{_mandir}/man7/gitrevisions.7*
714 %{_mandir}/man7/gitsubmodules.7*
715 %{_mandir}/man7/gittutorial-2.7*
716 %{_mandir}/man7/gittutorial.7*
717 %{_mandir}/man7/gitworkflows.7*
718 %endif
719
720 %dir %{gitcoredir}
721 %attr(755,root,root) %{gitcoredir}/*-*
722 %attr(755,root,root) %{gitcoredir}/git
723 %dir %{gitcoredir}/mergetools
724 %{gitcoredir}/mergetools/*
725
726 %{_datadir}/%{name}
727 %{_localstatedir}/lib/git
728
729 # subpackages
730 %exclude %{gitcoredir}/*email*
731 %exclude %{gitcoredir}/*p4*
732 %exclude %{gitcoredir}/git-archimport
733 %exclude %{gitcoredir}/git-citool
734 %exclude %{gitcoredir}/git-cvs*
735 %exclude %{gitcoredir}/git-gui
736 %exclude %{gitcoredir}/git-imap-send
737 %exclude %{gitcoredir}/git-instaweb
738 %exclude %{gitcoredir}/git-remote-bzr
739 %exclude %{gitcoredir}/git-remote-hg
740 %exclude %{gitcoredir}/git-remote-testsvn
741 %exclude %{gitcoredir}/git-svn
742 %exclude %{gitcoredir}/mergetools/p4merge
743 %if %{with gnome_keyring}
744 %exclude %{gitcoredir}/git-credential-gnome-keyring
745 %endif
746 %if %{with libsecret}
747 %exclude %{gitcoredir}/git-credential-libsecret
748 %endif
749
750 %if %{with doc}
751 %files doc
752 %defattr(644,root,root,755)
753 %doc Documentation/RelNotes*
754 %doc Documentation/*.html Documentation/howto Documentation/technical
755 %endif
756
757 %files daemon-inetd
758 %defattr(644,root,root,755)
759 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
760
761 %files daemon-standalone
762 %defattr(644,root,root,755)
763 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
764 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
765
766 %files devel
767 %defattr(644,root,root,755)
768 %{_includedir}/%{name}
769 %{_libdir}/libgit.a
770 %{_libdir}/libgit_xdiff.a
771
772 %if %{with tk}
773 %files gitk
774 %defattr(644,root,root,755)
775 %if %{with doc}
776 %{_mandir}/man1/gitk.1*
777 %endif
778 %attr(755,root,root) %{_bindir}/gitk
779 %dir %{_datadir}/gitk
780 %dir %{_datadir}/gitk/lib
781 %dir %{_datadir}/gitk/lib/msgs
782 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
783 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
784 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
785 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
786 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
787 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
788 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
789 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
790 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
791 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
792 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
793 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
794 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
795 %lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
796 %endif
797
798 %files gitweb
799 %defattr(644,root,root,755)
800 %doc gitweb/{README,INSTALL}
801 %dir %{webappdir}
802 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
803 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
804 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
805 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
806 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
807 %attr(755,root,root) %{cgibindir}/gitweb.cgi
808 %{appdir}
809 %attr(755,root,root) %{gitcoredir}/git-instaweb
810 %if %{with doc}
811 %{_mandir}/man1/gitweb.1*
812 %{_mandir}/man5/gitweb.conf.5*
813 %endif
814
815 %if %{with tk}
816 %files gui
817 %defattr(644,root,root,755)
818 %attr(755,root,root) %{gitcoredir}/git-citool
819 %attr(755,root,root) %{gitcoredir}/git-gui
820 %dir %{_datadir}/git-gui
821 %dir %{_datadir}/git-gui/lib
822 %dir %{_datadir}/git-gui/lib/msgs
823 %{_datadir}/git-gui/lib/git-gui.ico
824 %{_datadir}/git-gui/lib/tclIndex
825 %{_datadir}/git-gui/lib/*.js
826 %{_datadir}/git-gui/lib/*.tcl
827 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
828 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
829 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
830 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
831 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
832 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
833 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
834 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
835 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
836 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
837 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
838 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
839 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
840 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
841 %endif
842
843 %files arch
844 %defattr(644,root,root,755)
845 %attr(755,root,root) %{gitcoredir}/git-archimport
846 %if %{with doc}
847 %{_mandir}/man1/git-archimport.1*
848 %endif
849
850 %files bzr
851 %defattr(644,root,root,755)
852 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
853
854 %files cvs
855 %defattr(644,root,root,755)
856 %attr(755,root,root) %{_bindir}/git-cvsserver
857 %attr(755,root,root) %{gitcoredir}/git-cvs*
858 %if %{with doc}
859 %{_mandir}/man1/git-cvs*.1*
860 %{_mandir}/man7/gitcvs-migration.7*
861 %endif
862
863 %files hg
864 %defattr(644,root,root,755)
865 %attr(755,root,root) %{gitcoredir}/git-remote-hg
866
867 %files p4
868 %defattr(644,root,root,755)
869 %attr(755,root,root) %{gitcoredir}/git-p4
870 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
871
872 %files svn
873 %defattr(644,root,root,755)
874 %attr(755,root,root) %{gitcoredir}/git-svn
875 %attr(755,root,root) %{gitcoredir}/git-remote-testsvn
876 %{perl_vendorlib}/Git/SVN
877 %{perl_vendorlib}/Git/SVN.pm
878 %if %{with doc}
879 %{_mandir}/man1/git-svn.1*
880 %endif
881
882 %files email
883 %defattr(644,root,root,755)
884 %attr(755,root,root) %{gitcoredir}/git-imap-send
885 %attr(755,root,root) %{gitcoredir}/*email*
886 %if %{with doc}
887 %{_mandir}/man1/*email*.1*
888 %{_mandir}/man1/*imap-send*.1*
889 %endif
890
891 %files -n bash-completion-git
892 %defattr(644,root,root,755)
893 %{bash_compdir}/git
894
895 %files -n perl-Git
896 %defattr(644,root,root,755)
897 %{perl_vendorlib}/Git.pm
898 %dir %{perl_vendorlib}/Git
899 %{perl_vendorlib}/Git/I18N.pm
900 %{perl_vendorlib}/Git/IndexInfo.pm
901 %{perl_vendorlib}/Git/LoadCPAN.pm
902 %{perl_vendorlib}/Git/Packet.pm
903 %dir %{perl_vendorlib}/Git/LoadCPAN
904 %{perl_vendorlib}/Git/LoadCPAN/Error.pm
905 %dir %{perl_vendorlib}/Git/LoadCPAN/Mail
906 %{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
907 %{_mandir}/man3/Git.3pm*
908
909 %if %{with gnome_keyring}
910 %files -n gnome-keyring-git-core
911 %defattr(644,root,root,755)
912 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
913 %endif
914
915 %if %{with libsecret}
916 %files credential-libsecret
917 %defattr(644,root,root,755)
918 %attr(755,root,root) %{gitcoredir}/git-credential-libsecret
919 %endif
This page took 0.151052 seconds and 3 git commands to generate.