Name: opendaylight-controller
Version: 0.1.0
-Release: 0.3.0%{?dist}
+Release: 0.8.0%{?dist}
Summary: OpenDaylight SDN Controller
Group: Applications/Communications
License: EPL
# todo: Temporary method for generating tarball
# git clone https://git.opendaylight.org/gerrit/p/controller.git
# cd controller
-# git archive --prefix=opendaylight-controller-0.1.0/ 20dcbd1 | xz > opendaylight-controller-0.1.0.tar.xz
+# git archive --prefix=opendaylight-controller-0.1.0/ HEAD | xz > opendaylight-controller-0.1.0.tar.xz
# git clone https://git.opendaylight.org/gerrit/p/integration.git
-# cd packaging/rpm/fedora
-# git archive 20dcbd1 opendaylight-controller.sysconfig opendaylight-controller.systemd | xz > opendaylight-controller-integration-0.1.0.tar.xz
+# cd integration
+# git archive --prefix=opendaylight-integration-0.1.0/HEAD | xz > opendaylight-integration-0.1.0.tar.xz
Source0: %{name}-%{version}.tar.xz
-Source1: %{name}-integration-%{version}.tar.xz
+Source1: opendaylight-integration-%{version}.tar.xz
+Patch0: opendaylight-integration-fix-paths.patch
BuildArch: noarch
#Requires: slf4j
Requires: %{name}-dependencies
+Requires: opendaylight-openflowjava
+Requires: opendaylight-openflowplugin
%if 0%{?fedora}
Requires(post): systemd
# This is the directory that has all the JAVA dependencies.
%global deps_dir %{_javadir}/opendaylight-controller-dependencies
+# This is the integration buildsubdir and packaging dirs:
+#%global intbuildsubdir %{_builddir}/%{buildsubdir}/opendaylight-integration-%{version}
+%global pkgdir opendaylight-integration-%{version}/packaging/rpm
+
%description
OpenDaylight SDN Controller
%setup -q
%setup -q -D -T -a 1
+cd opendaylight-integration-%{version}
+%patch0 -p1
+
# In more restrictive distributions we should also here remove from the source
# package any third party binaries, or replace them with those provided by the
# mvn clean install -Dmaven.test.skip=true -DskipIT -Dmaven.compile.fork=true
export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m" && mvn clean install -Dmaven.test.skip=true
+
%install
# Extract the contents of the distribution to a temporary directory so that we
ln -s %{configuration_dir}/config.ini %{buildroot}%{data_dir}/configuration
mv tmp/opendaylight/configuration/* %{buildroot}%{resources_dir}/configuration
rmdir tmp/opendaylight/configuration
+ln -s %{resources_dir}/configuration/initial %{buildroot}%{data_dir}/configuration
ln -s %{resources_dir}/configuration/context.xml %{buildroot}%{data_dir}/configuration
ln -s %{resources_dir}/configuration/logback.xml %{buildroot}%{data_dir}/configuration
ln -s %{resources_dir}/configuration/tomcat-server.xml %{buildroot}%{data_dir}/configuration
+ln -s %{resources_dir}/configuration/tomcat-logging.properties %{buildroot}%{data_dir}/configuration
+ln -s %{resources_dir}/configuration/RSA.pk %{buildroot}%{data_dir}/configuration
mv tmp/opendaylight/* %{buildroot}%{resources_dir}
ln -s %{resources_dir}/plugins %{buildroot}%{data_dir}
%if 0%{?fedora}
-install -m 644 -D %{name}.systemd %{buildroot}%{_unitdir}/%{name}.service
+install -m 644 -D %{pkgdir}/%{name}.systemd %{buildroot}%{_unitdir}/%{name}.service
%else
-install -m 644 -D %{name}.sysv %{buildroot}%{_initddir}/%{name}
+install -m 644 -D %{pkgdir}/%{name}.sysv %{buildroot}%{_initddir}/%{name}
%endif
-install -m 644 -D %{name}.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/%{name}
+install -m 644 -D %{pkgdir}/%{name}.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/%{name}
+
+# Fix all the run.sh files to the right names.
+install -m 755 -D %{buildroot}%{resources_dir}/run.sh %{buildroot}%{resources_dir}/run.internal.sh
+install -m 755 -D opendaylight-integration-%{version}/distributions/base/src/assemble/resources/run.sh \
+ %{buildroot}%{resources_dir}/run.base.sh
+rm %{buildroot}%{resources_dir}/run.sh
+install -m 755 -D opendaylight-integration-%{version}/distributions/virtualization/src/assemble/resources/run.sh \
+ %{buildroot}%{resources_dir}/run.sh
+install -m 755 -D opendaylight-integration-%{version}/packaging/rpm/run.dist.sh %{buildroot}%{resources_dir}/run.dist.sh
# Usually one wants to replace the .jar files of the dependencies by symlinks
# to the ones provided to the system. This assumes the dependencies have been
for src in $( ls -I "org.opendaylight.*" );
do
rm -f ${src}
- tgt=$(echo ${src} | sed -e "s/-[0-9].*/.jar/")
- ln -s %{deps_dir}/${tgt} ${src}
+ #tgt=$(echo ${src} | sed -e "s/-[0-9].*/.jar/")
+ #ln -s %{deps_dir}/${tgt} ${src}
+ ln -s %{deps_dir}/${src} ${src}
done
cd %{buildroot}%{resources_dir}/plugins
for src in $( ls -I "org.opendaylight.*" );
do
rm -f ${src}
- tgt=$(echo ${src} | sed -e "s/-[0-9].*/.jar/")
- ln -s %{deps_dir}/${tgt} ${src}
+ #tgt=$(echo ${src} | sed -e "s/-[0-9].*/.jar/")
+ #ln -s %{deps_dir}/${tgt} ${src}
+ ln -s %{deps_dir}/${src} ${src}
done
find %{buildroot}%{data_dir} -type d -exec chmod 755 {} \;
find %{buildroot}%{data_dir} -type f -exec chmod 755 {} \;
chmod 755 %{buildroot}%{resources_dir}/run.sh
+chmod 755 %{buildroot}%{resources_dir}/run.base.sh
+chmod 755 %{buildroot}%{resources_dir}/run.internal.sh
+chmod 755 %{buildroot}%{resources_dir}/run.dist.sh
%if 0%{?rhel}
chmod 755 %{buildroot}%{_initddir}/%{name}
%endif
%endif
%clean
+# This check is used for mock build so the build files are not deleted.
%if "%{noclean}" == "1"
exit 0
%endif
%endif
%changelog
+* Wed Jan 22 2014 Sam Hague <shague@redhat.com> - 0.1.0-0.8.0
+- Fix changelog day error.
+
+* Fri Jan 10 2014 Hsin-Yi Shen <hshen@redhat.com> - 0.1.0-0.7.0
+- Updates to include openflowjava and openflowplugin.
+
+* Fri Jan 10 2014 Sam Hague <shague@redhat.com> - 0.1.0-0.6.0
+- Updates to include new configuration files.
+
+* Thu Jan 09 2014 Sam Hague <shague@redhat.com> - 0.1.0-0.5.0
+- Updates for OF1.3 support.
+
+* Thu Jan 02 2014 Sam Hague <shague@redhat.com> - 0.1.0-0.4.0
+- Updates to include building distributions.
+
* Mon Dec 23 2013 Hsin-Yi Shen <hshen@redhat.com> - 0.1.0-0.3.0
- Updates to support building rpm for both RHEL and fedora.