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