diff --git a/.gitignore b/.gitignore index e69de29..960e851 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/WALinuxAgent-b3f2619a854455675ae5f2ee14726659e0398af7.tar.gz diff --git a/WALinuxAgent-2.0.8-logrotate-name.patch b/WALinuxAgent-2.0.8-logrotate-name.patch new file mode 100644 index 0000000..e8f6d1a --- /dev/null +++ b/WALinuxAgent-2.0.8-logrotate-name.patch @@ -0,0 +1,11 @@ +--- a/setup.py 2014-10-05 03:39:26.477801917 -0500 ++++ b/setup.py 2014-10-05 03:39:51.749922806 -0500 +@@ -155,7 +155,7 @@ + sys.exit(1) + try: + self.copy_file('config/waagent.logrotate', +- tgtDir + 'etc/logrotate.d/waagent') ++ tgtDir + 'etc/logrotate.d/WALinuxAgent') + except: + msg = 'Could not install logrotate file in ' + msg += tgtDir + 'etc/logrotate.d' diff --git a/WALinuxAgent.spec b/WALinuxAgent.spec new file mode 100644 index 0000000..60eccbe --- /dev/null +++ b/WALinuxAgent.spec @@ -0,0 +1,135 @@ +%global commit b3f2619a854455675ae5f2ee14726659e0398af7 + +%if 0%{?fedora} +%global distro fedora +%global initsys systemd +%else +%if 0%{?rhel} +%global distro redhat +%if 0%{?rhel} < 7 +%global initsys sysV +%else +%global initsys systemd +%endif +%{!?__python2: %global __python2 /usr/bin/python2} +%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")} +%endif +%endif + +Name: WALinuxAgent +Version: 2.0.11 +Release: 2%{?dist} +Summary: The Windows Azure Linux Agent + +Group: System Environment/Daemons +License: ASL 2.0 +URL: https://github.com/Azure/%{name} +Source0: https://github.com/Azure/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz +# Redhat-specific patch (not submitted upstream) +Patch0: %{name}-2.0.8-logrotate-name.patch + +BuildArch: noarch + +BuildRequires: python2-devel +BuildRequires: python-setuptools +Requires: net-tools +Requires: ntfsprogs +Requires: openssh +Requires: openssh-server +Requires: openssl +Requires: parted +Requires: python-pyasn1 + +%if 0%{?rhel} && 0%{?rhel} < 7 +Conflicts: NetworkManager +%endif + +%if %{initsys} == systemd +BuildRequires: systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%else +%if %{initsys} == sysv +Requires(post): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts +Requires(postun): initscripts +%endif +%endif + +%description +The Windows Azure Linux Agent supports the provisioning and running of Linux +VMs in the Windows Azure cloud. This package should be installed on Linux disk +images that are built to run in the Windows Azure environment. + +%prep +%setup -qn %{name}-%{commit} +%patch0 -p1 + +chmod 0755 distro/redhat/waagent.sysV + +%build +%{__python2} setup.py build + +%install +%{__python2} setup.py install --skip-build --root %{buildroot} --lnx-distro '%{distro}' --init-system '%{initsys}' + +mkdir -p -m 0700 %{buildroot}%{_sharedstatedir}/waagent +mkdir -p %{buildroot}%{_localstatedir}/log +touch %{buildroot}%{_localstatedir}/log/waagent.log + +%post +%if %{initsys} == systemd +%systemd_post waagent.service +%else +%if %{initsys} == sysV +/sbin/chkconfig --add waagent +%endif +%endif + +%preun +%if %{initsys} == systemd +%systemd_preun waagent.service +%else +%if %{initsys} == sysV +if [ $1 = 0 ]; then + /sbin/service waagent stop >/dev/null 2>&1 + /sbin/chkconfig --del waagent +fi +%endif +%endif + +%postun +%if %{initsys} == systemd +%systemd_postun_with_restart waagent.service +%else +%if %{initsys} == sysV +if [ "$1" -ge "1" ]; then + /sbin/service waagent restart >/dev/null 2>&1 || : +fi +%endif +%endif + +%files +%doc Changelog LICENSE-2.0.txt NOTICE README +%ghost %{_localstatedir}/log/waagent.log +%dir %attr(0700, root, root) %{_sharedstatedir}/waagent +%config(noreplace) %{_sysconfdir}/logrotate.d +%{_sbindir}/waagent +%config(noreplace) %{_sysconfdir}/waagent.conf + +%if %{initsys} == systemd +%{_unitdir}/waagent.service +%else +%{_initddir}/waagent +%endif + +%changelog +* Sat Jan 10 2015 Scott K Logan - 2.0.11-2 +- Use systemd for rhel7 +- Own logrotate.d +- Fix python2-devel dep + +* Sat Dec 20 2014 Scott K Logan - 2.0.11-1 +- Initial package diff --git a/sources b/sources index e69de29..892776c 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +21ad3de60c83523795894fec0ce2f1f7 WALinuxAgent-b3f2619a854455675ae5f2ee14726659e0398af7.tar.gz