pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

py-cloud-init: add version 22.4.2.



Module Name:	pkgsrc-wip
Committed By:	Havard Eidnes <he%NetBSD.org@localhost>
Pushed By:	he
Date:		Sun Feb 5 17:57:28 2023 +0000
Changeset:	32c872fe6e0320529c811afddf39f89f452b5017

Added Files:
	py-cloud-init/DESCR
	py-cloud-init/Makefile
	py-cloud-init/PLIST
	py-cloud-init/TODO
	py-cloud-init/distinfo

Log Message:
py-cloud-init: add version 22.4.2.

Program to consume & act on cloud initialization data.

This one does not build or install on NetBSD, there is
a fair bit of GNUisms and Linux-isms in the self-tests,
which Makefile insists on must pass, the code itself may
also have those.

Also need to figure out how this package is supposed to be built
and installed, instructions on those points appear to not be included
in the source distribution, at least not prominently visible.

The package dependency graph for this one is rather large,
it includes both python (of course), perl5, and rust(!).  Some of
those might not be run-time dependencies, though, but still...

See the TODO file for "unfinished business", including a more
detailed review of the failing self-tests.

The lighter-weight approach of the NetBSD in-tree script at

  src/distrib/utils/embedded/files/ec2_init

might warrant a closer look as a (much!) simpler and light-weight
alternative to this to do the absolute minimum.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=32c872fe6e0320529c811afddf39f89f452b5017

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 py-cloud-init/DESCR    | 17 +++++++++++++++++
 py-cloud-init/Makefile | 36 ++++++++++++++++++++++++++++++++++++
 py-cloud-init/PLIST    |  0
 py-cloud-init/TODO     | 38 ++++++++++++++++++++++++++++++++++++++
 py-cloud-init/distinfo |  5 +++++
 5 files changed, 96 insertions(+)

