Annotation of embedaddon/quagga/redhat/quagga.spec.in, revision 1.1.1.2

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>