%global _empty_manifest_terminate_build 0 Name: python-aws-psycopg2 Version: 1.3.8 Release: 1 Summary: A aws psycopg2 package from psycopg2. License: MIT License URL: https://github.com/AbhimanyuHK/aws-psycopg2 Source0: https://mirrors.nju.edu.cn/pypi/web/packages/7c/99/e044d6056240fdc08d58d3b682975f321c562440dac8fa941fd74835aab5/aws-psycopg2-1.3.8.tar.gz BuildArch: noarch %description This is a custom compiled psycopg2 C library for Python. Due to AWS Lambda missing the required PostgreSQL libraries in the AMI image, we needed to compile psycopg2 with the PostgreSQL `libpq.so` library statically linked libpq library instead of the default dynamic link. ### Install and setup ``` pip install aws-psycopg2 ``` ### Source code : https://github.com/AbhimanyuHK/aws-psycopg2 ### Instructions on compiling this package from scratch Here was the process that was used to build this package. You will need to perform these steps if you want to build a newer version of the psycopg2 library. 1. Download the [PostgreSQL source code](https://ftp.postgresql.org/pub/source/v9.4.3/postgresql-9.4.3.tar.gz) and extract into a directory. 2. Download the [psycopg2 source code](http://initd.org/psycopg/tarballs/PSYCOPG-2-6/psycopg2-2.6.1.tar.gz) and extract into a directory. 3. Go into the PostgreSQL source directory and execute the following commands: - `./configure --prefix {path_to_postgresql_source} --without-readline --without-zlib` - `make` - `make install` 4. Go into the psycopg2 source directory and edit the `setup.cfg` file with the following: - `pg_config={path_to_postgresql_source/bin/pg_config}` - `static_libpq=1` 5. Execute `python setup.py build` in the psycopg2 source directory. After the above steps have been completed you will then have a build directory and the custom compiled psycopg2 library will be contained within it. Copy this directory into your AWS Lambda package and you will now be able to access PostgreSQL from within AWS Lambda using the psycopg2 library. %package -n python3-aws-psycopg2 Summary: A aws psycopg2 package from psycopg2. Provides: python-aws-psycopg2 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-aws-psycopg2 This is a custom compiled psycopg2 C library for Python. Due to AWS Lambda missing the required PostgreSQL libraries in the AMI image, we needed to compile psycopg2 with the PostgreSQL `libpq.so` library statically linked libpq library instead of the default dynamic link. ### Install and setup ``` pip install aws-psycopg2 ``` ### Source code : https://github.com/AbhimanyuHK/aws-psycopg2 ### Instructions on compiling this package from scratch Here was the process that was used to build this package. You will need to perform these steps if you want to build a newer version of the psycopg2 library. 1. Download the [PostgreSQL source code](https://ftp.postgresql.org/pub/source/v9.4.3/postgresql-9.4.3.tar.gz) and extract into a directory. 2. Download the [psycopg2 source code](http://initd.org/psycopg/tarballs/PSYCOPG-2-6/psycopg2-2.6.1.tar.gz) and extract into a directory. 3. Go into the PostgreSQL source directory and execute the following commands: - `./configure --prefix {path_to_postgresql_source} --without-readline --without-zlib` - `make` - `make install` 4. Go into the psycopg2 source directory and edit the `setup.cfg` file with the following: - `pg_config={path_to_postgresql_source/bin/pg_config}` - `static_libpq=1` 5. Execute `python setup.py build` in the psycopg2 source directory. After the above steps have been completed you will then have a build directory and the custom compiled psycopg2 library will be contained within it. Copy this directory into your AWS Lambda package and you will now be able to access PostgreSQL from within AWS Lambda using the psycopg2 library. %package help Summary: Development documents and examples for aws-psycopg2 Provides: python3-aws-psycopg2-doc %description help This is a custom compiled psycopg2 C library for Python. Due to AWS Lambda missing the required PostgreSQL libraries in the AMI image, we needed to compile psycopg2 with the PostgreSQL `libpq.so` library statically linked libpq library instead of the default dynamic link. ### Install and setup ``` pip install aws-psycopg2 ``` ### Source code : https://github.com/AbhimanyuHK/aws-psycopg2 ### Instructions on compiling this package from scratch Here was the process that was used to build this package. You will need to perform these steps if you want to build a newer version of the psycopg2 library. 1. Download the [PostgreSQL source code](https://ftp.postgresql.org/pub/source/v9.4.3/postgresql-9.4.3.tar.gz) and extract into a directory. 2. Download the [psycopg2 source code](http://initd.org/psycopg/tarballs/PSYCOPG-2-6/psycopg2-2.6.1.tar.gz) and extract into a directory. 3. Go into the PostgreSQL source directory and execute the following commands: - `./configure --prefix {path_to_postgresql_source} --without-readline --without-zlib` - `make` - `make install` 4. Go into the psycopg2 source directory and edit the `setup.cfg` file with the following: - `pg_config={path_to_postgresql_source/bin/pg_config}` - `static_libpq=1` 5. Execute `python setup.py build` in the psycopg2 source directory. After the above steps have been completed you will then have a build directory and the custom compiled psycopg2 library will be contained within it. Copy this directory into your AWS Lambda package and you will now be able to access PostgreSQL from within AWS Lambda using the psycopg2 library. %prep %autosetup -n aws-psycopg2-1.3.8 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-aws-psycopg2 -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon Apr 10 2023 Python_Bot - 1.3.8-1 - Package Spec generated