Joshua Harlow has proposed merging ~harlowja/cloud-init:kill-brpm into cloud-init:master.
Requested reviews: cloud init development team (cloud-init-dev) For more details, see: https://code.launchpad.net/~harlowja/cloud-init/+git/cloud-init/+merge/307991 Suse may need additional work btw. -- Your team cloud init development team is requested to review the proposed merge of ~harlowja/cloud-init:kill-brpm into cloud-init:master.
diff --git a/packages/brpm b/packages/brpm deleted file mode 100755 index 89696ab..0000000 --- a/packages/brpm +++ /dev/null @@ -1,218 +0,0 @@ -#!/usr/bin/env python - -import argparse -import glob -import json -import os -import shutil -import sys -import tempfile - - -def find_root(): - # expected path is in <top_dir>/packages/ - top_dir = os.environ.get("CLOUD_INIT_TOP_D", None) - if top_dir is None: - top_dir = os.path.dirname( - os.path.dirname(os.path.abspath(sys.argv[0]))) - if os.path.isfile(os.path.join(top_dir, 'setup.py')): - return os.path.abspath(top_dir) - raise OSError(("Unable to determine where your cloud-init topdir is." - " set CLOUD_INIT_TOP_D?")) - - -if "avoid-pep8-E402-import-not-top-of-file": - # Use the util functions from cloudinit - sys.path.insert(0, find_root()) - from cloudinit import templater - from cloudinit import util - -# Map python requirements to package names. If a match isn't found -# here, we assume 'python-<pypi_name>'. -PACKAGE_MAP = { - 'redhat': { - 'pyserial': 'pyserial', - 'pyyaml': 'PyYAML', - }, - 'suse': { - 'pyyaml': 'python-yaml', - } -} - -# Subdirectories of the ~/rpmbuild dir -RPM_BUILD_SUBDIRS = ['BUILD', 'RPMS', 'SOURCES', 'SPECS', 'SRPMS'] - - -def run_helper(helper, args=None, strip=True): - if args is None: - args = [] - cmd = [util.abs_join(find_root(), 'tools', helper)] + args - (stdout, _stderr) = util.subp(cmd) - if strip: - stdout = stdout.strip() - return stdout - - -def read_dependencies(): - '''Returns the Python depedencies from requirements.txt. This explicitly - removes 'argparse' from the list of requirements for python >= 2.7, - because with 2.7 argparse became part of the standard library.''' - stdout = run_helper('read-dependencies') - return [p.lower().strip() for p in stdout.splitlines() - if p != 'argparse' or (p == 'argparse' and - sys.version_info[0:2] < (2, 7))] - - -def translate_dependencies(deps, distro): - '''Maps python requirements into package names. We assume - python-<pypi_name> for packages not listed explicitly in - PACKAGE_MAP.''' - return [PACKAGE_MAP[distro][req] - if req in PACKAGE_MAP[distro] else 'python-%s' % req - for req in deps] - - -def read_version(): - return json.loads(run_helper('read-version', ['--json'])) - - -def generate_spec_contents(args, version_data, tmpl_fn, top_dir, arc_fn): - - # Tmpl params - subs = {} - - if args.sub_release is not None: - subs['subrelease'] = str(args.sub_release) - else: - subs['subrelease'] = "" - - subs['archive_name'] = arc_fn - subs['source_name'] = os.path.basename(arc_fn).replace('.tar.gz', '') - subs.update(version_data) - - # rpm does not like '-' in the Version, so change - # X.Y.Z-N-gHASH to X.Y.Z+N.gHASH - if "-" in version_data.get('version'): - ver, commits, ghash = version_data['version'].split("-") - rpm_upstream_version = "%s+%s.%s" % (ver, commits, ghash) - else: - rpm_upstream_version = version_data['version'] - subs['rpm_upstream_version'] = rpm_upstream_version - - # Map to known packages - python_deps = read_dependencies() - package_deps = translate_dependencies(python_deps, args.distro) - subs['requires'] = package_deps - - if args.boot == 'sysvinit': - subs['sysvinit'] = True - else: - subs['sysvinit'] = False - - if args.boot == 'systemd': - subs['systemd'] = True - else: - subs['systemd'] = False - - subs['init_sys'] = args.boot - subs['patches'] = [os.path.basename(p) for p in args.patches] - return templater.render_from_file(tmpl_fn, params=subs) - - -def main(): - - parser = argparse.ArgumentParser() - parser.add_argument("-d", "--distro", dest="distro", - help="select distro (default: %(default)s)", - metavar="DISTRO", default='redhat', - choices=('redhat', 'suse')) - parser.add_argument('--srpm', - help='Produce a source rpm', - action='store_true') - parser.add_argument("-b", "--boot", dest="boot", - help="select boot type (default: %(default)s)", - metavar="TYPE", default='sysvinit', - choices=('sysvinit', 'systemd')) - parser.add_argument("-v", "--verbose", dest="verbose", - help=("run verbosely" - " (default: %(default)s)"), - default=False, - action='store_true') - parser.add_argument('-s', "--sub-release", dest="sub_release", - metavar="RELEASE", - help=("a 'internal' release number to concat" - " with the bzr version number to form" - " the final version number"), - type=int, - default=None) - parser.add_argument("-p", "--patch", dest="patches", - help=("include the following patch when building"), - default=[], - action='append') - args = parser.parse_args() - capture = True - if args.verbose: - capture = False - - workdir = None - try: - workdir = tempfile.mkdtemp(prefix='rpmbuild') - os.environ['HOME'] = workdir - topdir = os.path.join(workdir, 'rpmbuild') - build_dirs = [os.path.join(topdir, dir) - for dir in RPM_BUILD_SUBDIRS] - util.ensure_dirs(build_dirs) - - version_data = read_version() - - # Archive the code - archive_fn = "cloud-init-%s.tar.gz" % version_data['version_long'] - real_archive_fn = os.path.join(topdir, 'SOURCES', archive_fn) - archive_fn = run_helper( - 'make-tarball', ['--long', '--output=' + real_archive_fn]) - print("Archived the code in %r" % (real_archive_fn)) - - # Form the spec file to be used - tmpl_fn = util.abs_join(find_root(), 'packages', - args.distro, 'cloud-init.spec.in') - contents = generate_spec_contents(args, version_data, tmpl_fn, topdir, - os.path.basename(archive_fn)) - spec_fn = util.abs_join(topdir, 'SPECS', 'cloud-init.spec') - util.write_file(spec_fn, contents) - print("Created spec file at %r" % (spec_fn)) - for p in args.patches: - util.copy(p, util.abs_join(topdir, 'SOURCES', os.path.basename(p))) - - # Now build it! - print("Running 'rpmbuild' in %r" % (topdir)) - - if args.srpm: - cmd = ['rpmbuild', '-bs', '--nodeps', spec_fn] - else: - cmd = ['rpmbuild', '-ba', spec_fn] - - util.subp(cmd, capture=capture) - - # Copy the items built to our local dir - globs = [] - globs.extend(glob.glob("%s/*.rpm" % - (util.abs_join(topdir, 'RPMS', 'noarch')))) - globs.extend(glob.glob("%s/*.rpm" % - (util.abs_join(topdir, 'RPMS', 'x86_64')))) - globs.extend(glob.glob("%s/*.rpm" % - (util.abs_join(topdir, 'RPMS')))) - globs.extend(glob.glob("%s/*.rpm" % - (util.abs_join(topdir, 'SRPMS')))) - for rpm_fn in globs: - tgt_fn = util.abs_join(os.getcwd(), os.path.basename(rpm_fn)) - shutil.move(rpm_fn, tgt_fn) - print("Wrote out %s package %r" % (args.distro, tgt_fn)) - finally: - if workdir is not None: - shutil.rmtree(workdir) - - return 0 - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/packages/redhat/Makefile b/packages/redhat/Makefile new file mode 100644 index 0000000..798b772 --- /dev/null +++ b/packages/redhat/Makefile @@ -0,0 +1,30 @@ +CI_VERSION=$(shell ../../tools/read-version) +CWD=$(shell pwd) +ARC_NAME="cloud-init.tar.gz" + +ifndef TOPDIR + TOPDIR = $(CWD)/build +endif + +rpm: srpm + rpmbuild --rebuild --define "_topdir $(TOPDIR)" \ + --define "_ci_archive $(ARC_NAME)" \ + $(TOPDIR)/SRPMS/*.src.rpm + +srpm: tarball + rpmbuild -bs --define "_ci_version $(CI_VERSION)" \ + --define "_topdir $(TOPDIR)" \ + --define "_ci_archive $(ARC_NAME)" \ + cloud-init.spec + +tarball: + mkdir -p $(TOPDIR)/SOURCES $(TOPDIR)/SRPMS \ + $(TOPDIR)/SPECS $(TOPDIR)/RPM \ + $(TOPDIR)/BUILD + cd ../../ && ARCHIVE_BASE=cloud-init ./tools/make-tarball \ + -o $(TOPDIR)/SOURCES/$(ARC_NAME) + +clean: + rm -rf $(TOPDIR) + +.PHONY: srpm tarball clean rpm diff --git a/packages/redhat/cloud-init.spec b/packages/redhat/cloud-init.spec new file mode 100644 index 0000000..ec73317 --- /dev/null +++ b/packages/redhat/cloud-init.spec @@ -0,0 +1,182 @@ +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} + +# See: http://www.zarb.org/~jasonc/macros.php +# Or: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets +# Or: http://www.rpm.org/max-rpm/ch-rpm-inside.html + +Name: cloud-init +Version: %{_ci_version} +Release: 1%{?dist} +Summary: Cloud instance init scripts + +Source0: %{_ci_archive} + +Group: System Environment/Base +License: GPLv3 +URL: http://launchpad.net/cloud-init + +BuildArch: noarch +BuildRoot: %{_tmppath} + +BuildRequires: python-devel +BuildRequires: python-setuptools +BuildRequires: python-cheetah + +# System util packages needed +Requires: shadow-utils +Requires: rsyslog +Requires: iproute +Requires: e2fsprogs +Requires: net-tools +Requires: procps +Requires: shadow-utils +Requires: sudo >= 1.7.2p2-3 + +# Runtime requirements +Requires: python-jinja2 +Requires: python-prettytable +Requires: python-oauthlib +Requires: python-configobj +Requires: PyYAML +Requires: python-requests +Requires: python-jsonpatch +Requires: python-six + +%if 0%{?fedora} || 0%{?rhel} >= 7 +%define initsys systemd +%else +%define initsys sysvinit +%endif + +%if %{initsys} == sysvinit +Requires(post): chkconfig +Requires(postun): initscripts +Requires(preun): chkconfig +Requires(preun): initscripts +%else +BuildRequires: systemd-units +Requires(post): systemd-units +Requires(postun): systemd-units +Requires(preun): systemd-units +%endif + +%description +Cloud-init is a set of init scripts for cloud instances. Cloud instances +need special scripts to run during initialization to retrieve and install +ssh keys and to let the user run various scripts. + +%prep +%setup -q -n cloud-init + +%build +%{__python} setup.py build + +%install +%{__python} setup.py install -O1 \ + --skip-build --root $RPM_BUILD_ROOT \ + --init-system=%{initsys} + +# Note that /etc/rsyslog.d didn't exist by default until F15. +# el6 request: https://bugzilla.redhat.com/show_bug.cgi?id=740420 +mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d +cp -p tools/21-cloudinit.conf \ + $RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d/21-cloudinit.conf + +# Remove the tests +rm -rf $RPM_BUILD_ROOT%{python_sitelib}/tests + +# Required dirs... +mkdir -p $RPM_BUILD_ROOT/%{_sharedstatedir}/cloud +mkdir -p $RPM_BUILD_ROOT/%{_libexecdir}/%{name} + +mkdir -p $RPM_BUILD_ROOT/%{_unitdir} +cp -p systemd/* $RPM_BUILD_ROOT/%{_unitdir} + +%clean +rm -rf $RPM_BUILD_ROOT + +%post + +%if %{initsys} == systemd +if [ $1 -eq 1 ] +then + /bin/systemctl enable cloud-config.service >/dev/null 2>&1 || : + /bin/systemctl enable cloud-final.service >/dev/null 2>&1 || : + /bin/systemctl enable cloud-init.service >/dev/null 2>&1 || : + /bin/systemctl enable cloud-init-local.service >/dev/null 2>&1 || : +fi +%else +/sbin/chkconfig --add %{_initrddir}/cloud-init-local +/sbin/chkconfig --add %{_initrddir}/cloud-init +/sbin/chkconfig --add %{_initrddir}/cloud-config +/sbin/chkconfig --add %{_initrddir}/cloud-final +%endif + +%preun + +%if %{initsys} == systemd +if [ $1 -eq 0 ] +then + /bin/systemctl --no-reload disable cloud-config.service >/dev/null 2>&1 || : + /bin/systemctl --no-reload disable cloud-final.service >/dev/null 2>&1 || : + /bin/systemctl --no-reload disable cloud-init.service >/dev/null 2>&1 || : + /bin/systemctl --no-reload disable cloud-init-local.service >/dev/null 2>&1 || : +fi +%else +if [ $1 -eq 0 ] +then + /sbin/service cloud-init stop >/dev/null 2>&1 || : + /sbin/chkconfig --del cloud-init || : + /sbin/service cloud-init-local stop >/dev/null 2>&1 || : + /sbin/chkconfig --del cloud-init-local || : + /sbin/service cloud-config stop >/dev/null 2>&1 || : + /sbin/chkconfig --del cloud-config || : + /sbin/service cloud-final stop >/dev/null 2>&1 || : + /sbin/chkconfig --del cloud-final || : +fi +%endif + +%postun + +%if %{initsys} == systemd +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +%endif + +%files + +/lib/udev/rules.d/66-azure-ephemeral.rules +/usr/lib/systemd/system-generators/cloud-init-generator + +%if %{initsys} == systemd +%{_unitdir}/cloud-* +%{_unitdir}/cloud-* +%else +%attr(0755, root, root) %{_initddir}/cloud-config +%attr(0755, root, root) %{_initddir}/cloud-final +%attr(0755, root, root) %{_initddir}/cloud-init-local +%attr(0755, root, root) %{_initddir}/cloud-init +%endif + +# Program binaries +%{_bindir}/cloud-init* +%{_libexecdir}/%{name}/uncloud-init +%{_libexecdir}/%{name}/write-ssh-key-fingerprints + +# Docs +%doc LICENSE ChangeLog TODO.rst requirements.txt +%doc %{_defaultdocdir}/cloud-init/* + +# Configs +%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg +%dir %{_sysconfdir}/cloud/cloud.cfg.d +%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/*.cfg +%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/README +%dir %{_sysconfdir}/cloud/templates +%config(noreplace) %{_sysconfdir}/cloud/templates/* +%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf + +%{_libexecdir}/%{name} +%dir %{_sharedstatedir}/cloud + +# Python code is here... +%{python_sitelib}/* diff --git a/packages/redhat/cloud-init.spec.in b/packages/redhat/cloud-init.spec.in deleted file mode 100644 index d0ae048..0000000 --- a/packages/redhat/cloud-init.spec.in +++ /dev/null @@ -1,196 +0,0 @@ -## template: cheetah -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} - -# See: http://www.zarb.org/~jasonc/macros.php -# Or: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets -# Or: http://www.rpm.org/max-rpm/ch-rpm-inside.html - -Name: cloud-init -Version: ${rpm_upstream_version} -Release: 1${subrelease}%{?dist} -Summary: Cloud instance init scripts - -Group: System Environment/Base -License: GPLv3 -URL: http://launchpad.net/cloud-init - -Source0: ${archive_name} -BuildArch: noarch -BuildRoot: %{_tmppath} - -BuildRequires: python-devel -BuildRequires: python-setuptools -BuildRequires: python-cheetah - -# System util packages needed -Requires: shadow-utils -Requires: rsyslog -Requires: iproute -Requires: e2fsprogs -Requires: net-tools -Requires: procps -Requires: shadow-utils -Requires: sudo >= 1.7.2p2-3 - -# Install pypi 'dynamic' requirements -#for $r in $requires -Requires: ${r} -#end for - -# Custom patches -#set $size = 0 -#for $p in $patches -Patch${size}: $p -#set $size += 1 -#end for - -#if $sysvinit -Requires(post): chkconfig -Requires(postun): initscripts -Requires(preun): chkconfig -Requires(preun): initscripts -#end if - -#if $systemd -BuildRequires: systemd-units -Requires(post): systemd-units -Requires(postun): systemd-units -Requires(preun): systemd-units -#end if - -%description -Cloud-init is a set of init scripts for cloud instances. Cloud instances -need special scripts to run during initialization to retrieve and install -ssh keys and to let the user run various scripts. - -%prep -%setup -q -n ${source_name} - -# Custom patches activation -#set $size = 0 -#for $p in $patches -%patch${size} -p1 -#set $size += 1 -#end for - -%build -%{__python} setup.py build - -%install - -%{__python} setup.py install -O1 \ - --skip-build --root \$RPM_BUILD_ROOT \ - --init-system=${init_sys} - -# Note that /etc/rsyslog.d didn't exist by default until F15. -# el6 request: https://bugzilla.redhat.com/show_bug.cgi?id=740420 -mkdir -p \$RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d -cp -p tools/21-cloudinit.conf \ - \$RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d/21-cloudinit.conf - -# Remove the tests -rm -rf \$RPM_BUILD_ROOT%{python_sitelib}/tests - -# Required dirs... -mkdir -p \$RPM_BUILD_ROOT/%{_sharedstatedir}/cloud -mkdir -p \$RPM_BUILD_ROOT/%{_libexecdir}/%{name} - -#if $systemd -mkdir -p \$RPM_BUILD_ROOT/%{_unitdir} -cp -p systemd/* \$RPM_BUILD_ROOT/%{_unitdir} -#end if - -%clean -rm -rf \$RPM_BUILD_ROOT - -%post - -#if $systemd -if [ \$1 -eq 1 ] -then - /bin/systemctl enable cloud-config.service >/dev/null 2>&1 || : - /bin/systemctl enable cloud-final.service >/dev/null 2>&1 || : - /bin/systemctl enable cloud-init.service >/dev/null 2>&1 || : - /bin/systemctl enable cloud-init-local.service >/dev/null 2>&1 || : -fi -#end if - -#if $sysvinit -/sbin/chkconfig --add %{_initrddir}/cloud-init-local -/sbin/chkconfig --add %{_initrddir}/cloud-init -/sbin/chkconfig --add %{_initrddir}/cloud-config -/sbin/chkconfig --add %{_initrddir}/cloud-final -#end if - -%preun - -#if $sysvinit -if [ \$1 -eq 0 ] -then - /sbin/service cloud-init stop >/dev/null 2>&1 || : - /sbin/chkconfig --del cloud-init || : - /sbin/service cloud-init-local stop >/dev/null 2>&1 || : - /sbin/chkconfig --del cloud-init-local || : - /sbin/service cloud-config stop >/dev/null 2>&1 || : - /sbin/chkconfig --del cloud-config || : - /sbin/service cloud-final stop >/dev/null 2>&1 || : - /sbin/chkconfig --del cloud-final || : -fi -#end if - -#if $systemd -if [ \$1 -eq 0 ] -then - /bin/systemctl --no-reload disable cloud-config.service >/dev/null 2>&1 || : - /bin/systemctl --no-reload disable cloud-final.service >/dev/null 2>&1 || : - /bin/systemctl --no-reload disable cloud-init.service >/dev/null 2>&1 || : - /bin/systemctl --no-reload disable cloud-init-local.service >/dev/null 2>&1 || : -fi -#end if - -%postun - -#if $systemd -/bin/systemctl daemon-reload >/dev/null 2>&1 || : -#end if - -%files - -/lib/udev/rules.d/66-azure-ephemeral.rules - -#if $sysvinit -%attr(0755, root, root) %{_initddir}/cloud-config -%attr(0755, root, root) %{_initddir}/cloud-final -%attr(0755, root, root) %{_initddir}/cloud-init-local -%attr(0755, root, root) %{_initddir}/cloud-init -#end if - -#if $systemd -/usr/lib/systemd/system-generators/cloud-init-generator -%{_unitdir}/cloud-* -%{_unitdir}/cloud-* -#end if - -# Program binaries -%{_bindir}/cloud-init* -%{_libexecdir}/%{name}/uncloud-init -%{_libexecdir}/%{name}/write-ssh-key-fingerprints - -# Docs -%doc LICENSE ChangeLog TODO.rst requirements.txt -%doc %{_defaultdocdir}/cloud-init/* - -# Configs -%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg -%dir %{_sysconfdir}/cloud/cloud.cfg.d -%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/*.cfg -%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/README -%dir %{_sysconfdir}/cloud/templates -%config(noreplace) %{_sysconfdir}/cloud/templates/* -%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf - -%{_libexecdir}/%{name} -%dir %{_sharedstatedir}/cloud - -# Python code is here... -%{python_sitelib}/* diff --git a/packages/suse/cloud-init.spec.in b/packages/suse/cloud-init.spec.in deleted file mode 100644 index f994a0c..0000000 --- a/packages/suse/cloud-init.spec.in +++ /dev/null @@ -1,155 +0,0 @@ -## template: cheetah - -# See: http://www.zarb.org/~jasonc/macros.php -# Or: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets -# Or: http://www.rpm.org/max-rpm/ch-rpm-inside.html - -Name: cloud-init -Version: ${version} -Release: 1${subrelease}%{?dist} -Summary: Cloud instance init scripts - -Group: System/Management -License: GPLv3 -URL: http://launchpad.net/cloud-init - -Source0: ${archive_name} -BuildRoot: %{_tmppath}/%{name}-%{version}-build - -%if 0%{?suse_version} && 0%{?suse_version} <= 1110 -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} -%else -BuildArch: noarch -%endif - -BuildRequires: fdupes -BuildRequires: filesystem -BuildRequires: python-devel -BuildRequires: python-setuptools -BuildRequires: python-cheetah - -%if 0%{?suse_version} && 0%{?suse_version} <= 1210 - %define initsys sysvinit -%else - %define initsys systemd -%endif - -# System util packages needed -Requires: iproute2 -Requires: e2fsprogs -Requires: net-tools -Requires: procps -Requires: sudo - -# Install pypi 'dynamic' requirements -#for $r in $requires -Requires: ${r} -#end for - -# Custom patches -#set $size = 0 -#for $p in $patches -Patch${size}: $p -#set $size += 1 -#end for - -%description -Cloud-init is a set of init scripts for cloud instances. Cloud instances -need special scripts to run during initialization to retrieve and install -ssh keys and to let the user run various scripts. - -%prep -%setup -q -n ${source_name} - -# Custom patches activation -#set $size = 0 -#for $p in $patches -%patch${size} -p1 -#set $size += 1 -#end for - -%build -%{__python} setup.py build - -%install -%{__python} setup.py install \ - --skip-build --root=%{buildroot} --prefix=%{_prefix} \ - --record-rpm=INSTALLED_FILES --install-lib=%{python_sitelib} \ - --init-system=%{initsys} - -# Remove non-SUSE templates -rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.debian.* -rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.redhat.* -rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.ubuntu.* - -# Remove cloud-init tests -rm -r %{buildroot}/%{python_sitelib}/tests - -# Move sysvinit scripts to the correct place and create symbolic links -%if %{initsys} == sysvinit - mkdir -p %{buildroot}/%{_initddir} - mv %{buildroot}%{_sysconfdir}/rc.d/init.d/* %{buildroot}%{_initddir}/ - rmdir %{buildroot}%{_sysconfdir}/rc.d/init.d - rmdir %{buildroot}%{_sysconfdir}/rc.d - - mkdir -p %{buildroot}/%{_sbindir} - pushd %{buildroot}/%{_initddir} - for file in * ; do - ln -s %{_initddir}/\${file} %{buildroot}/%{_sbindir}/rc\${file} - done - popd -%endif - -# Move documentation -mkdir -p %{buildroot}/%{_defaultdocdir} -mv %{buildroot}/usr/share/doc/cloud-init %{buildroot}/%{_defaultdocdir} -for doc in TODO LICENSE ChangeLog requirements.txt; do - cp \${doc} %{buildroot}/%{_defaultdocdir}/cloud-init -done - -# Remove duplicate files -%if 0%{?suse_version} - %fdupes %{buildroot}/%{python_sitelib} -%endif - -mkdir -p %{buildroot}/var/lib/cloud - -%postun -%insserv_cleanup - -%files - -# Sysvinit scripts -%if %{initsys} == sysvinit - %attr(0755, root, root) %{_initddir}/cloud-config - %attr(0755, root, root) %{_initddir}/cloud-final - %attr(0755, root, root) %{_initddir}/cloud-init-local - %attr(0755, root, root) %{_initddir}/cloud-init - - %{_sbindir}/rccloud-* -%endif - -# Program binaries -%{_bindir}/cloud-init* - -# There doesn't seem to be an agreed upon place for these -# although it appears the standard says /usr/lib but rpmbuild -# will try /usr/lib64 ?? -/usr/lib/%{name}/uncloud-init -/usr/lib/%{name}/write-ssh-key-fingerprints - -# Docs -%doc %{_defaultdocdir}/cloud-init/* - -# Configs -%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg -%dir %{_sysconfdir}/cloud/cloud.cfg.d -%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/*.cfg -%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/README -%dir %{_sysconfdir}/cloud/templates -%config(noreplace) %{_sysconfdir}/cloud/templates/* - -# Python code is here... -%{python_sitelib}/* - -/var/lib/cloud diff --git a/tools/make-tarball b/tools/make-tarball index c150dd2..e349929 100755 --- a/tools/make-tarball +++ b/tools/make-tarball @@ -35,9 +35,13 @@ while [ $# -ne 0 ]; do done rev=${1:-HEAD} -version=$(git describe ${long_opt} $rev) +if [ -z "$ARCHIVE_BASE" ]; then + version=$(git describe ${long_opt} $rev) + archive_base="cloud-init-$version" +else + archive_base="$ARCHIVE_BASE" +fi -archive_base="cloud-init-$version" if [ -z "$output" ]; then output="$archive_base.tar.gz" fi
_______________________________________________ Mailing list: https://launchpad.net/~cloud-init-dev Post to : cloud-init-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~cloud-init-dev More help : https://help.launchpad.net/ListHelp