#5 Upgrade EPEL 7 to 1.6.6
Merged 5 years ago by ersin. Opened 5 years ago by robert.
Unknown source epel7  into  epel7

file modified
+1 -15
@@ -1,15 +1,1 @@

- /bird-1.2.4.tar.gz

- /bird-1.2.5.tar.gz

- /bird-1.3.0.tar.gz

- /bird-1.3.1.tar.gz

- /bird-1.3.2.tar.gz

- /bird-1.3.3.tar.gz

- /bird-1.3.4.tar.gz

- /bird-1.3.5.tar.gz

- /bird-1.3.7.tar.gz

- /bird-1.3.10.tar.gz

- /bird-1.3.11.tar.gz

- /bird-1.4.0.tar.gz

- /bird-1.4.3.tar.gz

- /bird-1.4.5.tar.gz

- /bird-1.6.4.tar.gz

+ /bird-*.tar.gz

@@ -0,0 +1,62 @@

+ As per http://trubka.network.cz/pipermail/bird-users/2019-March/013240.html

+ a workaround suggested by upstream until bird >= 1.6.7 is released.

+ 

+ --- bird-1.6.6/configure		2019-03-01 00:13:27.000000000 +0100

+ +++ bird-1.6.6/configure.runstatedir	2019-03-01 00:13:27.000000000 +0100

+ @@ -652,7 +652,6 @@

+  CONTROL_SOCKET

+  CONFIG_FILE

+  SUFFIX

+ -runstatedir

+  srcdir_rel_mf

+  exedir

+  objdir

+ @@ -678,6 +677,7 @@

+  docdir

+  oldincludedir

+  includedir

+ +runstatedir

+  localstatedir

+  sharedstatedir

+  sysconfdir

+ @@ -761,6 +761,7 @@

+  sysconfdir='${prefix}/etc'

+  sharedstatedir='${prefix}/com'

+  localstatedir='${prefix}/var'

+ +runstatedir='${localstatedir}/run'

+  includedir='${prefix}/include'

+  oldincludedir='/usr/include'

+  docdir='${datarootdir}/doc/${PACKAGE}'

+ @@ -1013,6 +1014,15 @@

+    | -silent | --silent | --silen | --sile | --sil)

+      silent=yes ;;

+  

+ +  -runstatedir | --runstatedir | --runstatedi | --runstated \

+ +  | --runstate | --runstat | --runsta | --runst | --runs \

+ +  | --run | --ru | --r)

+ +    ac_prev=runstatedir ;;

+ +  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \

+ +  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \

+ +  | --run=* | --ru=* | --r=*)

+ +    runstatedir=$ac_optarg ;;

+ +

+    -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)

+      ac_prev=sbindir ;;

+    -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \

+ @@ -1150,7 +1160,7 @@

+  for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \

+  		datadir sysconfdir sharedstatedir localstatedir includedir \

+  		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \

+ -		libdir localedir mandir

+ +		libdir localedir mandir runstatedir

+  do

+    eval ac_val=\$$ac_var

+    # Remove trailing slashes.

+ @@ -1303,6 +1313,7 @@

+    --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]

+    --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]

+    --localstatedir=DIR     modifiable single-machine data [PREFIX/var]

+ +  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]

+    --libdir=DIR            object code libraries [EPREFIX/lib]

+    --includedir=DIR        C header files [PREFIX/include]

+    --oldincludedir=DIR     C header files for non-gcc [/usr/include]

file modified
+63 -40
@@ -1,25 +1,30 @@

  %global _hardened_build 1

  

  Name:             bird

- Version:          1.6.4

- Release:          2%{?dist}

+ Version:          1.6.6

+ Release:          1%{?dist}

  Summary:          BIRD Internet Routing Daemon

  

  Group:            System Environment/Daemons

  License:          GPLv2+

- URL:              http://bird.network.cz

+ URL:              https://bird.network.cz

  Source0:          ftp://bird.network.cz/pub/bird/bird-%{version}.tar.gz

  Source1:          bird.service

+ Source2:          bird.tmpfilesd

+ Patch0:           bird-1.6.6-runstatedir.patch

  

  BuildRequires:    flex bison ncurses-devel readline-devel sed systemd gcc

- Requires(post):   systemd

- Requires(preun):  systemd

- Requires(postun): systemd

+ %{?systemd_requires}

  Obsoletes:        bird-sysvinit

  

  %description

- BIRD is dynamic routing daemon supporting IPv4 and IPv6 versions of routing

- protocols BGP, RIP and OSPF.

