Annotation of embedaddon/quagga/redhat/README.rpm_build.md, revision 1.1

1.1     ! misho       1: Building your own Quagga RPM
        !             2: ============================
        !             3: (Tested on CentOS 6, CentOS 7 and Fedora 22.)
        !             4: 
        !             5: 1. Install the following packages to build the RPMs:
        !             6: 
        !             7:                yum install git autoconf automake libtool make gawk readline-devel \
        !             8:                texinfo dejagnu net-snmp-devel groff rpm-build net-snmp-devel \
        !             9:                libcap-devel texi2html
        !            10: 
        !            11:        (use `dnf install` on new Fedora instead of `yum install        `)
        !            12:        
        !            13: 2. Checkout Quagga under a **unpriviledged** user account
        !            14: 
        !            15:                git clone git://git.savannah.nongnu.org/quagga.git quagga
        !            16: 
        !            17: 3. Run Bootstrap and make distribution tar.gz
        !            18: 
        !            19:                cd quagga
        !            20:                ./bootstrap.sh
        !            21:                ./configure --with-pkg-extra-version=-MyRPMVersion
        !            22:                make dist
        !            23:                        
        !            24:        Note: configure parameters are not important for the RPM building - except the
        !            25:        `with-pkg-extra-version` if you want to give the RPM a specific name to
        !            26:        mark your own unoffical build
        !            27: 
        !            28: 4. Create RPM directory structure and populate with sources
        !            29: 
        !            30:                mkdir rpmbuild
        !            31:                mkdir rpmbuild/SOURCES
        !            32:                mkdir rpmbuild/SPECS
        !            33:                cp redhat/*.spec rpmbuild/SPECS/
        !            34:                cp quagga*.tar.gz rpmbuild/SOURCES/
        !            35: 
        !            36: 5. Edit rpm/SPECS/quagga.spec with configuration as needed
        !            37:        Look at the beginning of the file and adjust the following parameters to enable
        !            38:        or disable features as required:
        !            39:        
        !            40:                ################# Quagga configure options ####################
        !            41:                # with-feature options
        !            42:         %{!?with_snmp:         %global  with_snmp       1 }
        !            43:         %{!?with_vtysh:        %global  with_vtysh      1 }
        !            44:         %{!?with_ospf_te:      %global  with_ospf_te    1 }
        !            45:                %{!?with_opaque_lsa:   %global  with_opaque_lsa 1 }
        !            46:                %{!?with_tcp_zebra:        %global  with_tcp_zebra  0 }
        !            47:                %{!?with_vtysh:        %global  with_vtysh      1 }
        !            48:                %{!?with_pam:          %global  with_pam        1 }
        !            49:         %{!?with_ospfclient:   %global  with_ospfclient 1 }
        !            50:                %{!?with_ospfapi:      %global  with_ospfapi    1 }
        !            51:                %{!?with_irdp:         %global  with_irdp       1 }
        !            52:                %{!?with_rtadv:        %global  with_rtadv      1 }
        !            53:                %{!?with_isisd:        %global  with_isisd      1 }
        !            54:                %{!?with_pimd:         %global  with_pimd       1 }
        !            55:                %{!?with_shared:       %global  with_shared     1 }
        !            56:                %{!?with_multipath:    %global  with_multipath  64 }
        !            57:                %{!?quagga_user:       %global  quagga_user     quagga }
        !            58:                %{!?vty_group:         %global  vty_group       quaggavt }
        !            59:                %{!?with_fpm:          %global  with_fpm        0 }
        !            60:                %{!?with_watchquagga:  %global  with_watchquagga 1 }
        !            61: 
        !            62: 6. Build the RPM
        !            63: 
        !            64:                rpmbuild --define "_topdir `pwd`/rpmbuild" -ba rpmbuild/SPECS/quagga.spec
        !            65: 
        !            66: DONE.
        !            67: 
        !            68: If all works correctly, then you should end up with the RPMs under `rpmbuild/RPMS`
        !            69: and the Source RPM under `rpmbuild/SRPMS`
        !            70: 
        !            71: 
        !            72: Enabling daemons after installation of the package:
        !            73: ---------------------------------------------------
        !            74: 
        !            75: ### init.d based systems (ie CentOS 6):
        !            76: 
        !            77: 1. Enable the daemons as needed to run after boot (Zebra is mandatory)
        !            78:        
        !            79:                chkconfig zebra on
        !            80:                chkconfig ospfd on
        !            81:                chkconfig ospf6d on
        !            82:                chkconfig bgpd on
        !            83:                ... etc
        !            84: 
        !            85: 2. If you want to run `watchquagga`, then configure `/etc/sysconfig/quagga` 
        !            86:    and uncomment the line with the daemons for `watchquagga` to monitor,
        !            87:    then enable watchquagga
        !            88: 
        !            89:                chkconfig watchquagga on
        !            90: 
        !            91: 3. Check your firewall / IPtables to make sure the routing protocols are
        !            92: allowed.
        !            93:                
        !            94: 4. Start the daemons (or reboot)
        !            95: 
        !            96:                service zebra start
        !            97:                service bgpd start
        !            98:                service ospfd start
        !            99:                ... etc
        !           100:                        
        !           101: Configuration is stored in `/etc/quagga/*.conf` files.
        !           102: 
        !           103: 
        !           104: ### systemd based systems (ie CentOS 7, Fedora 22)
        !           105: 
        !           106: 1. Enable the daemons as needed to run after boot (Zebra is mandatory)
        !           107:        
        !           108:                systemctl enable zebra
        !           109:                systemctl enable ospfd
        !           110:                systemctl enable ospf6d
        !           111:                systemctl enable bgpd
        !           112:                ... etc
        !           113: 
        !           114:        Note: There is no watchquagga on systemd based systems. Systemd contains
        !           115:        the functionality of monitoring and restarting daemons.
        !           116: 
        !           117: 2. Check your firewall / IPtables to make sure the routing protocols are
        !           118: allowed.
        !           119:                
        !           120: 3. Start the daemons (or reboot)
        !           121: 
        !           122:                systemctl start zebra
        !           123:                systemctl start bgpd
        !           124:                systemctl start ospfd
        !           125:                ... etc
        !           126:                        
        !           127: Configuration is stored in `/etc/quagga/*.conf` files.
        !           128: 

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