[Buildroot] [PATCH v3 2/2] python-psycopg2: new package

Adam Duskett aduskett at gmail.com
Mon Mar 12 13:11:44 UTC 2018


On Mon, Mar 12, 2018 at 8:37 AM, Yegor Yefremov
<yegorslists at googlemail.com> wrote:
> On Mon, Mar 12, 2018 at 12:26 PM, Adam Duskett <aduskett at gmail.com> wrote:
>> Hey Yegor;
>>
>> On Mon, Mar 12, 2018 at 6:34 AM, Yegor Yefremov
>> <yegorslists at googlemail.com> wrote:
>>> 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
>>>
>> This isn't necessary is it? psycopg2 can't be selected unless
>> python2/3 is selected, and those
>> require a dynamic library.
>
> You're right.
>
> Yegor
>
Awesome!
>> Adam
>>
>>>> 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>
> <div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 12,
> 2018 at 12:26 PM, 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">Hey Yegor;<br>
> <div><div class="h5"><br>
> On Mon, Mar 12, 2018 at 6:34 AM, Yegor Yefremov<br>
> <<a href="mailto:yegorslists at googlemail.com">yegorslists at googlemail.com</a>>
> wrote:<br>
> > On Mon, Mar 12, 2018 at 11:12 AM, Adam Duskett <<a
> href="mailto:aduskett at gmail.com">aduskett at gmail.com</a>> wrote:<br>
> >> 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=1520944640732000&usg=AFQjCNEgP8pIR26DFhM6VnwoURjWTLsPVw"
> 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=1520944640733000&usg=AFQjCNFWR_z5FmlmrCG_JwL1MdPItsNoIA"
> 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=1520944640734000&usg=AFQjCNFzqDDI3Nhhz7RFsdGOmD06X-qdCA"
> rel="noreferrer" target="_blank">http://initd.org/psycopg/</a><br>
> ><br>
> > Postgresql deps are missing:<br>
> ><br>
> > comment "postgresql needs a toolchain w/ dynamic library"<br>
> >         depends on BR2_STATIC_LIBS<br>
> ><br>
> > With these changes applied you can add my<br>
> ><br>
> > Reviewed-by: Yegor Yefremov <<a
> href="mailto:yegorslists at googlemail.com">yegorslists at googlemail.com</a>><br>
> ><br>
> > Yegor<br>
> ><br>
> </div></div>This isn't necessary is it? psycopg2 can't be selected unless<br>
> python2/3 is selected, and those<br>
> require a dynamic library.<br>
> <span class="HOEnZb"><font color="#888888"><br>
> Adam<br>
> </font></span><div class="HOEnZb"><div class="h5"><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=1520944640735000&usg=AFQjCNGFld7Xojdxedc8g_AMjsAzw9WmcQ"
> 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=1520944640735000&usg=AFQjCNEn4GxgU6TSBa9yjyUYUcbIvj2HtA"
> 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=1520944640735000&usg=AFQjCNEn4GxgU6TSBa9yjyUYUcbIvj2HtA"
> 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=1520944640735000&usg=AFQjCNEn4GxgU6TSBa9yjyUYUcbIvj2HtA"
> 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"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://pypi.python.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462&source=gmail&ust=1520944640736000&usg=AFQjCNFLMzp_GAdJ9gltSmoDCJacm4jJFg"
> rel="noreferrer"
> target="_blank">https://pypi.python.org/<wbr>packages/74/83/<wbr>51580322ed0e82cba7ad8e0af590b8<wbr>fb2cf11bd5aaa1ed872661bd36f462</a><br>
> >> +PYTHON_PSYCOPG2_SETUP_TYPE = 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>
> >> --<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=1520944640736000&usg=AFQjCNHYL3U_302pR3yaNNQswMpzXZPZHA"
> rel="noreferrer"
> target="_blank">http://lists.busybox.net/<wbr>mailman/listinfo/buildroot</a><div
> class="gmail_extra"><br><div class="gmail_quote">On
> Mon, Mar 12, 2018 at 11:12 AM, Adam Duskett <span
> dir="ltr">&lt;<a href="mailto:<a
> href="mailto:aduskett at gmail.com">aduskett at gmail.<wbr>com</a>"
> target="_blank"><a
> href="mailto:aduskett at gmail.com">aduskett@<wbr>gmail.com</a></a>&gt;</span>
> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0
> .8ex;border-left:1px #ccc solid;padding-left:1ex"><wbr>Psycopg is
> the most popular PostgreSQL database adapter for the
> Python<br><br>
> > programming language. Its main features are the complete<br>
> > implementation of the<br><br>
> > Python DB API 2.0 specification and the thread safety (several
> threads can<br><br>
> > share the same connection). It was designed for heavily
> multi-threaded<br><br>
> > applications that create and destroy lots of cursors and make a large<br>
> > number of<br><br>
> > concurrent INSERTs or UPDATEs.<br><br>
> > <br><br>
> > Signed-off-by: Adam Duskett &lt;<a<br>
> > href="mailto:<a
> href="mailto:aduskett at gmail.com">aduskett at gmail.<wbr>com</a>"><a
> href="mailto:aduskett at gmail.com">aduskett at gmail.com</a></a>&<wbr>gt;<br><br>
> > ---<br><br>
> > Changes v1 -&gt; v2:<br><br>
> > &nbsp; - None<br><br>
> > <br><br>
> > Changes v2 -&gt; v3:<br><br>
> > &nbsp; - Removed
> python-psycopg2/0001-don-t-<<wbr>wbr>use-pg_config.patch<br><br>
> > &nbsp; - Added PYTHON_PSYCOPG2_BUILD_OPTS and<br>
> > PYTHON_PSYCOPG2_INSTALL_<wbr><wbr>TARGET_OPTS<br><br>
> > &nbsp; &nbsp; to point towards Buildroots own pg_config
> file. (Thomas)<br><br>
> > &nbsp; - Updated to 2.7.4<br><br>
> > <br><br>
> > &nbsp;DEVELOPERS&nbsp; &nbsp; &nbsp; &nbsp;
> &nbsp; &nbsp; &nbsp;<br>
> > &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
> &nbsp; &nbsp; &nbsp; &nbsp;<br>
> > &nbsp;|&nbsp; 1 +<br><br>
> > &nbsp;package/Config.in&nbsp; &nbsp; &nbsp;
> &nbsp; &nbsp; &nbsp;<br>
> > &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
> &nbsp; &nbsp; |&nbsp; 1<br>
> > +<br><br>
> > &nbsp;package/python-psycopg2/<wbr><wbr>Config.in&nbsp;
> &nbsp; &nbsp;<br>
> > &nbsp; &nbsp; &nbsp; | 22 ++++++++++++++++++++++<br><br>
> > &nbsp;package/python-psycopg2/<wbr><wbr>python-psycopg2.hash
> |&nbsp; 4 ++++<br><br>
> > &nbsp;package/python-psycopg2/<wbr><a href="<a
> href="http://python-psycopg2.mk"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://python-psycopg2.mk&source=gmail&ust=1520944640738000&usg=AFQjCNFl6wCMoNbgP3GmElMlTQObBnI7HQ"
> rel="noreferrer"
> target="_blank">http://python-psycopg2.<wbr>mk</a>"<br>
> > data-saferedirecturl="<a
> href="https://www.google.com/url?hl=en&amp;q=http://python-psycopg2.mk&amp;source=gmail&amp;ust=1520936994549000&amp;usg=AFQjCNFeItpacXzQMw7mFCro5y6_2TwVNg"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.google.com/url?hl%3Den%26amp;q%3Dhttp://python-psycopg2.mk%26amp;source%3Dgmail%26amp;ust%3D1520936994549000%26amp;usg%3DAFQjCNFeItpacXzQMw7mFCro5y6_2TwVNg&source=gmail&ust=1520944640738000&usg=AFQjCNHfS5YzY0vUdFZQ6eSqg9YaqhxR7g"
> rel="noreferrer"
> target="_blank">https://<wbr>www.google.com/url?hl=en&amp;<wbr>q=http://python-psycopg2.mk&<wbr>amp;source=gmail&amp;ust=<wbr>1520936994549000&amp;usg=<wbr>AFQjCNFeItpacXzQMw7mFCro5y6_<wbr>2TwVNg</a>"<br>
> > rel="noreferrer" target="_blank">python<wbr>-<a
> href="http://psycopg2.mk"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://psycopg2.mk&source=gmail&ust=1520944640738000&usg=AFQjCNGMnpSYeD53tuDbZK-wNeDkLrs5AQ"
> rel="noreferrer"
> target="_blank">ps<wbr>ycopg2.mk</a></a>&nbsp;<br>
> > &nbsp;| 21 +++++++++++++++++++++<br><br>
> > &nbsp;5 files changed, 49 insertions(+)<br><br>
> > &nbsp;create mode 100644
> package/python-psycopg2/<wbr><wbr>Config.in<br><br>
> > &nbsp;create mode 100644
> package/python-psycopg2/<wbr><wbr>python-psycopg2.hash<br><br>
> > &nbsp;create mode 100644 package/python-psycopg2/<a<br>
> > href="<a href="http://python-psycopg2.mk"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://python-psycopg2.mk&source=gmail&ust=1520944640739000&usg=AFQjCNEnyFYKr1-FUBYgzg1Em-hQUQF6CA"
> rel="noreferrer"
> target="_blank">http://python-psycopg2.<wbr>mk</a>"<br>
> > data-saferedirecturl="<a
> href="https://www.google.com/url?hl=en&amp;q=http://python-psycopg2.mk&amp;source=gmail&amp;ust=1520936994550000&amp;usg=AFQjCNF6eQQgAZXDwH-sX_XlbMCbepnKvg"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.google.com/url?hl%3Den%26amp;q%3Dhttp://python-psycopg2.mk%26amp;source%3Dgmail%26amp;ust%3D1520936994550000%26amp;usg%3DAFQjCNF6eQQgAZXDwH-sX_XlbMCbepnKvg&source=gmail&ust=1520944640739000&usg=AFQjCNGS22h11Te3yBsCPjemtYwPpbK72w"
> rel="noreferrer"
> target="_blank">https://<wbr>www.google.com/url?hl=en&amp;<wbr>q=http://python-psycopg2.mk&<wbr>amp;source=gmail&amp;ust=<wbr>1520936994550000&amp;usg=<wbr>AFQjCNF6eQQgAZXDwH-sX_<wbr>XlbMCbepnKvg</a>"<br>
> > rel="noreferrer" target="_blank">python<wbr>-<a
> href="http://psycopg2.mk"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://psycopg2.mk&source=gmail&ust=1520944640739000&usg=AFQjCNGSOfNn17d8YXSs2bAqTFVArZ0I8g"
> rel="noreferrer"
> target="_blank">ps<wbr>ycopg2.mk</a></a><br><br>
> > <br><br>
> > diff --git a/DEVELOPERS b/DEVELOPERS<br><br>
> > index 3df820e712..6329bcde2d 100644<br><br>
> > --- a/DEVELOPERS<br><br>
> > +++ b/DEVELOPERS<br><br>
> > @@ -53,6 +53,7 @@ F:&nbsp; &nbsp;
> package/nginx-naxsi/<br><br>
> > &nbsp;F:&nbsp; &nbsp;
> &nbsp;package/policycoreutils/<wbr><br><br>
> > &nbsp;F:&nbsp; &nbsp;
> &nbsp;package/python-flask-<<wbr>wbr>sqlalchemy/<br><br>
> > &nbsp;F:&nbsp; &nbsp;
> &nbsp;package/python-mutagen/<<wbr>br><br>
> > +F:&nbsp; &nbsp;
> &nbsp;package/python-psycopg2/<wbr><br><br>
> > &nbsp;F:&nbsp; &nbsp;
> &nbsp;package/python-<wbr>sqlalchemy/<br><br>
> > &nbsp;F:&nbsp; &nbsp;
> &nbsp;package/restorecond/<br><br>
> > &nbsp;F:&nbsp; &nbsp;
> &nbsp;package/refpolicy/<br><br>
> > diff --git a/package/Config.in b/package/Config.in<br><br>
> > index 449ffcc47b..d40170ccf9 100644<br><br>
> > --- a/package/Config.in<br><br>
> > +++ b/package/Config.in<br><br>
> > @@ -856,6 +856,7 @@ menu "External python modules"<br><br>
> > &nbsp; &nbsp; &nbsp; &nbsp; source<br>
> > "package/python-prompt-<wbr><wbr>toolkit/Config.in"<br><br>
> > &nbsp; &nbsp; &nbsp; &nbsp; source
> "package/python-protobuf/<wbr><wbr>Config.in"<br><br>
> > &nbsp; &nbsp; &nbsp; &nbsp; source
> "package/python-psutil/Config.<wbr><wbr>in"<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp;source
> "package/python-psycopg2/<wbr><wbr>Config.in"<br><br>
> > &nbsp; &nbsp; &nbsp; &nbsp; source<br>
> > "package/python-ptyprocess/<<wbr>wbr>Config.in"<br><br>
> > &nbsp; &nbsp; &nbsp; &nbsp; source
> "package/python-pudb/Config.<<wbr>wbr>in"<br><br>
> > &nbsp; &nbsp; &nbsp; &nbsp; source
> "package/python-pyasn/Config.<<wbr>wbr>in"<br><br>
> > diff --git a/package/python-psycopg2/<<wbr>wbr>Config.in<br>
> > b/package/python-psycopg2/<<wbr>wbr>Config.in<br><br>
> > new file mode 100644<br><br>
> > index 0000000000..ec852bb49e<br><br>
> > --- /dev/null<br><br>
> > +++ b/package/python-psycopg2/<<wbr>wbr>Config.in<br><br>
> > @@ -0,0 +1,22 @@<br><br>
> > +config BR2_PACKAGE_PYTHON_PSYCOPG2<<wbr>br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp;bool
> "python-psycopg2"<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp;select
> BR2_PACKAGE_POSTGRESQL<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp;help<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Psycopg is
> the most popular<br>
> > PostgreSQL database adapter for<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;the Python
> programming language.<br>
> > Its main features are the<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;complete
> implementation of the<br>
> > Python DB API 2.0 specification<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;and the
> thread safety (several<br>
> > threads can share the same<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp;
> &nbsp;connection). It was designed for<br>
> > heavily multi-threaded<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp;
> &nbsp;applications that create and<br>
> > destroy lots of cursors and make<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a large
> number of concurrent<br>
> > INSERTs or UPDATEs.<br><br>
> > +<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Psycopg 2
> is mostly implemented in<br>
> > C as a libpq wrapper,<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;resulting
> in being both efficient<br>
> > and secure. It features<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp;
> &nbsp;client-side and server-side<br>
> > cursors, asynchronous<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp;
> &nbsp;communication and notifications,<br>
> > COPY support. Many Python<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;types are
> supported out-of-the-box<br>
> > and adapted to matching<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PostgreSQL
> data types; adaptation<br>
> > can be extended and<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;customized
> thanks to a flexible<br>
> > objects adaptation system.<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Psycopg 2
> is both Unicode and<br>
> > Python 3 friendly.<br><br>
> > +<br><br>
> > +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a
> href="<a href="http://initd.org/psycopg/"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://initd.org/psycopg/&source=gmail&ust=1520944640740000&usg=AFQjCNEub0DMljKLJD4dcbYOvEh84jfhkQ"
> rel="noreferrer"
> target="_blank">http://initd.org/<wbr>psycopg/</a>"<br>
> > data-saferedirecturl="<a
> href="https://www.google.com/url?hl=en&amp;q=http://initd.org/psycopg/&amp;source=gmail&amp;ust=1520936994550000&amp;usg=AFQjCNExcJs6P0RwG9xs65ktEQKMNYO-Lw"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.google.com/url?hl%3Den%26amp;q%3Dhttp://initd.org/psycopg/%26amp;source%3Dgmail%26amp;ust%3D1520936994550000%26amp;usg%3DAFQjCNExcJs6P0RwG9xs65ktEQKMNYO-Lw&source=gmail&ust=1520944640740000&usg=AFQjCNFFypveeXDkA13wXMVfib6jh4QS9g"
> rel="noreferrer"
> target="_blank">https://<wbr>www.google.com/url?hl=en&amp;<wbr>q=http://initd.org/psycopg/&<wbr>amp;source=gmail&amp;ust=<wbr>1520936994550000&amp;usg=<wbr>AFQjCNExcJs6P0RwG9xs65ktEQKMNY<wbr>O-Lw</a>"<br>
> > rel="noreferrer" target="_blank"><a
> href="http://initd.org/psycopg/"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://initd.org/psycopg/&source=gmail&ust=1520944640740000&usg=AFQjCNEub0DMljKLJD4dcbYOvEh84jfhkQ"
> rel="noreferrer"
> target="_blank">http://initd.<wbr>org/psycopg/</a></a><br><br>
> > diff --git
> a/package/python-psycopg2/<<wbr>wbr>python-psycopg2.hash<br>
> > b/package/python-psycopg2/<<wbr>wbr>python-psycopg2.hash<br><br>
> > new file mode 100644<br><br>
> > index 0000000000..ea4a07697b<br><br>
> > --- /dev/null<br><br>
> > +++ b/package/python-psycopg2/<<wbr>wbr>python-psycopg2.hash<br><br>
> > @@ -0,0 +1,4 @@<br><br>
> > +# md5 from <a href="<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=1520944640740000&usg=AFQjCNGiA4z8UYt1wc73_2hjNrXbMpRFdQ"
> rel="noreferrer"
> target="_blank">https://pypi.python.org/<wbr>pypi/psycopg2/json</a>"<br>
> > data-saferedirecturl="<a
> href="https://www.google.com/url?hl=en&amp;q=https://pypi.python.org/pypi/psycopg2/json&amp;source=gmail&amp;ust=1520936994551000&amp;usg=AFQjCNFBZ2ZGn1_7vjNz1EICtNJfxppeiQ"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.google.com/url?hl%3Den%26amp;q%3Dhttps://pypi.python.org/pypi/psycopg2/json%26amp;source%3Dgmail%26amp;ust%3D1520936994551000%26amp;usg%3DAFQjCNFBZ2ZGn1_7vjNz1EICtNJfxppeiQ&source=gmail&ust=1520944640741000&usg=AFQjCNGMko7liHpaNmylhtwV1THoWrRt_Q"
> rel="noreferrer"
> target="_blank">https://<wbr>www.google.com/url?hl=en&amp;<wbr>q=https://pypi.python.org/<wbr>pypi/psycopg2/json&amp;source=<wbr>gmail&amp;ust=<wbr>1520936994551000&amp;usg=<wbr>AFQjCNFBZ2ZGn1_<wbr>7vjNz1EICtNJfxppeiQ</a>"<br>
> > rel="noreferrer"<br>
> > target="_blank"><a href="https://pypi.python.org/pypi/"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://pypi.python.org/pypi/&source=gmail&ust=1520944640741000&usg=AFQjCNHmTgI_9Vz2Q-28n68oh-_YCkqILw"
> rel="noreferrer"
> target="_blank">https://pypi.<wbr>python.org/pypi/</a><wbr>psycopg2/<wbr>json</a>,<br>
> > sha256 locally computed<br><br>
> > +md5&nbsp; &nbsp;
> 70fc57072e084565a42689d416cf2c<wbr><wbr>5c&nbsp;<br>
> > psycopg2-2.7.4.tar.gz<br><br>
> > +sha256 8bf51191d60f6987482ef0cfe8511b<wbr><wbr><wbr>bf4877a5aa7f313d7b488b53189cf2<wbr><wbr>6209&nbsp;<br>
> > psycopg2-2.7.4.tar.gz<br><br>
> > +sha256 1752db3c786e12b62ca804178dca03<wbr><wbr><wbr>3adce8bff4c4b3d98d3449d407fe45<wbr><wbr>210d&nbsp;<br>
> > LICENSE<br><br>
> > diff --git a/package/python-psycopg2/<a<br>
> > href="<a href="http://python-psycopg2.mk"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://python-psycopg2.mk&source=gmail&ust=1520944640741000&usg=AFQjCNFmzcB0PRvTH_kdd4kx_Wyrsuv01A"
> rel="noreferrer"
> target="_blank">http://python-psycopg2.<wbr>mk</a>"<br>
> > data-saferedirecturl="<a
> href="https://www.google.com/url?hl=en&amp;q=http://python-psycopg2.mk&amp;source=gmail&amp;ust=1520936994551000&amp;usg=AFQjCNGAOhS0vQFFkraTzmuC1DNlw846lQ"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.google.com/url?hl%3Den%26amp;q%3Dhttp://python-psycopg2.mk%26amp;source%3Dgmail%26amp;ust%3D1520936994551000%26amp;usg%3DAFQjCNGAOhS0vQFFkraTzmuC1DNlw846lQ&source=gmail&ust=1520944640741000&usg=AFQjCNH7tfPwMNnYvI_iOCBMmA2xo-OGUg"
> rel="noreferrer"
> target="_blank">https://<wbr>www.google.com/url?hl=en&amp;<wbr>q=http://python-psycopg2.mk&<wbr>amp;source=gmail&amp;ust=<wbr>1520936994551000&amp;usg=<wbr>AFQjCNGAOhS0vQFFkraTzmuC1DNlw8<wbr>46lQ</a>"<br>
> > rel="noreferrer" target="_blank">pyth<wbr><a
> href="http://on-psycopg2.mk"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://on-psycopg2.mk&source=gmail&ust=1520944640741000&usg=AFQjCNGQ0UKyNy8_c96IYv-MBW7zMUp-Kg"
> rel="noreferrer" target="_blank">on-<wbr>psycopg2.mk</a></a><br>
> > b/package/python-psycopg2/<a href="<a
> href="http://python-psycopg2.mk"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://python-psycopg2.mk&source=gmail&ust=1520944640741000&usg=AFQjCNFmzcB0PRvTH_kdd4kx_Wyrsuv01A"
> rel="noreferrer"
> target="_blank">http://python-psycopg2.<wbr>mk</a>"<br>
> > data-saferedirecturl="<a
> href="https://www.google.com/url?hl=en&amp;q=http://python-psycopg2.mk&amp;source=gmail&amp;ust=1520936994551000&amp;usg=AFQjCNGAOhS0vQFFkraTzmuC1DNlw846lQ"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.google.com/url?hl%3Den%26amp;q%3Dhttp://python-psycopg2.mk%26amp;source%3Dgmail%26amp;ust%3D1520936994551000%26amp;usg%3DAFQjCNGAOhS0vQFFkraTzmuC1DNlw846lQ&source=gmail&ust=1520944640741000&usg=AFQjCNH7tfPwMNnYvI_iOCBMmA2xo-OGUg"
> rel="noreferrer"
> target="_blank">https://<wbr>www.google.com/url?hl=en&amp;<wbr>q=http://python-psycopg2.mk&<wbr>amp;source=gmail&amp;ust=<wbr>1520936994551000&amp;usg=<wbr>AFQjCNGAOhS0vQFFkraTzmuC1DNlw8<wbr>46lQ</a>"<br>
> > rel="noreferrer" target="_blank">pyth<wbr><a
> href="http://on-psycopg2.mk"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://on-psycopg2.mk&source=gmail&ust=1520944640741000&usg=AFQjCNGQ0UKyNy8_c96IYv-MBW7zMUp-Kg"
> rel="noreferrer"
> target="_blank">on-<wbr>psycopg2.mk</a></a><br><br>
> > new file mode 100644<br><br>
> > index 0000000000..3cb8c85778<br><br>
> > --- /dev/null<br><br>
> > +++ b/package/python-psycopg2/<a href="<a
> href="http://python-psycopg2.mk"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://python-psycopg2.mk&source=gmail&ust=1520944640742000&usg=AFQjCNFFa3G8nAm25yWV7Sf3GrbzmXqouA"
> rel="noreferrer"
> target="_blank">http://python-psycopg2.<wbr>mk</a>"<br>
> > data-saferedirecturl="<a
> href="https://www.google.com/url?hl=en&amp;q=http://python-psycopg2.mk&amp;source=gmail&amp;ust=1520936994551000&amp;usg=AFQjCNGAOhS0vQFFkraTzmuC1DNlw846lQ"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.google.com/url?hl%3Den%26amp;q%3Dhttp://python-psycopg2.mk%26amp;source%3Dgmail%26amp;ust%3D1520936994551000%26amp;usg%3DAFQjCNGAOhS0vQFFkraTzmuC1DNlw846lQ&source=gmail&ust=1520944640742000&usg=AFQjCNF4FpYHtNAZOcJaJIHDnDyo9WjGCw"
> rel="noreferrer"
> target="_blank">https://<wbr>www.google.com/url?hl=en&amp;<wbr>q=http://python-psycopg2.mk&<wbr>amp;source=gmail&amp;ust=<wbr>1520936994551000&amp;usg=<wbr>AFQjCNGAOhS0vQFFkraTzmuC1DNlw8<wbr>46lQ</a>"<br>
> > rel="noreferrer" target="_blank">pyth<wbr><a
> href="http://on-psycopg2.mk"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://on-psycopg2.mk&source=gmail&ust=1520944640742000&usg=AFQjCNFNjlSrhD4rLa8L42zaFRUbfv1vTQ"
> rel="noreferrer"
> target="_blank">on-<wbr>psycopg2.mk</a></a><br><br>
> > @@ -0,0 +1,21 @@<br><br>
> > +#############################<wbr><wbr>#########################<wbr>#####<wbr>####################<wbr>#<br><br>
> > +#<br><br>
> > +# python-psycopg2<br><br>
> > +#<br><br>
> > +#############################<wbr><wbr>#########################<wbr>#####<wbr>####################<wbr>#<br><br>
> > +<br><br>
> > +PYTHON_PSYCOPG2_VERSION = 2.7.4<br><br>
> > +PYTHON_PSYCOPG2_SOURCE =
> psycopg2-$(PYTHON_PSYCOPG2_<<wbr>wbr>VERSION).tar.gz<br><br>
> > +PYTHON_PSYCOPG2_SITE = <a<br>
> > href="<a href="https://pypi.python.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462&#10;+PYTHON_PSYCOPG2_SETUP_TYPE"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://pypi.python.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462%26%2310;%2BPYTHON_PSYCOPG2_SETUP_TYPE&source=gmail&ust=1520944640743000&usg=AFQjCNF3UBfgZQ2JSBz82FWJ8g091K6iHg"
> rel="noreferrer"
> target="_blank">https://pypi.python.org/<wbr>packages/74/83/<wbr>51580322ed0e82cba7ad8e0af590b8<wbr>fb2cf11bd5aaa1ed872661bd36f462<wbr>&#10;+PYTHON_PSYCOPG2_SETUP_<wbr>TYPE</a>"<br>
> > data-saferedirecturl="<a
> href="https://www.google.com/url?hl=en&amp;q=https://pypi.python.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462%0A%2BPYTHON_PSYCOPG2_SETUP_TYPE&amp;source=gmail&amp;ust=1520936994552000&amp;usg=AFQjCNF85R-cL8pLEMOaqL4RdeoG_-P9tw"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.google.com/url?hl%3Den%26amp;q%3Dhttps://pypi.python.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462%250A%252BPYTHON_PSYCOPG2_SETUP_TYPE%26amp;source%3Dgmail%26amp;ust%3D1520936994552000%26amp;usg%3DAFQjCNF85R-cL8pLEMOaqL4RdeoG_-P9tw&source=gmail&ust=1520944640743000&usg=AFQjCNG-pXzaYBXzN-gLNiXTs5cFKWY6hA"
> rel="noreferrer"
> target="_blank">https://<wbr>www.google.com/url?hl=en&amp;<wbr>q=https://pypi.python.org/<wbr>packages/74/83/<wbr>51580322ed0e82cba7ad8e0af590b8<wbr>fb2cf11bd5aaa1ed872661bd36f462<wbr>%0A%2BPYTHON_PSYCOPG2_SETUP_<wbr>TYPE&amp;source=gmail&amp;ust=<wbr>1520936994552000&amp;usg=<wbr>AFQjCNF85R-cL8pLEMOaqL4RdeoG_-<wbr>P9tw</a>"<br>
> > rel="noreferrer"<br>
> > target="_blank"><a href="https://pypi.python.org/"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://pypi.python.org/&source=gmail&ust=1520944640743000&usg=AFQjCNEf_rn8vehrTXZIzljP7PTbzfwz9g"
> rel="noreferrer"
> target="_blank">https://pypi.<wbr>python.org/</a><wbr>packages/74/<wbr>83/<wbr><wbr>51580322ed0e82cba7ad8e0af590b8<wbr><wbr><wbr>fb2cf11bd5aaa1ed872661bd36f462<wbr><br><br>
> > +PYTHON_PSYCOPG2_SETUP_TYPE</<wbr>a> = setuptools<br><br>
> > +PYTHON_PSYCOPG2_LICENSE = LGPL-3.0+<br><br>
> > +PYTHON_PSYCOPG2_LICENSE_FILES = LICENSE<br><br>
> > +PYTHON_PSYCOPG2_DEPENDENCIES = postgresql<br><br>
> > +<br><br>
> > +# Force psycopg2 to use the BuildRoot provided postgresql version<br>
> > instead of<br><br>
> > +# The host machines<br><br>
> > +PYTHON_PSYCOPG2_BUILD_OPTS += build_ext<br>
> > --pg-config=$(STAGING_DIR)/<<wbr>wbr>usr/bin/pg_config<br><br>
> > +<br><br>
> > +PYTHON_PSYCOPG2_INSTALL_<wbr><wbr>TARGET_OPTS += build_ext<br>
> > --pg-config=$(STAGING_DIR)/<<wbr>wbr>usr/bin/pg_config<br><br>
> > +<br><br>
> > +$(eval $(python-package))<br><br>
> > <span class="HOEnZb"><font color="#888888">--<br><br>
> > 2.14.3<br><br>
> > <br><br>
> > ______________________________<wbr><wbr>_________________<br><br>
> > buildroot mailing list<br><br>
> > <a href="mailto:<a
> href="mailto:buildroot at busybox.net">buildroot@<wbr>busybox.net</a>"><a
> href="mailto:buildroot at busybox.net">buildroot@<wbr>busybox.net</a></a><br><br>
> > <a href="<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=1520944640743000&usg=AFQjCNHllS0kzWLKaKnhZIXA-y_MY7wUDw"
> rel="noreferrer"
> target="_blank">http://lists.busybox.<wbr>net/mailman/listinfo/buildroot</a><wbr>"<br>
> > data-saferedirecturl="<a
> href="https://www.google.com/url?hl=en&amp;q=http://lists.busybox.net/mailman/listinfo/buildroot&amp;source=gmail&amp;ust=1520936994553000&amp;usg=AFQjCNF0g03-hvo6DFfcvbxl6t7ldPQ_JA"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.google.com/url?hl%3Den%26amp;q%3Dhttp://lists.busybox.net/mailman/listinfo/buildroot%26amp;source%3Dgmail%26amp;ust%3D1520936994553000%26amp;usg%3DAFQjCNF0g03-hvo6DFfcvbxl6t7ldPQ_JA&source=gmail&ust=1520944640744000&usg=AFQjCNHrP36XBhKoLGX6ylsvQo8TsoDdPw"
> rel="noreferrer"
> target="_blank">https://<wbr>www.google.com/url?hl=en&amp;<wbr>q=http://lists.busybox.net/<wbr>mailman/listinfo/buildroot&<wbr>amp;source=gmail&amp;ust=<wbr>1520936994553000&amp;usg=<wbr>AFQjCNF0g03-<wbr>hvo6DFfcvbxl6t7ldPQ_JA</a>"<br>
> > rel="noreferrer"<br>
> > target="_blank"><a href="http://lists.busybox.net/"
> data-saferedirecturl="https://www.google.com/url?hl=en&q=http://lists.busybox.net/&source=gmail&ust=1520944640744000&usg=AFQjCNETJopGlxNrI9avzC5lOxnyZMC4VQ"
> rel="noreferrer"
> target="_blank">http://lists.<wbr>busybox.net/</a><wbr>mailman/<wbr>listinfo/buildroot</a><br><br>
> > </font></span></blockquote></<wbr>div><br></div><br>
> </div></div></blockquote></div><br></div>

Reviewed-by: Yegor Yefremov <yegorslists at googlemail.com>



More information about the buildroot mailing list