+ BIRD is a dynamic IP routing daemon supporting both, IPv4 and IPv6, Border

+ Gateway Protocol (BGPv4), Routing Information Protocol (RIPv2, RIPng), Open

+ Shortest Path First protocol (OSPFv2, OSPFv3), Babel Routing Protocol (Babel),

+ Bidirectional Forwarding Detection (BFD), IPv6 router advertisements, static

+ routes, inter-table protocol, command-line interface allowing on-line control

+ and inspection of the status of the daemon, soft reconfiguration as well as a

+ powerful language for route filtering.

  

  This package contains IPv4 version.

  
@@ -27,34 +32,42 @@

  %package -n bird6

  Summary:          BIRD Internet Routing Daemon

  Group:            System Environment/Daemons

- Requires(post):   systemd

- Requires(preun):  systemd

- Requires(postun): systemd

+ %{?systemd_requires}

  Obsoletes:        bird6-sysvinit

  

  %description -n bird6

- BIRD is dynamic routing daemon supporting IPv4 and IPv6 versions of routing

- protocols BGP, RIP and OSPF.

+ BIRD is a dynamic IP routing daemon supporting both, IPv4 and IPv6, Border

+ Gateway Protocol (BGPv4), Routing Information Protocol (RIPv2, RIPng), Open

+ Shortest Path First protocol (OSPFv2, OSPFv3), Babel Routing Protocol (Babel),

+ Bidirectional Forwarding Detection (BFD), IPv6 router advertisements, static

+ routes, inter-table protocol, command-line interface allowing on-line control

+ and inspection of the status of the daemon, soft reconfiguration as well as a

+ powerful language for route filtering.

  

  This package contains IPv6 version.

  

  

  %package doc

- Summary:          BIRD Internet Routing Daemon

- Group:            System Environment/Daemons

+ Summary:          Documentation for BIRD Internet Routing Daemon

+ Group:            Documentation

+ BuildRequires:    linuxdoc-tools sgml-common

+ BuildArch:        noarch

  

  %description doc

- BIRD is dynamic routing daemon supporting IPv4 and IPv6 versions of routing

- protocols BGP, RIP and OSPF.

+ Documentation for users and programmers of the BIRD Internet Routing Daemon.

  

- This package contains documentation.

+ BIRD is a dynamic IP routing daemon supporting both, IPv4 and IPv6, Border

+ Gateway Protocol (BGPv4), Routing Information Protocol (RIPv2, RIPng), Open

+ Shortest Path First protocol (OSPFv2, OSPFv3), Babel Routing Protocol (Babel),

+ Bidirectional Forwarding Detection (BFD), IPv6 router advertisements, static

+ routes, inter-table protocol, command-line interface allowing on-line control

+ and inspection of the status of the daemon, soft reconfiguration as well as a

+ powerful language for route filtering.

  

  

  %prep

  %setup -q

- 

- #Don't strip executables

- sed -i 's/\$(INSTALL_PROGRAM) -s/\$(INSTALL_PROGRAM)/' tools/Makefile.in

+ %patch0 -p1 -b .runstatedir

  

  

  %build
@@ -62,30 +75,27 @@

  tar c --exclude ipv6 . | tar x -C ipv6

  

  cd ipv6

- %configure --prefix=%{_prefix} \

-            --sysconfdir=%{_sysconfdir} \

-            --localstatedir=%{_localstatedir} \

-            --enable-ipv6

- make %{?_smp_mflags}

+ %configure --runstatedir=%{_rundir}/bird6 --enable-ipv6

+ %make_build all

  cd ..

  

- %configure --prefix=%{_prefix} \

-            --sysconfdir=%{_sysconfdir} \

-            --localstatedir=%{_localstatedir}

- make %{?_smp_mflags}

+ %configure --runstatedir=%{_rundir}/bird

+ %make_build all docs

  

  

  %install

- make install DESTDIR=%{buildroot}

+ %make_install

  

  cd ipv6

- make install DESTDIR=%{buildroot}

+ %make_install

  cd ..

  

- install -d %{buildroot}%{_unitdir}

- install -d %{buildroot}%{_localstatedir}/lib/bird{,6}

+ install -d %{buildroot}{%{_unitdir},%{_tmpfilesdir}}

+ install -d %{buildroot}{%{_localstatedir}/lib,%{_rundir}}/bird{,6}

  sed 's/BIRD_PROGNAME/bird/g' %SOURCE1 > %{buildroot}%{_unitdir}/bird.service

  sed 's/BIRD_PROGNAME/bird6/g' %SOURCE1 > %{buildroot}%{_unitdir}/bird6.service

