package/python-lockfile: new package
authorAdam Duskett <aduskett@greenlots.com>
Mon, 25 Nov 2019 19:38:49 +0000 (11:38 -0800)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 24 Dec 2019 14:45:57 +0000 (15:45 +0100)
The lockfile package exports a LockFile class which provides a
simple API for locking files. Unlike the Windows
msvcrt.locking function, the fcntl.lockf and flock functions,
and the deprecated posixfile module, the API is identical
across both Unix (including Linux and Mac) and Windows
platforms.

The lock mechanism relies on the atomic nature of the link
(on Unix) and mkdir (on Windows) system calls. An
implementation based on SQLite is also provided, more as a
demonstration of the possibilities it provides than as
production-quality code.

Signed-off-by: Adam Duskett <aduskett@greenlots.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
DEVELOPERS
package/Config.in
package/python-lockfile/Config.in [new file with mode: 0644]
package/python-lockfile/python-lockfile.hash [new file with mode: 0644]
package/python-lockfile/python-lockfile.mk [new file with mode: 0644]

index a125b45b387e717a8de5a6f616907c8eaca32641..e72ec0d70a26a65e8481ab012b239834aef97473 100644 (file)
@@ -63,6 +63,7 @@ F:    package/python-daphne/
 F:     package/python-django-enumfields/
 F:     package/python-flask-sqlalchemy/
 F:     package/python-gitdb2/
+F:     package/python-lockfile/
 F:     package/python-mutagen/
 F:     package/python-pbr/
 F:     package/python-pip/
index efe90dfc09702a5f7073d8fe4f68ef32624986ca..44e2b9fe31c9f40682e096aaf4865aa444cabfad 100644 (file)
@@ -976,6 +976,7 @@ menu "External python modules"
        source "package/python-libconfig/Config.in"
        source "package/python-libusb1/Config.in"
        source "package/python-lmdb/Config.in"
+       source "package/python-lockfile/Config.in"
        source "package/python-logbook/Config.in"
        source "package/python-logstash/Config.in"
        source "package/python-lxml/Config.in"
diff --git a/package/python-lockfile/Config.in b/package/python-lockfile/Config.in
new file mode 100644 (file)
index 0000000..0e4a0fd
--- /dev/null
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_PYTHON_LOCKFILE
+       bool "python-lockfile"
+       help
+         The lockfile package exports a LockFile class which provides a
+         simple API for locking files. Unlike the Windows
+         msvcrt.locking function, the fcntl.lockf and flock functions,
+         and the deprecated posixfile module, the API is identical
+         across both Unix (including Linux and Mac) and Windows
+         platforms.
+
+         The lock mechanism relies on the atomic nature of the link
+         (on Unix) and mkdir (on Windows) system calls. An
+         implementation based on SQLite is also provided, more as a
+         demonstration of the possibilities it provides than as
+         production-quality code.
+
+         https://pypi.org/project/lockfile/
diff --git a/package/python-lockfile/python-lockfile.hash b/package/python-lockfile/python-lockfile.hash
new file mode 100644 (file)
index 0000000..ac1b7d2
--- /dev/null
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/project/lockfile/#copy-hash-modal-3c1db9ec-dd6e-4d06-8543-91094f428ac0
+md5    a6a1a82957a23afdf44cfdd039b65ff9  lockfile-0.12.2.tar.gz
+sha256 6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799  lockfile-0.12.2.tar.gz
+# Locally computed sha256
+sha256 a26276d53dacb369641f31aa0fe37216028a0d93753f862ae206ce04f54b7b29 LICENSE
diff --git a/package/python-lockfile/python-lockfile.mk b/package/python-lockfile/python-lockfile.mk
new file mode 100644 (file)
index 0000000..212edcd
--- /dev/null
@@ -0,0 +1,15 @@
+################################################################################
+#
+# python-lockfile
+#
+################################################################################
+
+PYTHON_LOCKFILE_VERSION = 0.12.2
+PYTHON_LOCKFILE_SOURCE = lockfile-$(PYTHON_LOCKFILE_VERSION).tar.gz
+PYTHON_LOCKFILE_SITE = https://files.pythonhosted.org/packages/17/47/72cb04a58a35ec495f96984dddb48232b551aafb95bde614605b754fe6f7
+PYTHON_LOCKFILE_SETUP_TYPE = setuptools
+PYTHON_LOCKFILE_LICENSE = MIT
+PYTHON_LOCKFILE_LICENSE_FILES = LICENSE
+PYTHON_LOCKFILE_DEPENDENCIES = host-python-pbr
+
+$(eval $(python-package))