]> git.pld-linux.org Git - packages/git-core.git/blob - git-core.spec
up to 2.19.1 (fixes CVE-2018-17456)
[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.19.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:  58b956213db0aacfb4db08cd9c99aae1
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/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         NO_PERL_CPAN_FALLBACKS=1
491 %endif
492
493 %install
494 rm -rf $RPM_BUILD_ROOT
495 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
496 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
497 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
498 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
499 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
500 [init]
501         templatedir = %{_sysconfdir}/%{name}/templates
502 EOF
503
504 %{__make} install \
505         DESTDIR=$RPM_BUILD_ROOT \
506         NO_PERL_CPAN_FALLBACKS=1 \
507         perllibdir=%{perl_vendorlib}
508
509 %if %{with doc}
510 %{__make} install-doc \
511         DESTDIR=$RPM_BUILD_ROOT
512 %endif
513
514 # copy templates except sample hooks
515 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
516 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
517
518 # header files and lib
519 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
520 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
521 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
522 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
523 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
524 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
525 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
526 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
527
528 %{__make} -C contrib/subtree install \
529         libexecdir=%{gitcoredir} \
530         DESTDIR=$RPM_BUILD_ROOT
531
532 %if %{with doc}
533 %{__make} -C contrib/subtree install-man \
534         DESTDIR=$RPM_BUILD_ROOT
535 %endif
536
537 %if %{with gnome_keyring}
538 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
539 %endif
540
541 # bash completion
542 install -d $RPM_BUILD_ROOT%{bash_compdir}
543 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
544
545 # Install git-prompt.sh
546 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
547 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
548
549 # Install bzr and hg remote helpers from contrib
550 install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
551
552 # gitweb
553 mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
554 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
555 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
556 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
557 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
558 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
559 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
560
561 # git-daemon related files
562 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
563 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
564 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
565
566 # paths cleanup
567 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
568 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
569
570 # same file, link
571 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
572 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
573 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
574 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
575 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
576
577 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
578 # requiring excessive free space when it may not be available
579 # https://bugs.launchpad.net/pld-linux/+bug/1176337
580 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
581 for f in $(cat files); do
582         f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
583         test $f = git && continue
584         ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
585 done
586
587 # few others
588 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
589 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
590 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
591 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
592
593 # remove unneeded files
594 %py_postclean
595
596 mv $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
597 %find_lang git
598
599 %clean
600 rm -rf $RPM_BUILD_ROOT
601
602 %post daemon-inetd
603 %service -q rc-inetd reload
604
605 %postun daemon-inetd
606 if [ "$1" = "0" ]; then
607         %service -q rc-inetd reload
608 fi
609
610 %post daemon-standalone
611 /sbin/chkconfig --add git-daemon
612 %service git-daemon restart "git-daemon"
613
614 %preun daemon-standalone
615 if [ "$1" = "0" ]; then
616         %service git-daemon stop
617         /sbin/chkconfig --del git-daemon
618 fi
619
620 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
621 %webapp_register apache %{webapp}
622
623 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
624 %webapp_unregister apache %{webapp}
625
626 %triggerin gitweb -- apache < 2.2.0, apache-base
627 %webapp_register httpd %{webapp}
628
629 %triggerun gitweb -- apache < 2.2.0, apache-base
630 %webapp_unregister httpd %{webapp}
631
632 %triggerin gitweb -- lighttpd
633 %webapp_register lighttpd %{webapp}
634
635 %triggerun gitweb -- lighttpd
636 %webapp_unregister lighttpd %{webapp}
637
638 %files -f git.lang
639 %defattr(644,root,root,755)
640 %doc README.md contrib-doc
641 %attr(755,root,root) %{_bindir}/git
642 %attr(755,root,root) %{_bindir}/git-receive-pack
643 %attr(755,root,root) %{_bindir}/git-shell
644 %attr(755,root,root) %{_bindir}/git-upload-archive
645 %attr(755,root,root) %{_bindir}/git-upload-pack
646 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
647
648 %if %{with doc}
649 %{_mandir}/man1/git-*.1*
650 %exclude %{_mandir}/man1/git-archimport.1*
651 %exclude %{_mandir}/man1/git-svn.1*
652 %exclude %{_mandir}/man1/git-cvs*.1*
653 %exclude %{_mandir}/man1/git-imap-send*.1*
654 %exclude %{_mandir}/man1/*email*.1*
655 %{_mandir}/man1/git.1*
656 %{_mandir}/man1/gitremote-helpers.1*
657 %{_mandir}/man5/gitattributes.5*
658 %{_mandir}/man5/githooks.5*
659 %{_mandir}/man5/gitignore.5*
660 %{_mandir}/man5/gitmodules.5*
661 %{_mandir}/man5/gitrepository-layout.5*
662 %{_mandir}/man7/gitcli.7*
663 %{_mandir}/man7/gitcore-tutorial.7*
664 %{_mandir}/man7/gitcredentials.7*
665 %{_mandir}/man7/gitdiffcore.7*
666 %{_mandir}/man7/giteveryday.7*
667 %{_mandir}/man7/gitglossary.7*
668 %{_mandir}/man7/gitnamespaces.7*
669 %{_mandir}/man7/gitrevisions.7*
670 %{_mandir}/man7/gitsubmodules.7*
671 %{_mandir}/man7/gittutorial-2.7*
672 %{_mandir}/man7/gittutorial.7*
673 %{_mandir}/man7/gitworkflows.7*
674 %endif
675
676 %dir %{gitcoredir}
677 %attr(755,root,root) %{gitcoredir}/*-*
678 %attr(755,root,root) %{gitcoredir}/git
679 %dir %{gitcoredir}/mergetools
680 %{gitcoredir}/mergetools/*
681
682 %{_datadir}/%{name}
683 %{_localstatedir}/lib/git
684
685 # subpackages
686 %exclude %{gitcoredir}/*email*
687 %exclude %{gitcoredir}/*p4*
688 %exclude %{gitcoredir}/git-archimport
689 %exclude %{gitcoredir}/git-citool
690 %exclude %{gitcoredir}/git-cvs*
691 %exclude %{gitcoredir}/git-gui
692 %exclude %{gitcoredir}/git-imap-send
693 %exclude %{gitcoredir}/git-instaweb
694 %exclude %{gitcoredir}/git-remote-bzr
695 %exclude %{gitcoredir}/git-remote-hg
696 %exclude %{gitcoredir}/git-remote-testsvn
697 %exclude %{gitcoredir}/git-svn
698 %exclude %{gitcoredir}/mergetools/p4merge
699 %if %{with gnome_keyring}
700 %exclude %{gitcoredir}/git-credential-gnome-keyring
701 %endif
702
703 %if %{with doc}
704 %files doc
705 %defattr(644,root,root,755)
706 %doc Documentation/RelNotes*
707 %doc Documentation/*.html Documentation/howto Documentation/technical
708 %endif
709
710 %files daemon-inetd
711 %defattr(644,root,root,755)
712 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
713
714 %files daemon-standalone
715 %defattr(644,root,root,755)
716 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
717 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
718
719 %files devel
720 %defattr(644,root,root,755)
721 %{_includedir}/%{name}
722 %{_libdir}/libgit.a
723 %{_libdir}/libgit_xdiff.a
724
725 %if %{with tk}
726 %files gitk
727 %defattr(644,root,root,755)
728 %if %{with doc}
729 %{_mandir}/man1/gitk.1*
730 %endif
731 %attr(755,root,root) %{_bindir}/gitk
732 %dir %{_datadir}/gitk
733 %dir %{_datadir}/gitk/lib
734 %dir %{_datadir}/gitk/lib/msgs
735 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
736 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
737 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
738 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
739 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
740 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
741 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
742 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
743 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
744 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
745 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
746 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
747 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
748 %endif
749
750 %files gitweb
751 %defattr(644,root,root,755)
752 %doc gitweb/{README,INSTALL}
753 %dir %{webappdir}
754 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
755 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
756 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
757 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
758 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
759 %attr(755,root,root) %{cgibindir}/gitweb.cgi
760 %{appdir}
761 %attr(755,root,root) %{gitcoredir}/git-instaweb
762 %if %{with doc}
763 %{_mandir}/man1/gitweb.1*
764 %{_mandir}/man5/gitweb.conf.5*
765 %endif
766
767 %if %{with tk}
768 %files gui
769 %defattr(644,root,root,755)
770 %attr(755,root,root) %{gitcoredir}/git-citool
771 %attr(755,root,root) %{gitcoredir}/git-gui
772 %dir %{_datadir}/git-gui
773 %dir %{_datadir}/git-gui/lib
774 %dir %{_datadir}/git-gui/lib/msgs
775 %{_datadir}/git-gui/lib/git-gui.ico
776 %{_datadir}/git-gui/lib/tclIndex
777 %{_datadir}/git-gui/lib/*.js
778 %{_datadir}/git-gui/lib/*.tcl
779 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
780 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
781 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
782 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
783 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
784 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
785 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
786 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
787 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
788 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
789 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
790 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
791 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
792 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
793 %endif
794
795 %files arch
796 %defattr(644,root,root,755)
797 %attr(755,root,root) %{gitcoredir}/git-archimport
798 %if %{with doc}
799 %{_mandir}/man1/git-archimport.1*
800 %endif
801
802 %files bzr
803 %defattr(644,root,root,755)
804 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
805
806 %files cvs
807 %defattr(644,root,root,755)
808 %attr(755,root,root) %{_bindir}/git-cvsserver
809 %attr(755,root,root) %{gitcoredir}/git-cvs*
810 %if %{with doc}
811 %{_mandir}/man1/git-cvs*.1*
812 %{_mandir}/man7/gitcvs-migration.7*
813 %endif
814
815 %files hg
816 %defattr(644,root,root,755)
817 %attr(755,root,root) %{gitcoredir}/git-remote-hg
818
819 %files p4
820 %defattr(644,root,root,755)
821 %attr(755,root,root) %{gitcoredir}/git-p4
822 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
823
824 %files svn
825 %defattr(644,root,root,755)
826 %attr(755,root,root) %{gitcoredir}/git-svn
827 %attr(755,root,root) %{gitcoredir}/git-remote-testsvn
828 %{perl_vendorlib}/Git/SVN
829 %{perl_vendorlib}/Git/SVN.pm
830 %if %{with doc}
831 %{_mandir}/man1/git-svn.1*
832 %endif
833
834 %files email
835 %defattr(644,root,root,755)
836 %attr(755,root,root) %{gitcoredir}/git-imap-send
837 %attr(755,root,root) %{gitcoredir}/*email*
838 %if %{with doc}
839 %{_mandir}/man1/*email*.1*
840 %{_mandir}/man1/*imap-send*.1*
841 %endif
842
843 %files -n bash-completion-git
844 %defattr(644,root,root,755)
845 %{bash_compdir}/git
846
847 %files -n perl-Git
848 %defattr(644,root,root,755)
849 %{perl_vendorlib}/Git.pm
850 %dir %{perl_vendorlib}/Git
851 %{perl_vendorlib}/Git/I18N.pm
852 %{perl_vendorlib}/Git/IndexInfo.pm
853 %{perl_vendorlib}/Git/LoadCPAN.pm
854 %{perl_vendorlib}/Git/Packet.pm
855 %dir %{perl_vendorlib}/Git/LoadCPAN
856 %{perl_vendorlib}/Git/LoadCPAN/Error.pm
857 %dir %{perl_vendorlib}/Git/LoadCPAN/Mail
858 %{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
859 %{_mandir}/man3/Git.3pm*
860
861 %if %{with gnome_keyring}
862 %files -n gnome-keyring-git-core
863 %defattr(644,root,root,755)
864 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
865 %endif
This page took 0.180304 seconds and 3 git commands to generate.