quagga.spec.in 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799
  1. # configure options
  2. #
  3. # Some can be overriden on rpmbuild commandline with:
  4. # rpmbuild --define 'variable value'
  5. # (use any value, ie 1 for flag "with_XXXX" definitions)
  6. #
  7. # E.g. rpmbuild --define 'release_rev 02' may be useful if building
  8. # rpms again and again on the same day, so the newer rpms can be installed.
  9. # bumping the number each time.
  10. ####################### Quagga configure options #########################
  11. # with-feature options
  12. %{!?with_snmp: %global with_snmp 1 }
  13. %{!?with_vtysh: %global with_vtysh 1 }
  14. %{!?with_tcp_zebra: %global with_tcp_zebra 0 }
  15. %{!?with_vtysh: %global with_vtysh 1 }
  16. %{!?with_pam: %global with_pam 1 }
  17. %{!?with_ospfclient: %global with_ospfclient 1 }
  18. %{!?with_ospfapi: %global with_ospfapi 1 }
  19. %{!?with_irdp: %global with_irdp 1 }
  20. %{!?with_rtadv: %global with_rtadv 1 }
  21. %{!?with_isisd: %global with_isisd 1 }
  22. %{!?with_pimd: %global with_pimd 1 }
  23. %{!?with_nhrpd: %global with_nhrpd 1 }
  24. %{!?with_shared: %global with_shared 1 }
  25. %{!?with_multipath: %global with_multipath 64 }
  26. %{!?quagga_user: %global quagga_user quagga }
  27. %{!?vty_group: %global vty_group quaggavt }
  28. %{!?with_fpm: %global with_fpm 0 }
  29. %{!?with_watchquagga: %global with_watchquagga 1 }
  30. # whether to build doc/quagga.html - requires a lot of TeX packages
  31. %{!?with_texi2html: %global with_texi2html 0 }
  32. # path defines
  33. %define _sysconfdir /etc/quagga
  34. %define zeb_src %{_builddir}/%{name}-%{quaggaversion}
  35. %define zeb_rh_src %{zeb_src}/redhat
  36. %define zeb_docs %{zeb_src}/doc
  37. # defines for configure
  38. %define _localstatedir /var/run/quagga
  39. ############################################################################
  40. #### Version String tweak
  41. # Remove invalid characters form version string and replace with _
  42. %{expand: %%global rpmversion %(echo '@VERSION@' | tr [:blank:]- _ )}
  43. %define quaggaversion @VERSION@
  44. #### Check version of texi2html
  45. # Old versions don't support "--number-footnotes" option.
  46. %if %{with_texi2html}
  47. %{expand: %%global texi2htmlversion %(type texi2html >/dev/null 2>&1 && (rpm -q --qf '%%{VERSION}' texi2html | cut -d. -f1) || echo 0 )}
  48. %endif
  49. #### Check for systemd or init.d (upstart)
  50. # Check for init.d (upstart) as used in CentOS 6 or systemd (ie CentOS 7)
  51. %{expand: %%global initsystem %(if [[ `/sbin/init --version 2> /dev/null` =~ upstart ]]; then echo upstart; elif [[ `systemctl` =~ -\.mount ]]; then echo systemd; fi)}
  52. #
  53. # If init system is systemd, then always disable watchquagga
  54. #
  55. %if "%{initsystem}" == "systemd"
  56. # Note: For systems with systemd, watchquagga will NOT be built. Systemd
  57. # takes over the role of restarting crashed processes. Value will
  58. # be overwritten with 0 below for systemd independent on the setting here
  59. %global with_watchquagga 0
  60. %endif
  61. # if FPM is enabled, then enable tcp_zebra as well
  62. #
  63. %if %{with_fpm}
  64. %global with_tcp_zebra 1
  65. %endif
  66. # misc internal defines
  67. %{!?quagga_uid: %global quagga_uid 92 }
  68. %{!?quagga_gid: %global quagga_gid 92 }
  69. %{!?vty_gid: %global vty_gid 85 }
  70. %define daemon_list zebra ripd ospfd bgpd
  71. %define daemonv6_list ripngd ospf6d
  72. %if %{with_isisd}
  73. %define daemon_isisd isisd
  74. %else
  75. %define daemon_isisd ""
  76. %endif
  77. %if %{with_pimd}
  78. %define daemon_pimd pimd
  79. %else
  80. %define daemon_pimd ""
  81. %endif
  82. %if %{with_nhrpd}
  83. %define daemon_nhrpd nhrpd
  84. %else
  85. %define daemon_nhrpd ""
  86. %endif
  87. %if %{with_watchquagga}
  88. %define daemon_watchquagga watchquagga
  89. %else
  90. %define daemon_watchquagga ""
  91. %endif
  92. %define all_daemons %{daemon_list} %{daemonv6_list} %{daemon_isisd} %{daemon_pimd} %{daemon_nhrpd} %{daemon_watchquagga}
  93. # allow build dir to be kept
  94. %{!?keep_build: %global keep_build 0 }
  95. #release sub-revision (the two digits after the CONFDATE)
  96. %{!?release_rev: %global release_rev 01 }
  97. Summary: Routing daemon
  98. Name: quagga
  99. Version: %{rpmversion}
  100. Release: @CONFDATE@%{release_rev}%{?dist}
  101. License: GPLv2+
  102. Group: System Environment/Daemons
  103. Source0: https://download.savannah.gnu.org/releases/quagga/%{name}-%{quaggaversion}.tar.gz
  104. URL: https://www.quagga.net
  105. Requires: ncurses
  106. Requires(pre): /sbin/install-info
  107. Requires(preun): /sbin/install-info
  108. Requires(post): /sbin/install-info
  109. BuildRequires: autoconf patch libcap-devel groff
  110. BuildRequires: perl-generators pkgconfig
  111. %if %{with_texi2html}
  112. BuildRequires: texi2html
  113. %endif
  114. %if %{with_snmp}
  115. BuildRequires: net-snmp-devel
  116. Requires: net-snmp
  117. %endif
  118. %if %{with_vtysh}
  119. BuildRequires: readline readline-devel ncurses ncurses-devel
  120. Requires: ncurses
  121. %endif
  122. %if %{with_pam}
  123. BuildRequires: pam-devel
  124. Requires: pam
  125. %endif
  126. %if %{with_nhrpd}
  127. BuildRequires: c-ares-devel
  128. Requires: c-ares
  129. %endif
  130. %if "%{initsystem}" == "systemd"
  131. BuildRequires: systemd
  132. Requires(post): systemd
  133. Requires(preun): systemd
  134. Requires(postun): systemd
  135. %else
  136. # Initscripts > 5.60 is required for IPv6 support
  137. Requires(pre): initscripts >= 5.60
  138. %endif
  139. Provides: routingdaemon = %{version}-%{release}
  140. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  141. #Obsoletes: mrt zebra quagga-sysvinit
  142. %define __perl_requires %{zeb_rh_src}/quagga-filter-perl-requires.sh
  143. %description
  144. Quagga is a free software routing protocol suite.
  145. Quagga supports BGP, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM-SSM and NHRP.
  146. %package contrib
  147. Summary: contrib tools for quagga
  148. Group: System Environment/Daemons
  149. %description contrib
  150. Contributed/3rd party tools which may be of use with quagga.
  151. %package devel
  152. Summary: Header and object files for quagga development
  153. Group: System Environment/Daemons
  154. Requires: %{name} = %{version}-%{release}
  155. %description devel
  156. The quagga-devel package contains the header and object files neccessary for
  157. developing OSPF-API and quagga applications.
  158. %prep
  159. %setup -q -n quagga-%{quaggaversion}
  160. %build
  161. %configure \
  162. --sysconfdir=%{_sysconfdir} \
  163. --libdir=%{_libdir}/quagga \
  164. --libexecdir=%{_libexecdir} \
  165. --localstatedir=%{_localstatedir} \
  166. --disable-werror \
  167. %if !%{with_shared}
  168. --disable-shared \
  169. %endif
  170. %if %{with_snmp}
  171. --enable-snmp \
  172. %endif
  173. %if %{with_multipath}
  174. --enable-multipath=%{with_multipath} \
  175. %endif
  176. %if %{with_tcp_zebra}
  177. --enable-tcp-zebra \
  178. %endif
  179. %if %{with_vtysh}
  180. --enable-vtysh \
  181. %endif
  182. %if %{with_ospfclient}
  183. --enable-ospfclient=yes \
  184. %else
  185. --enable-ospfclient=no\
  186. %endif
  187. %if %{with_ospfapi}
  188. --enable-ospfapi=yes \
  189. %else
  190. --enable-ospfapi=no \
  191. %endif
  192. %if %{with_irdp}
  193. --enable-irdp=yes \
  194. %else
  195. --enable-irdp=no \
  196. %endif
  197. %if %{with_rtadv}
  198. --enable-rtadv=yes \
  199. %else
  200. --enable-rtadv=no \
  201. %endif
  202. %if %{with_isisd}
  203. --enable-isisd \
  204. %else
  205. --disable-isisd \
  206. %endif
  207. %if %{with_nhrpd}
  208. --enable-nhrpd \
  209. %else
  210. --disable-nhrpd \
  211. %endif
  212. %if %{with_pam}
  213. --with-libpam \
  214. %endif
  215. %if 0%{?quagga_user:1}
  216. --enable-user=%quagga_user \
  217. --enable-group=%quagga_user \
  218. %endif
  219. %if 0%{?vty_group:1}
  220. --enable-vty-group=%vty_group \
  221. %endif
  222. %if %{with_fpm}
  223. --enable-fpm \
  224. %else
  225. --disable-fpm \
  226. %endif
  227. %if %{with_watchquagga}
  228. --enable-watchquagga \
  229. %else
  230. --disable-watchquagga \
  231. %endif
  232. --enable-gcc-rdynamic
  233. make %{?_smp_mflags}
  234. %if %{with_texi2html}
  235. pushd doc
  236. %if %{texi2htmlversion} < 5
  237. texi2html --number-sections quagga.texi
  238. %else
  239. texi2html --number-footnotes --number-sections quagga.texi
  240. %endif
  241. popd
  242. %endif
  243. %install
  244. mkdir -p %{buildroot}/etc/{quagga,sysconfig,logrotate.d,pam.d} \
  245. %{buildroot}/var/log/quagga %{buildroot}%{_infodir}
  246. make DESTDIR=%{buildroot} INSTALL="install -p" CP="cp -p" install
  247. # Remove this file, as it is uninstalled and causes errors when building on RH9
  248. rm -rf %{buildroot}/usr/share/info/dir
  249. # install /etc sources
  250. %if "%{initsystem}" == "systemd"
  251. mkdir -p %{buildroot}%{_unitdir}
  252. for daemon in %{all_daemons} ; do
  253. if [ x"${daemon}" != x"" ] ; then
  254. install %{zeb_rh_src}/${daemon}.service \
  255. %{buildroot}%{_unitdir}/${daemon}.service
  256. fi
  257. done
  258. %else
  259. mkdir -p %{buildroot}/etc/rc.d/init.d
  260. for daemon in %{all_daemons} ; do
  261. if [ x"${daemon}" != x"" ] ; then
  262. install %{zeb_rh_src}/${daemon}.init \
  263. %{buildroot}/etc/rc.d/init.d/${daemon}
  264. fi
  265. done
  266. %endif
  267. install -m644 %{zeb_rh_src}/quagga.pam \
  268. %{buildroot}/etc/pam.d/quagga
  269. install -m644 %{zeb_rh_src}/quagga.logrotate \
  270. %{buildroot}/etc/logrotate.d/quagga
  271. install -m644 %{zeb_rh_src}/quagga.sysconfig \
  272. %{buildroot}/etc/sysconfig/quagga
  273. install -d -m750 %{buildroot}/var/run/quagga
  274. %if 0%{?_tmpfilesdir:1}
  275. install -d -m 755 %{buildroot}/%{_tmpfilesdir}
  276. install -p -m 644 %{zeb_rh_src}/quagga-tmpfs.conf \
  277. %{buildroot}/%{_tmpfilesdir}/quagga.conf
  278. %endif
  279. %pre
  280. # add vty_group
  281. %if 0%{?vty_group:1}
  282. if getent group %vty_group > /dev/null ; then : ; else \
  283. /usr/sbin/groupadd -r -g %vty_gid %vty_group > /dev/null || : ; fi
  284. %endif
  285. # add quagga user and group
  286. %if 0%{?quagga_user:1}
  287. # Ensure that quagga_gid gets correctly allocated
  288. if getent group %quagga_user >/dev/null; then : ; else \
  289. /usr/sbin/groupadd -g %quagga_gid %quagga_user > /dev/null || : ; \
  290. fi
  291. if getent passwd %quagga_user >/dev/null ; then : ; else \
  292. /usr/sbin/useradd -u %quagga_uid -g %quagga_gid -G %vty_group \
  293. -M -r -s /sbin/nologin -c "Quagga routing suite" \
  294. -d %_localstatedir %quagga_user 2> /dev/null || : ; \
  295. fi
  296. %endif
  297. %post
  298. # zebra_spec_add_service <service name> <port/proto> <comment>
  299. # e.g. zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
  300. zebra_spec_add_service ()
  301. {
  302. # Add port /etc/services entry if it isn't already there
  303. if [ -f /etc/services ] && \
  304. ! %__sed -e 's/#.*$//' /etc/services | %__grep -wq $1 ; then
  305. echo "$1 $2 # $3" >> /etc/services
  306. fi
  307. }
  308. zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
  309. zebra_spec_add_service zebra 2601/tcp "zebra vty"
  310. zebra_spec_add_service ripd 2602/tcp "RIPd vty"
  311. zebra_spec_add_service ripngd 2603/tcp "RIPngd vty"
  312. zebra_spec_add_service ospfd 2604/tcp "OSPFd vty"
  313. zebra_spec_add_service bgpd 2605/tcp "BGPd vty"
  314. zebra_spec_add_service ospf6d 2606/tcp "OSPF6d vty"
  315. %if %{with_ospfapi}
  316. zebra_spec_add_service ospfapi 2607/tcp "OSPF-API"
  317. %endif
  318. %if %{with_isisd}
  319. zebra_spec_add_service isisd 2608/tcp "ISISd vty"
  320. %endif
  321. %if %{with_pimd}
  322. zebra_spec_add_service pimd 2611/tcp "PIMd vty"
  323. %endif
  324. %if %{with_nhrpd}
  325. zebra_spec_add_service nhrpd 2612/tcp "NHRPd vty"
  326. %endif
  327. %if "%{initsystem}" == "systemd"
  328. for daemon in %all_daemons ; do
  329. %systemd_post ${daemon}.service
  330. done
  331. %else
  332. for daemon in %all_daemons ; do
  333. /sbin/chkconfig --add ${daemon}
  334. done
  335. %endif
  336. if [ -f %{_infodir}/%{name}.inf* ]; then
  337. /sbin/install-info %{_infodir}/quagga.info %{_infodir}/dir
  338. fi
  339. # Create dummy files if they don't exist so basic functions can be used.
  340. if [ ! -e %{_sysconfdir}/zebra.conf ]; then
  341. echo "hostname `hostname`" > %{_sysconfdir}/zebra.conf
  342. %if 0%{?quagga_user:1}
  343. chown %quagga_user:%quagga_user %{_sysconfdir}/zebra.conf*
  344. %endif
  345. chmod 640 %{_sysconfdir}/zebra.conf
  346. fi
  347. for daemon in %{all_daemons} ; do
  348. if [ ! -e %{_sysconfdir}/${daemon}.conf ]; then
  349. touch %{_sysconfdir}/${daemon}.conf
  350. %if 0%{?quagga_user:1}
  351. chown %quagga_user:%quagga_user %{_sysconfdir}/${daemon}.conf*
  352. %endif
  353. fi
  354. done
  355. %if %{with_watchquagga}
  356. # No config for watchquagga - this is part of /etc/sysconfig/quagga
  357. rm -f %{_sysconfdir}/watchquagga.*
  358. %endif
  359. if [ ! -e %{_sysconfdir}/vtysh.conf ]; then
  360. touch %{_sysconfdir}/vtysh.conf
  361. chmod 640 %{_sysconfdir}/vtysh.conf
  362. %if 0%{?vty_group:1}
  363. chown quagga:%{vty_group} %{_sysconfdir}/vtysh.conf*
  364. %endif
  365. fi
  366. %postun
  367. if [ "$1" -ge 1 ]; then
  368. # Find out which daemons need to be restarted.
  369. for daemon in %all_daemons ; do
  370. if [ -f /var/lock/subsys/${daemon} ]; then
  371. eval restart_${daemon}=yes
  372. else
  373. eval restart_${daemon}=no
  374. fi
  375. done
  376. # Rename restart flags for daemons handled specially.
  377. running_zebra="$restart_zebra"
  378. restart_zebra=no
  379. %if %{with_watchquagga}
  380. running_watchquagga="$restart_watchquagga"
  381. restart_watchquagga=no
  382. %endif
  383. %if "%{initsystem}" == "systemd"
  384. ##
  385. ## Systemd Version
  386. ##
  387. # No watchquagga for systemd version
  388. #
  389. # Stop all daemons other than zebra.
  390. for daemon in %all_daemons ; do
  391. eval restart=\$restart_${daemon}
  392. [ "$restart" = yes ] && \
  393. %systemd_postun_with_restart ${daemon}.service
  394. done
  395. # Restart zebra.
  396. [ "$running_zebra" = yes ] && \
  397. %systemd_postun_with_restart $daemon.service
  398. # Start all daemons other than zebra.
  399. for daemon in %all_daemons ; do
  400. eval restart=\$restart_${daemon}
  401. [ "$restart" = yes ] && \
  402. %systemd_post ${daemon}.service
  403. done
  404. %else
  405. ##
  406. ## init.d Version
  407. ##
  408. %if %{with_watchquagga}
  409. # Stop watchquagga first.
  410. [ "$running_watchquagga" = yes ] && \
  411. /etc/rc.d/init.d/watchquagga stop >/dev/null 2>&1
  412. %endif
  413. # Stop all daemons other than zebra and watchquagga.
  414. for daemon in %all_daemons ; do
  415. eval restart=\$restart_${daemon}
  416. [ "$restart" = yes ] && \
  417. /etc/rc.d/init.d/${daemon} stop >/dev/null 2>&1
  418. done
  419. # Restart zebra.
  420. [ "$running_zebra" = yes ] && \
  421. /etc/rc.d/init.d/zebra restart >/dev/null 2>&1
  422. # Start all daemons other than zebra and watchquagga.
  423. for daemon in %all_daemons ; do
  424. eval restart=\$restart_${daemon}
  425. [ "$restart" = yes ] && \
  426. /etc/rc.d/init.d/${daemon} start >/dev/null 2>&1
  427. done
  428. %if %{with_watchquagga}
  429. # Start watchquagga last.
  430. # Avoid postun scriptlet error if watchquagga is not running.
  431. [ "$running_watchquagga" = yes ] && \
  432. /etc/rc.d/init.d/watchquagga start >/dev/null 2>&1 || :
  433. %endif
  434. %endif
  435. fi
  436. if [ -f %{_infodir}/%{name}.inf* ]; then
  437. /sbin/install-info --delete %{_infodir}/quagga.info %{_infodir}/dir
  438. fi
  439. %preun
  440. %if "%{initsystem}" == "systemd"
  441. ##
  442. ## Systemd Version
  443. ##
  444. if [ "$1" = "0" ]; then
  445. for daemon in %all_daemons ; do
  446. %systemd_preun ${daemon}.service
  447. done
  448. fi
  449. %else
  450. ##
  451. ## init.d Version
  452. ##
  453. if [ "$1" = "0" ]; then
  454. for daemon in %all_daemons ; do
  455. /etc/rc.d/init.d/${daemon} stop >/dev/null 2>&1
  456. /sbin/chkconfig --del ${daemon}
  457. done
  458. fi
  459. %endif
  460. %clean
  461. %if !0%{?keep_build:1}
  462. rm -rf %{buildroot}
  463. %endif
  464. %files
  465. %defattr(-,root,root)
  466. %doc */*.sample* AUTHORS COPYING
  467. %if %{with_texi2html}
  468. %doc doc/quagga.html
  469. %endif
  470. %doc doc/mpls
  471. %doc ChangeLog INSTALL NEWS README REPORTING-BUGS SERVICES TODO
  472. %if 0%{?quagga_user:1}
  473. %dir %attr(751,%quagga_user,%quagga_user) %{_sysconfdir}
  474. %dir %attr(750,%quagga_user,%quagga_user) /var/log/quagga
  475. %dir %attr(751,%quagga_user,%quagga_user) /var/run/quagga
  476. %else
  477. %dir %attr(750,root,root) %{_sysconfdir}
  478. %dir %attr(750,root,root) /var/log/quagga
  479. %dir %attr(750,root,root) /var/run/quagga
  480. %endif
  481. %if 0%{?vty_group:1}
  482. %attr(750,%quagga_user,%vty_group) %{_sysconfdir}/vtysh.conf.sample
  483. %endif
  484. %{_infodir}/quagga.info*.gz
  485. %{_mandir}/man*/*
  486. %if %{with_watchquagga}
  487. %{_mandir}/man*/watchquagga.*
  488. %endif
  489. %{_sbindir}/zebra
  490. %{_sbindir}/ospfd
  491. %{_sbindir}/ripd
  492. %{_sbindir}/bgpd
  493. %if %{with_watchquagga}
  494. %{_sbindir}/watchquagga
  495. %endif
  496. %{_sbindir}/ripngd
  497. %{_sbindir}/ospf6d
  498. %if %{with_pimd}
  499. %{_sbindir}/pimd
  500. %endif
  501. %if %{with_isisd}
  502. %{_sbindir}/isisd
  503. %endif
  504. %if %{with_nhrpd}
  505. %{_sbindir}/nhrpd
  506. %endif
  507. %if %{with_shared}
  508. %{_libdir}/quagga/lib*.so
  509. %{_libdir}/quagga/lib*.so.?
  510. %attr(755,root,root) %{_libdir}/quagga/lib*.so.?.?.?
  511. %endif
  512. %if %{with_vtysh}
  513. %{_bindir}/*
  514. %endif
  515. %config /etc/quagga/[!v]*
  516. %if "%{initsystem}" == "systemd"
  517. %{_unitdir}/*.service
  518. %else
  519. %config /etc/rc.d/init.d/zebra
  520. %if %{with_watchquagga}
  521. %config /etc/rc.d/init.d/watchquagga
  522. %endif
  523. %config /etc/rc.d/init.d/ripd
  524. %config /etc/rc.d/init.d/ospfd
  525. %config /etc/rc.d/init.d/bgpd
  526. %config /etc/rc.d/init.d/ripngd
  527. %config /etc/rc.d/init.d/ospf6d
  528. %if %{with_isisd}
  529. %config /etc/rc.d/init.d/isisd
  530. %endif
  531. %if %{with_pimd}
  532. %config /etc/rc.d/init.d/pimd
  533. %endif
  534. %if %{with_nhrpd}
  535. %config /etc/rc.d/init.d/nhrpd
  536. %endif
  537. %endif
  538. %config(noreplace) /etc/sysconfig/quagga
  539. %config(noreplace) /etc/pam.d/quagga
  540. %config(noreplace) %attr(640,root,root) /etc/logrotate.d/*
  541. %{_tmpfilesdir}/quagga.conf
  542. %files contrib
  543. %defattr(-,root,root)
  544. %doc AUTHORS COPYING %attr(0644,root,root) tools
  545. %files devel
  546. %defattr(-,root,root)
  547. %doc AUTHORS COPYING
  548. %if %{with_ospfclient}
  549. %{_sbindir}/ospfclient
  550. %endif
  551. %dir %{_libdir}/quagga/
  552. %{_libdir}/quagga/*.a
  553. %{_libdir}/quagga/*.la
  554. %dir %attr(755,root,root) %{_includedir}/%{name}
  555. %{_includedir}/%name/*.h
  556. %dir %attr(755,root,root) %{_includedir}/%{name}/ospfd
  557. %{_includedir}/%name/ospfd/*.h
  558. %if %{with_ospfapi}
  559. %dir %attr(755,root,root) %{_includedir}/%{name}/ospfapi
  560. %{_includedir}/%name/ospfapi/*.h
  561. %endif
  562. %changelog
  563. * Sun Mar 5 2017 Paul Jakma <paul@jakma.org>
  564. - Fix lint errors
  565. - Make texi2html conditional, disable by default to avoid needing TeX
  566. by default
  567. * Mon Feb 27 2017 Paul Jakma <paul@jakma.org>
  568. - Apply 0001-systemd-various-service-file-improvements.patch from Fedora
  569. - Review Fedora spec file and sync up with any useful differences, inc:
  570. - Add tmpfiles.d config for Quagga from Fedora
  571. - Add quagga-filter-perl-requires.sh from Fedora.
  572. - Move libs to %%{_libdir}/quagga as per Fedora
  573. - use systemd_postun_with_restart for postun
  574. * Tue Feb 14 2017 Timo Teräs <timo.teras@iki.fi>
  575. - add nhrpd
  576. * Thu Feb 11 2016 Paul Jakma <paul@jakma.org>
  577. - remove with_ipv6 conditionals, always build v6
  578. - Fix UTF-8 char in spec changelog
  579. - remove quagga.pam.stack, long deprecated.
  580. * Thu Oct 22 2015 Martin Winter <mwinter@opensourcerouting.org>
  581. - Cleanup configure: remove --enable-ipv6 (default now), --enable-nssa,
  582. --enable-netlink
  583. - Remove support for old fedora 4/5
  584. - Fix for package nameing
  585. - Fix Weekdays of previous changelogs (bogus dates)
  586. - Add conditional logic to only build tex footnotes with supported texi2html
  587. - Added pimd to files section and fix double listing of /var/lib*/quagga
  588. - Numerous fixes to unify upstart/systemd startup into same spec file
  589. - Only allow use of watchquagga for non-systemd systems. no need with systemd
  590. * Fri Sep 4 2015 Paul Jakma <paul@jakma.org>
  591. - buildreq updates
  592. - add a default define for with_pimd
  593. * Mon Sep 12 2005 Paul Jakma <paul@dishone.st>
  594. - Steal some changes from Fedora spec file:
  595. - Add with_rtadv variable
  596. - Test for groups/users with getent before group/user adding
  597. - Readline need not be an explicit prerequisite
  598. - install-info delete should be postun, not preun
  599. * Wed Jan 12 2005 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
  600. - on package upgrade, implement careful, phased restart logic
  601. - use gcc -rdynamic flag when linking for better backtraces
  602. * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
  603. - daemonv6_list should contain only IPv6 daemons
  604. * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
  605. - watchquagga added
  606. - on upgrade, all daemons should be condrestart'ed
  607. - on removal, all daemons should be stopped
  608. * Mon Nov 08 2004 Paul Jakma <paul@dishone.st>
  609. - Use makeinfo --html to generate quagga.html
  610. * Sun Nov 07 2004 Paul Jakma <paul@dishone.st>
  611. - Fix with_ipv6 set to 0 build
  612. * Sat Oct 23 2004 Paul Jakma <paul@dishone.st>
  613. - Update to 0.97.2
  614. * Sat Oct 23 2004 Andrew J. Schorr <aschorr@telemetry-investments.com>
  615. - Make directories be owned by the packages concerned
  616. - Update logrotate scripts to use correct path to killall and use pid files
  617. * Fri Oct 08 2004 Paul Jakma <paul@dishone.st>
  618. - Update to 0.97.0
  619. * Wed Sep 15 2004 Paul Jakma <paul@dishone.st>
  620. - build snmp support by default
  621. - build irdp support
  622. - build with shared libs
  623. - devel subpackage for archives and headers
  624. * Thu Jan 08 2004 Paul Jakma <paul@dishone.st>
  625. - updated sysconfig files to specify local dir
  626. - added ospf_dump.c crash quick fix patch
  627. - added ospfd persistent interface configuration patch
  628. * Tue Dec 30 2003 Paul Jakma <paul@dishone.st>
  629. - sync to CVS
  630. - integrate RH sysconfig patch to specify daemon options (RH)
  631. - default to have vty listen only to 127.1 (RH)
  632. - add user with fixed UID/GID (RH)
  633. - create user with shell /sbin/nologin rather than /bin/false (RH)
  634. - stop daemons on uninstall (RH)
  635. - delete info file on preun, not postun to avoid deletion on upgrade. (RH)
  636. - isisd added
  637. - cleanup tasks carried out for every daemon
  638. * Sun Nov 2 2003 Paul Jakma <paul@dishone.st>
  639. - Fix -devel package to include all files
  640. - Sync to 0.96.4
  641. * Tue Aug 12 2003 Paul Jakma <paul@dishone.st>
  642. - Renamed to Quagga
  643. - Sync to Quagga release 0.96
  644. * Thu Mar 20 2003 Paul Jakma <paul@dishone.st>
  645. - zebra privileges support
  646. * Tue Mar 18 2003 Paul Jakma <paul@dishone.st>
  647. - Fix mem leak in 'show thread cpu'
  648. - Ralph Keller's OSPF-API
  649. - Amir: Fix configure.ac for net-snmp
  650. * Sat Mar 1 2003 Paul Jakma <paul@dishone.st>
  651. - ospfd IOS prefix to interface matching for 'network' statement
  652. - temporary fix for PtP and IPv6
  653. - sync to zebra.org CVS
  654. * Mon Jan 20 2003 Paul Jakma <paul@dishone.st>
  655. - update to latest cvs
  656. - Yon's "show thread cpu" patch - 17217
  657. - walk up tree - 17218
  658. - ospfd NSSA fixes - 16681
  659. - ospfd nsm fixes - 16824
  660. - ospfd OLSA fixes and new feature - 16823
  661. - KAME and ifindex fixes - 16525
  662. - spec file changes to allow redhat files to be in tree
  663. * Sat Dec 28 2002 Alexander Hoogerhuis <alexh@ihatent.com>
  664. - Added conditionals for building with(out) IPv6, vtysh, RIP, BGP
  665. - Fixed up some build requirements (patch)
  666. - Added conditional build requirements for vtysh / snmp
  667. - Added conditional to files for _bindir depending on vtysh
  668. * Mon Nov 11 2002 Paul Jakma <paulj@alphyra.ie>
  669. - update to latest CVS
  670. - add Greg Troxel's md5 buffer copy/dup fix
  671. - add RIPv1 fix
  672. - add Frank's multicast flag fix
  673. * Wed Oct 09 2002 Paul Jakma <paulj@alphyra.ie>
  674. - update to latest CVS
  675. - timestamped crypt_seqnum patch
  676. - oi->on_write_q fix
  677. * Mon Sep 30 2002 Paul Jakma <paulj@alphyra.ie>
  678. - update to latest CVS
  679. - add vtysh 'write-config (integrated|daemon)' patch
  680. - always 'make rebuild' in vtysh/ to catch new commands
  681. * Fri Sep 13 2002 Paul Jakma <paulj@alphyra.ie>
  682. - update to 0.93b
  683. * Wed Sep 11 2002 Paul Jakma <paulj@alphyra.ie>
  684. - update to latest CVS
  685. - add "/sbin/ip route flush proto zebra" to zebra RH init on startup
  686. * Sat Aug 24 2002 Paul Jakma <paulj@alphyra.ie>
  687. - update to current CVS
  688. - add OSPF point to multipoint patch
  689. - add OSPF bugfixes
  690. - add BGP hash optimisation patch
  691. * Fri Jun 14 2002 Paul Jakma <paulj@alphyra.ie>
  692. - update to 0.93-pre1 / CVS
  693. - add link state detection support
  694. - add generic PtP and RFC3021 support
  695. - various bug fixes
  696. * Thu Aug 09 2001 Elliot Lee <sopwith@redhat.com> 0.91a-6
  697. - Fix bug #51336
  698. * Wed Aug 1 2001 Trond Eivind Glomsrød <teg@redhat.com> 0.91a-5
  699. - Use generic initscript strings instead of initscript specific
  700. ( "Starting foo: " -> "Starting $prog:" )
  701. * Fri Jul 27 2001 Elliot Lee <sopwith@redhat.com> 0.91a-4
  702. - Bump the release when rebuilding into the dist.
  703. * Tue Feb 6 2001 Tim Powers <timp@redhat.com>
  704. - built for Powertools
  705. * Sun Feb 4 2001 Pekka Savola <pekkas@netcore.fi>
  706. - Hacked up from PLD Linux 0.90-1, Mandrake 0.90-1mdk and one from zebra.org.
  707. - Update to 0.91a
  708. - Very heavy modifications to init.d/*, .spec, pam, i18n, logrotate, etc.
  709. - Should be quite Red Hat'isque now.