quagga.spec.in 22 KB

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