diffs:
diff --git a/py-cloud-init/DESCR b/py-cloud-init/DESCR
new file mode 100644
index 0000000000..ed65df3cd4
--- /dev/null
+++ b/py-cloud-init/DESCR
@@ -0,0 +1,17 @@
+Cloud-init is the industry standard multi-distribution method for
+cross-platform cloud instance initialization. It is supported across
+all major public cloud providers, provisioning systems for private
+cloud infrastructure, and bare-metal installations.
+
+Cloud instances are initialized from a disk image and instance data:
+
+  - Cloud metadata
+  - User data (optional)
+  - Vendor data (optional)
+
+Cloud-init will identify the cloud it is running on during boot,
+read any provided metadata from the cloud and initialize the system
+accordingly. This may involve setting up network and storage devices
+to configuring SSH access key and many other aspects of a system.
+Later on cloud-init will also parse and process any optional user
+or vendor data that was passed to the instance.
diff --git a/py-cloud-init/Makefile b/py-cloud-init/Makefile
new file mode 100644
index 0000000000..0ae81df6a4
--- /dev/null
+++ b/py-cloud-init/Makefile
@@ -0,0 +1,36 @@
+# $NetBSD$
+
+DISTNAME=	cloud-init-22.4.2
+PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES=	devel
+MASTER_SITES=	${MASTER_SITE_GITHUB:=canonical/}
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://cloud-init.io/
+COMMENT=	Industry-standard cloud instance initialization
+LICENSE=	gnu-gpl-3 OR apache-2.0
+
+USE_TOOLS+=	gmake
+
+DEPENDS+=	${PYPKGPREFIX}-jinja2-[0-9]*:../../textproc/py-jinja2
+DEPENDS+=	${PYPKGPREFIX}-oauthlib-[0-9]*:../../security/py-oauthlib
+DEPENDS+=	${PYPKGPREFIX}-serial-[0-9]*:../../comms/py-serial
+DEPENDS+=	${PYPKGPREFIX}-configobj-[0-9]*:../../devel/py-configobj
+DEPENDS+=	${PYPKGPREFIX}-yaml-[0-9]*:../../textproc/py-yaml
+DEPENDS+=	${PYPKGPREFIX}-requests-[0-9]*:../../devel/py-requests
+DEPENDS+=	${PYPKGPREFIX}-jsonschema-[0-9]*:../../textproc/py-jsonschema
+DEPENDS+=	${PYPKGPREFIX}-netifaces>=0.10.4:../../net/py-netifaces
+# for testing:
+DEPENDS+=	${PYPKGPREFIX}-responses-[0-9]*:../../net/py-responses
+DEPENDS+=	${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
+DEPENDS+=	${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
+DEPENDS+=	${PYPKGPREFIX}-test-cov-[0-9]*:../../devel/py-test-cov
+DEPENDS+=	${PYPKGPREFIX}-test-mock-[0-9]*:../../devel/py-test-mock
+
+# WIP pkgs:
+DEPENDS+=	${PYPKGPREFIX}-jsonpatch-[0-9]*:../../wip/py-jsonpatch
+
+MAKE_ENV+=	VARIANT=${OPSYS:tl}
+
+.include "../../lang/python/application.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-cloud-init/PLIST b/py-cloud-init/PLIST
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/py-cloud-init/TODO b/py-cloud-init/TODO
new file mode 100644
index 0000000000..d0266a7ca8
--- /dev/null
+++ b/py-cloud-init/TODO
@@ -0,0 +1,38 @@
+Figure out how to install this thing.
+ * Makefile insists on tests succeeding.
+ * Makefile has no "install" target.
+ * No "building" instructions in sight.
+
+Fix self tests so they succeed (or the relevant tests are skipped on NetBSD):
+
+ * TestGetLinuxDistro.test_get_linux_distro_no_data
+   TestGetLinuxDistro.test_get_linux_distro_no_impl
+   TestGetLinuxDistro.test_get_linux_distro_plat_data
+   These should probably be skipped.
+
+ * TestParseTimestamp.test_parse_unexpected_timestamp_format_with_date_command
+   Expects "date" to behave as on Linux.
+   GNUism.  Should probably be skipped.
+
+ * TestClean.test_remove_artifacts_runparts_clean_d
+   Have not figured out what that's about.
+   Assumption that /bin/bash exists, it looks like?
+   Linuxism...
+
+ * TestAzureDataSource.test_crawl_metadata_on_reprovision_reports_ready_using_lease
+   TestPreprovisioningHotAttachNics.test_detect_nic_attach_reports_ready_and_waits_for_detach
+   TestPreprovisioningHotAttachNics.test_wait_for_nic_attach_multinic_attach
+   TestPreprovisioningPollIMDS.test_poll_imds_re_dhcp_on_timeout
+   TestPreprovisioningPollIMDS.test_poll_imds_report_ready_failure_raises_exc_and_doesnt_write_marker
+   TestPreprovisioningPollIMDS.test_poll_imds_report_ready_success_writes_marker_file
+   TestAzureDataSourcePreprovisioning.test__reprovision_calls__poll_imds
+   TestAzureDataSourcePreprovisioning.test_poll_imds_returns_ovf_env
+   TestDatasourceOVF.test_get_data_iso9660_with_network_config
+   TestCreateBoundNetlinkSocket.test_socket_error_on_create
+
+   AttributeError: module 'socket' has no attribute 'AF_NETLINK'. Did you mean: 'AF_LINK'?
+   Another Linuxism.
+
+ * TestDataSourceVMware.test_no_data_access_method
+   Exception: called subp. set self.allowed_subp=True to allow
+   can't run dmidecode as unprivileged user
diff --git a/py-cloud-init/distinfo b/py-cloud-init/distinfo
new file mode 100644
index 0000000000..c9f83f760c
--- /dev/null
+++ b/py-cloud-init/distinfo
@@ -0,0 +1,5 @@
+$NetBSD$
+
+BLAKE2s (cloud-init-22.4.2.tar.gz) = 71d76f2773d2c94ad7e8b5b353b118016102d536b6d1ea06c990bf9f84e88135
+SHA512 (cloud-init-22.4.2.tar.gz) = b7d4629205ef2b184786908a3f922d635c811fed8f468649b1a892e93fbcbd54bc9eb366a49ceefb33acd32de1fc8d1a9a34c577c3b9d77825deb5f24e4fe18e
+Size (cloud-init-22.4.2.tar.gz) = 1511043 bytes


Home | Main Index | Thread Index | Old Index