+ sed 's/BIRD_PROGNAME/bird/g' %SOURCE2 > %{buildroot}%{_tmpfilesdir}/bird.conf

+ sed 's/BIRD_PROGNAME/bird6/g' %SOURCE2 > %{buildroot}%{_tmpfilesdir}/bird6.conf

  

  

  %post
@@ -94,8 +104,8 @@

  %pre

  getent group bird >/dev/null || groupadd -r bird

  getent passwd bird >/dev/null || \

-     useradd -r -g bird -d %{_localstatedir}/lib/bird -s /sbin/nologin \

-     -c "bird daemon user" bird

+   useradd -r -g bird -d %{_localstatedir}/lib/bird -s /sbin/nologin \

+   -c "BIRD daemon user" bird

  exit 0

  

  %preun
@@ -107,8 +117,8 @@

  %pre -n bird6

  getent group bird6 >/dev/null || groupadd -r bird6

  getent passwd bird6 >/dev/null || \

-     useradd -r -g bird6 -d %{_localstatedir}/lib/bird6 -s /sbin/nologin \

-     -c "bird6 daemon user" bird6

+   useradd -r -g bird6 -d %{_localstatedir}/lib/bird6 -s /sbin/nologin \

+   -c "BIRD6 daemon user" bird6

  exit 0

  

  %post -n bird6
@@ -123,28 +133,41 @@

  

  %files

  %doc NEWS README

- %config(noreplace) %{_sysconfdir}/bird.conf

+ %attr(0640,root,bird) %config(noreplace) %{_sysconfdir}/bird.conf

  %{_unitdir}/bird.service

+ %{_tmpfilesdir}/bird.conf

  %{_sbindir}/bird

  %{_sbindir}/birdc

  %{_sbindir}/birdcl

  %dir %attr(0750,bird,bird) %{_localstatedir}/lib/bird

+ %dir %attr(0750,bird,bird) %{_rundir}/bird

  

  %files -n bird6

  %doc NEWS README

- %config(noreplace) %{_sysconfdir}/bird6.conf

+ %attr(0640,root,bird6) %config(noreplace) %{_sysconfdir}/bird6.conf

  %{_unitdir}/bird6.service

+ %{_tmpfilesdir}/bird6.conf

  %{_sbindir}/bird6

  %{_sbindir}/birdc6

  %{_sbindir}/birdcl6

  %dir %attr(0750,bird6,bird6) %{_localstatedir}/lib/bird6

+ %dir %attr(0750,bird6,bird6) %{_rundir}/bird6

  

  %files doc

  %doc NEWS README

+ %doc doc/bird.conf.*

  %doc doc/bird*.html

+ %doc doc/bird.pdf

+ %doc doc/prog*.html

+ %doc doc/prog.pdf

  

  

  %changelog

+ * Sat Apr 06 2019 Robert Scheck <robert@fedoraproject.org> - 1.6.6-1

+ - Upgrade to 1.6.6

+ - Modernization and cleanup of spec file

+ - Ensure /etc/bird.conf can be only read by BIRD user

+ 

  * Mon Nov 19 2018 Stanislav Kozina <skozina@redhat.org> - 1.6.4-2

  - Fix running bird under non-root user and group

  

file added
+1
@@ -0,0 +1,1 @@

+ d /run/BIRD_PROGNAME 750 BIRD_PROGNAME BIRD_PROGNAME

file modified
+1 -1
@@ -1,1 +1,1 @@

- SHA512 (bird-1.6.4.tar.gz) = 5034d6bdca40ecddaed57bd4ab6e700828b89221bd3ce6d347aa9caa4dca65880c080ee3f276a8c31adde2de16402c8b7e7fd32dc4463d29d63b3f16b833b2eb

+ SHA512 (bird-1.6.6.tar.gz) = 2419e487af2c8e75f613892ee1b1ada00085945bcafe17de972d3196f50a32321a6d18c9a3b58c0c58a5273f348a6d6de8b861505ad559269510a0ba69041fd9

It's basically the changes rolled into Fedora 29:

  • Upgrade to 1.6.6
  • Modernization and cleanup of spec file
  • Ensure /etc/bird.conf can be only read by BIRD user

Note that bird < 1.6.5 fails when using nested ifs which are not uncommon, see also http://trubka.network.cz/pipermail/bird-users/2019-April/013286.html

Pull-Request has been merged by ersin

5 years ago