[Buildroot] [PATCH v3 2/2] python-psycopg2: new package
Yegor Yefremov
yegorslists at googlemail.com
Mon Mar 12 10:34:15 UTC 2018
On Mon, Mar 12, 2018 at 11:12 AM, Adam Duskett <aduskett at gmail.com> wrote:
> Psycopg is the most popular PostgreSQL database adapter for the Python
> programming language. Its main features are the complete implementation of the
> Python DB API 2.0 specification and the thread safety (several threads can
> share the same connection). It was designed for heavily multi-threaded
> applications that create and destroy lots of cursors and make a large number of
> concurrent INSERTs or UPDATEs.
>
> Signed-off-by: Adam Duskett <aduskett at gmail.com>
> ---
> Changes v1 -> v2:
> - None
>
> Changes v2 -> v3:
> - Removed python-psycopg2/0001-don-t-use-pg_config.patch
> - Added PYTHON_PSYCOPG2_BUILD_OPTS and PYTHON_PSYCOPG2_INSTALL_TARGET_OPTS
> to point towards Buildroots own pg_config file. (Thomas)
> - Updated to 2.7.4
>
> DEVELOPERS | 1 +
> package/Config.in | 1 +
> package/python-psycopg2/Config.in | 22 ++++++++++++++++++++++
> package/python-psycopg2/python-psycopg2.hash | 4 ++++
> package/python-psycopg2/python-psycopg2.mk | 21 +++++++++++++++++++++
> 5 files changed, 49 insertions(+)
> create mode 100644 package/python-psycopg2/Config.in
> create mode 100644 package/python-psycopg2/python-psycopg2.hash
> create mode 100644 package/python-psycopg2/python-psycopg2.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 3df820e712..6329bcde2d 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -53,6 +53,7 @@ F: package/nginx-naxsi/
> F: package/policycoreutils/
> F: package/python-flask-sqlalchemy/
> F: package/python-mutagen/
> +F: package/python-psycopg2/
> F: package/python-sqlalchemy/
> F: package/restorecond/
> F: package/refpolicy/
> diff --git a/package/Config.in b/package/Config.in
> index 449ffcc47b..d40170ccf9 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -856,6 +856,7 @@ menu "External python modules"
> source "package/python-prompt-toolkit/Config.in"
> source "package/python-protobuf/Config.in"
> source "package/python-psutil/Config.in"
> + source "package/python-psycopg2/Config.in"
> source "package/python-ptyprocess/Config.in"
> source "package/python-pudb/Config.in"
> source "package/python-pyasn/Config.in"
> diff --git a/package/python-psycopg2/Config.in b/package/python-psycopg2/Config.in
> new file mode 100644
> index 0000000000..ec852bb49e
> --- /dev/null
> +++ b/package/python-psycopg2/Config.in
> @@ -0,0 +1,22 @@
> +config BR2_PACKAGE_PYTHON_PSYCOPG2
> + bool "python-psycopg2"
> + select BR2_PACKAGE_POSTGRESQL
> + help
> + Psycopg is the most popular PostgreSQL database adapter for
> + the Python programming language. Its main features are the
> + complete implementation of the Python DB API 2.0 specification
> + and the thread safety (several threads can share the same
> + connection). It was designed for heavily multi-threaded
> + applications that create and destroy lots of cursors and make
> + a large number of concurrent INSERTs or UPDATEs.
> +
> + Psycopg 2 is mostly implemented in C as a libpq wrapper,
> + resulting in being both efficient and secure. It features
> + client-side and server-side cursors, asynchronous
> + communication and notifications, COPY support. Many Python
> + types are supported out-of-the-box and adapted to matching
> + PostgreSQL data types; adaptation can be extended and
> + customized thanks to a flexible objects adaptation system.
> + Psycopg 2 is both Unicode and Python 3 friendly.
> +
> + http://initd.org/psycopg/
Postgresql deps are missing:
comment "postgresql needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
With these changes applied you can add my
Reviewed-by: Yegor Yefremov <yegorslists at googlemail.com>
Yegor
> diff --git a/package/python-psycopg2/python-psycopg2.hash b/package/python-psycopg2/python-psycopg2.hash
> new file mode 100644
> index 0000000000..ea4a07697b
> --- /dev/null
> +++ b/package/python-psycopg2/python-psycopg2.hash
> @@ -0,0 +1,4 @@
> +# md5 from https://pypi.python.org/pypi/psycopg2/json, sha256 locally computed
> +md5 70fc57072e084565a42689d416cf2c5c psycopg2-2.7.4.tar.gz
> +sha256 8bf51191d60f6987482ef0cfe8511bbf4877a5aa7f313d7b488b53189cf26209 psycopg2-2.7.4.tar.gz
> +sha256 1752db3c786e12b62ca804178dca033adce8bff4c4b3d98d3449d407fe45210d LICENSE
> diff --git a/package/python-psycopg2/python-psycopg2.mk b/package/python-psycopg2/python-psycopg2.mk
> new file mode 100644
> index 0000000000..3cb8c85778
> --- /dev/null
> +++ b/package/python-psycopg2/python-psycopg2.mk
> @@ -0,0 +1,21 @@
> +################################################################################
> +#
> +# python-psycopg2
> +#
> +################################################################################
> +
> +PYTHON_PSYCOPG2_VERSION = 2.7.4
> +PYTHON_PSYCOPG2_SOURCE = psycopg2-$(PYTHON_PSYCOPG2_VERSION).tar.gz
> +PYTHON_PSYCOPG2_SITE = https://pypi.python.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462
> +PYTHON_PSYCOPG2_SETUP_TYPE = setuptools
> +PYTHON_PSYCOPG2_LICENSE = LGPL-3.0+
> +PYTHON_PSYCOPG2_LICENSE_FILES = LICENSE
> +PYTHON_PSYCOPG2_DEPENDENCIES = postgresql
> +
> +# Force psycopg2 to use the BuildRoot provided postgresql version instead of
> +# The host machines
> +PYTHON_PSYCOPG2_BUILD_OPTS += build_ext --pg-config=$(STAGING_DIR)/usr/bin/pg_config
> +
> +PYTHON_PSYCOPG2_INSTALL_TARGET_OPTS += build_ext --pg-config=$(STAGING_DIR)/usr/bin/pg_config
> +
> +$(eval $(python-package))
> --
> 2.14.3
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot<div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 12, 2018 at 11:12 AM, Adam Duskett <span dir="ltr"><<a href="mailto:aduskett at gmail.com" target="_blank">aduskett at gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Psycopg is the most popular PostgreSQL database adapter for the Python<br>
programming language. Its main features are the complete
implementation of the<br>
Python DB API 2.0 specification and the thread safety (several threads can<br>
share the same connection). It was designed for heavily multi-threaded<br>
applications that create and destroy lots of cursors and make a large
number of<br>
concurrent INSERTs or UPDATEs.<br>
<br>
Signed-off-by: Adam Duskett <<a
href="mailto:aduskett at gmail.com">aduskett at gmail.com</a>><br>
---<br>
Changes v1 -> v2:<br>
- None<br>
<br>
Changes v2 -> v3:<br>
- Removed python-psycopg2/0001-don-t-<wbr>use-pg_config.patch<br>
- Added PYTHON_PSYCOPG2_BUILD_OPTS and
PYTHON_PSYCOPG2_INSTALL_<wbr>TARGET_OPTS<br>
to point towards Buildroots own pg_config file. (Thomas)<br>
- Updated to 2.7.4<br>
<br>
DEVELOPERS
| 1 +<br>
package/Config.in
| 1
+<br>
package/python-psycopg2/<wbr>Config.in
| 22 ++++++++++++++++++++++<br>
package/python-psycopg2/<wbr>python-psycopg2.hash | 4 ++++<br>
package/python-psycopg2/<a href="http://python-psycopg2.mk"
data-saferedirecturl="https://www.google.com/url?hl=en&q=http://python-psycopg2.mk&source=gmail&ust=1520936994549000&usg=AFQjCNFeItpacXzQMw7mFCro5y6_2TwVNg"
rel="noreferrer" target="_blank">python<wbr>-psycopg2.mk</a>
| 21 +++++++++++++++++++++<br>
5 files changed, 49 insertions(+)<br>
create mode 100644 package/python-psycopg2/<wbr>Config.in<br>
create mode 100644 package/python-psycopg2/<wbr>python-psycopg2.hash<br>
create mode 100644 package/python-psycopg2/<a
href="http://python-psycopg2.mk"
data-saferedirecturl="https://www.google.com/url?hl=en&q=http://python-psycopg2.mk&source=gmail&ust=1520936994550000&usg=AFQjCNF6eQQgAZXDwH-sX_XlbMCbepnKvg"
rel="noreferrer" target="_blank">python<wbr>-psycopg2.mk</a><br>
<br>
diff --git a/DEVELOPERS b/DEVELOPERS<br>
index 3df820e712..6329bcde2d 100644<br>
--- a/DEVELOPERS<br>
+++ b/DEVELOPERS<br>
@@ -53,6 +53,7 @@ F: package/nginx-naxsi/<br>
F: package/policycoreutils/<br>
F: package/python-flask-<wbr>sqlalchemy/<br>
F: package/python-mutagen/<br>
+F: package/python-psycopg2/<br>
F: package/python-sqlalchemy/<br>
F: package/restorecond/<br>
F: package/refpolicy/<br>
diff --git a/package/Config.in b/package/Config.in<br>
index 449ffcc47b..d40170ccf9 100644<br>
--- a/package/Config.in<br>
+++ b/package/Config.in<br>
@@ -856,6 +856,7 @@ menu "External python modules"<br>
source
"package/python-prompt-<wbr>toolkit/Config.in"<br>
source "package/python-protobuf/<wbr>Config.in"<br>
source "package/python-psutil/Config.<wbr>in"<br>
+ source "package/python-psycopg2/<wbr>Config.in"<br>
source
"package/python-ptyprocess/<wbr>Config.in"<br>
source "package/python-pudb/Config.<wbr>in"<br>
source "package/python-pyasn/Config.<wbr>in"<br>
diff --git a/package/python-psycopg2/<wbr>Config.in
b/package/python-psycopg2/<wbr>Config.in<br>
new file mode 100644<br>
index 0000000000..ec852bb49e<br>
--- /dev/null<br>
+++ b/package/python-psycopg2/<wbr>Config.in<br>
@@ -0,0 +1,22 @@<br>
+config BR2_PACKAGE_PYTHON_PSYCOPG2<br>
+ bool "python-psycopg2"<br>
+ select BR2_PACKAGE_POSTGRESQL<br>
+ help<br>
+ Psycopg is the most popular
PostgreSQL database adapter for<br>
+ the Python programming language.
Its main features are the<br>
+ complete implementation of the
Python DB API 2.0 specification<br>
+ and the thread safety (several
threads can share the same<br>
+ connection). It was designed for
heavily multi-threaded<br>
+ applications that create and
destroy lots of cursors and make<br>
+ a large number of concurrent
INSERTs or UPDATEs.<br>
+<br>
+ Psycopg 2 is mostly implemented in
C as a libpq wrapper,<br>
+ resulting in being both efficient
and secure. It features<br>
+ client-side and server-side
cursors, asynchronous<br>
+ communication and notifications,
COPY support. Many Python<br>
+ types are supported out-of-the-box
and adapted to matching<br>
+ PostgreSQL data types; adaptation
can be extended and<br>
+ customized thanks to a flexible
objects adaptation system.<br>
+ Psycopg 2 is both Unicode and
Python 3 friendly.<br>
+<br>
+ <a href="http://initd.org/psycopg/"
data-saferedirecturl="https://www.google.com/url?hl=en&q=http://initd.org/psycopg/&source=gmail&ust=1520936994550000&usg=AFQjCNExcJs6P0RwG9xs65ktEQKMNYO-Lw"
rel="noreferrer" target="_blank">http://initd.org/psycopg/</a><br>
diff --git a/package/python-psycopg2/<wbr>python-psycopg2.hash
b/package/python-psycopg2/<wbr>python-psycopg2.hash<br>
new file mode 100644<br>
index 0000000000..ea4a07697b<br>
--- /dev/null<br>
+++ b/package/python-psycopg2/<wbr>python-psycopg2.hash<br>
@@ -0,0 +1,4 @@<br>
+# md5 from <a href="https://pypi.python.org/pypi/psycopg2/json"
data-saferedirecturl="https://www.google.com/url?hl=en&q=https://pypi.python.org/pypi/psycopg2/json&source=gmail&ust=1520936994551000&usg=AFQjCNFBZ2ZGn1_7vjNz1EICtNJfxppeiQ"
rel="noreferrer"
target="_blank">https://pypi.python.org/pypi/<wbr>psycopg2/json</a>,
sha256 locally computed<br>
+md5 70fc57072e084565a42689d416cf2c<wbr>5c
psycopg2-2.7.4.tar.gz<br>
+sha256 8bf51191d60f6987482ef0cfe8511b<wbr>bf4877a5aa7f313d7b488b53189cf2<wbr>6209
psycopg2-2.7.4.tar.gz<br>
+sha256 1752db3c786e12b62ca804178dca03<wbr>3adce8bff4c4b3d98d3449d407fe45<wbr>210d
LICENSE<br>
diff --git a/package/python-psycopg2/<a
href="http://python-psycopg2.mk"
data-saferedirecturl="https://www.google.com/url?hl=en&q=http://python-psycopg2.mk&source=gmail&ust=1520936994551000&usg=AFQjCNGAOhS0vQFFkraTzmuC1DNlw846lQ"
rel="noreferrer" target="_blank">pyth<wbr>on-psycopg2.mk</a>
b/package/python-psycopg2/<a href="http://python-psycopg2.mk"
data-saferedirecturl="https://www.google.com/url?hl=en&q=http://python-psycopg2.mk&source=gmail&ust=1520936994551000&usg=AFQjCNGAOhS0vQFFkraTzmuC1DNlw846lQ"
rel="noreferrer" target="_blank">pyth<wbr>on-psycopg2.mk</a><br>
new file mode 100644<br>
index 0000000000..3cb8c85778<br>
--- /dev/null<br>
+++ b/package/python-psycopg2/<a href="http://python-psycopg2.mk"
data-saferedirecturl="https://www.google.com/url?hl=en&q=http://python-psycopg2.mk&source=gmail&ust=1520936994551000&usg=AFQjCNGAOhS0vQFFkraTzmuC1DNlw846lQ"
rel="noreferrer" target="_blank">pyth<wbr>on-psycopg2.mk</a><br>
@@ -0,0 +1,21 @@<br>
+#############################<wbr>##############################<wbr>#####################<br>
+#<br>
+# python-psycopg2<br>
+#<br>
+#############################<wbr>##############################<wbr>#####################<br>
+<br>
+PYTHON_PSYCOPG2_VERSION = 2.7.4<br>
+PYTHON_PSYCOPG2_SOURCE = psycopg2-$(PYTHON_PSYCOPG2_<wbr>VERSION).tar.gz<br>
+PYTHON_PSYCOPG2_SITE = <a
href="https://pypi.python.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462
+PYTHON_PSYCOPG2_SETUP_TYPE"
data-saferedirecturl="https://www.google.com/url?hl=en&q=https://pypi.python.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462%0A%2BPYTHON_PSYCOPG2_SETUP_TYPE&source=gmail&ust=1520936994552000&usg=AFQjCNF85R-cL8pLEMOaqL4RdeoG_-P9tw"
rel="noreferrer"
target="_blank">https://pypi.python.org/<wbr>packages/74/83/<wbr>51580322ed0e82cba7ad8e0af590b8<wbr>fb2cf11bd5aaa1ed872661bd36f462<br>
+PYTHON_PSYCOPG2_SETUP_TYPE</a> = setuptools<br>
+PYTHON_PSYCOPG2_LICENSE = LGPL-3.0+<br>
+PYTHON_PSYCOPG2_LICENSE_FILES = LICENSE<br>
+PYTHON_PSYCOPG2_DEPENDENCIES = postgresql<br>
+<br>
+# Force psycopg2 to use the BuildRoot provided postgresql version
instead of<br>
+# The host machines<br>
+PYTHON_PSYCOPG2_BUILD_OPTS += build_ext
--pg-config=$(STAGING_DIR)/<wbr>usr/bin/pg_config<br>
+<br>
+PYTHON_PSYCOPG2_INSTALL_<wbr>TARGET_OPTS += build_ext
--pg-config=$(STAGING_DIR)/<wbr>usr/bin/pg_config<br>
+<br>
+$(eval $(python-package))<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.14.3<br>
<br>
______________________________<wbr>_________________<br>
buildroot mailing list<br>
<a href="mailto:buildroot at busybox.net">buildroot at busybox.net</a><br>
<a href="http://lists.busybox.net/mailman/listinfo/buildroot"
data-saferedirecturl="https://www.google.com/url?hl=en&q=http://lists.busybox.net/mailman/listinfo/buildroot&source=gmail&ust=1520936994553000&usg=AFQjCNF0g03-hvo6DFfcvbxl6t7ldPQ_JA"
rel="noreferrer"
target="_blank">http://lists.busybox.net/<wbr>mailman/listinfo/buildroot</a><br>
</font></span></blockquote></div><br></div>
More information about the buildroot
mailing list