quagga.spec.in 21 KB

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