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>