summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 17:41:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 17:41:09 +0000
commit77cbe979e2d594b90490d738456e9018373f111f (patch)
treeeda456b4d9bb193a8e730e436c6f9ae3ccec4ef9
parentAdding upstream version 3.1.7. (diff)
downloadpsycopg3-debian.tar.xz
psycopg3-debian.zip
Adding debian version 3.1.7-4.debian/3.1.7-4debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--debian/changelog55
-rw-r--r--debian/control152
-rw-r--r--debian/copyright73
-rw-r--r--debian/gbp.conf8
-rw-r--r--debian/patches/disable-postgresql-documentation-download.patch19
-rw-r--r--debian/patches/series2
-rw-r--r--debian/patches/use-local-documentation.patch52
-rw-r--r--debian/python-psycopg-doc.doc-base9
-rw-r--r--debian/python-psycopg-doc.docs1
-rw-r--r--debian/python3-psycopg-pool.pydist1
-rw-r--r--debian/python3-psycopg.pydist1
-rwxr-xr-xdebian/rules88
-rw-r--r--debian/source/format1
-rw-r--r--debian/upstream/metadata7
-rw-r--r--debian/upstream/signing-key.asc29
-rw-r--r--debian/watch4
16 files changed, 502 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..91c9a7d
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,55 @@
+psycopg3 (3.1.7-4) unstable; urgency=medium
+
+ * Add *.pydist files to deal with dh_python psycopg names overrides.
+
+ -- Tomasz Rybak <serpent@debian.org> Wed, 18 Jan 2023 21:12:00 +0100
+
+psycopg3 (3.1.7-3) unstable; urgency=medium
+
+ * Source-only upload to allow migration to testing.
+
+ -- Tomasz Rybak <serpent@debian.org> Mon, 16 Jan 2023 20:34:16 +0100
+
+psycopg3 (3.1.7-2) unstable; urgency=medium
+
+ * Rename Debian binary packages to reflect upstream Python package names;
+ (Closes: #1016031).
+
+ -- Tomasz Rybak <serpent@debian.org> Fri, 13 Jan 2023 13:33:51 +0100
+
+psycopg3 (3.1.7-1) unstable; urgency=medium
+
+ [ Tomasz Rybak ]
+ * New upstream version 3.1.7 (Closes: #1026134).
+ * Refresh patches.
+ * Remove change-Sphinx-theme.patch - use default furo, packaged in Debian.
+ * Replace "dh --with" in debian/rules calls with
+ dependencies on dh-sequence-*.
+ * Add dependency on pybuild-plugin-pyproject, for PEP-517,
+ as pointed by lintian.
+ * Add debian/gbp.conf file with settings used by Python team.
+ * Add Python team to Uploaders.
+
+ [ Debian Janitor ]
+ * Remove constraints unnecessary since buster:
+ + Build-Depends-Indep: Drop versioned constraint on python3-sphinx.
+ * Replace spaces in short license names with dashes.
+ * Update standards version to 4.6.2, no changes needed.
+
+ -- Tomasz Rybak <serpent@debian.org> Wed, 28 Dec 2022 21:34:23 +0100
+
+psycopg3 (3.1.3-0.1) unstable; urgency=medium
+
+ * Non-maintainer source-only upload (Closes: #1014833).
+ * Updating to current upstream as needed by pgcli (Closes: #1021249):
+ - rediffing change-Sphinx-theme.patch.
+ - rediffing use-local-documentation.patch.
+ - adding newly required python3-typing-extensions to build-depends.
+
+ -- Daniel Baumann <daniel.baumann@progress-linux.org> Wed, 05 Oct 2022 10:48:22 +0200
+
+psycopg3 (3.0.1-1) unstable; urgency=medium
+
+ * Initial release (Closes: #995447).
+
+ -- Tomasz Rybak <serpent@debian.org> Tue, 19 Apr 2022 20:24:23 +0200
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..d719c72
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,152 @@
+Source: psycopg3
+Section: python
+Priority: optional
+Build-Depends:
+ debhelper-compat (= 13),
+ dh-sequence-python3,
+ dh-sequence-sphinxdoc,
+ dh-python,
+ libpq-dev,
+ postgresql,
+ cmake,
+ python3-all:any,
+ python3-setuptools,
+ pybuild-plugin-pyproject,
+ python3-typing-extensions,
+ python3-pytest <!nocheck>,
+ python3-dnspython <!nocheck>,
+ python3-shapely <!nocheck>,
+ python3-tenacity <!nocheck>
+Build-Depends-Indep:
+ python3-doc <!nodoc>,
+ python-psycopg2-doc <!nodoc>,
+ python3-sphinx <!nodoc>,
+ python3-sphinx-autodoc-typehints <!nodoc>,
+ furo <!nodoc>,
+Maintainer: Tomasz Rybak <serpent@debian.org>
+Uploaders: Debian Python Team <team+python@tracker.debian.org>
+Standards-Version: 4.6.2
+Rules-Requires-Root: no
+Vcs-Git: https://salsa.debian.org/python-team/packages/psycopg3.git
+Vcs-Browser: https://salsa.debian.org/python-team/packages/psycopg3
+Homepage: https://www.psycopg.org/psycopg3/
+
+Package: python3-psycopg
+Architecture: all
+Depends:
+ ${misc:Depends},
+ ${python3:Depends},
+ ${shlibs:Depends},
+ libpq5
+Suggests:
+ python3-psycopg-pool,
+ python-psycopg-doc
+Conflicts: python3-psycopg3
+Replaces: python3-psycopg3
+Description: PostgreSQL database adapter for Python 3
+ Psycopg 3 is a newly designed PostgreSQL database adapter for the Python
+ programming language.
+ .
+ Psycopg 3 is a complete rewrite of Psycopg 2, maintaining the same
+ fundamental libpq wrapper architecture and DB-API interface design, but
+ exposing new features to better work with the newer versions of Python
+ and PostgreSQL.
+ .
+ On the Python side, Psycopg 3 allows the use of asyncio-based
+ concurrency and static typing. Many improvement to the Python interface
+ make the library much simpler and more idiomatic to use,
+ .
+ On the PostgreSQL side, Psycopg 3 makes use of server-side parameters,
+ prepared statements, binary parameters, and great support for COPY
+ operations.
+ .
+ Psycopg 3 presents a familiar interface for everyone who has used
+ Psycopg 2 or any other `DB-API 2.0` database adapter, but allows one
+ to use more modern PostgreSQL and Python features, such as:
+ - Strict Strong Typing
+ - asynchronous support
+ - server-side parameters binding
+ - binary communication
+ - a great integration of the COPY support
+ - direct access to the libpq functionalities
+
+Package: python3-psycopg-pool
+Architecture: all
+Depends:
+ ${misc:Depends},
+ ${python3:Depends},
+ ${shlibs:Depends},
+ python3-psycopg (= ${binary:Version})
+Conflicts: python3-psycopg3-pool
+Replaces: python3-psycopg3-pool
+Description: PostgreSQL database adapter for Python 3: connection pool
+ Psycopg 3 is a newly designed PostgreSQL database adapter for the Python
+ programming language.
+ .
+ Psycopg 3 is a complete rewrite of Psycopg 2, maintaining the same
+ fundamental libpq wrapper architecture and DB-API interface design, but
+ exposing new features to better work with the newer versions of Python
+ and PostgreSQL.
+ .
+ On the Python side, Psycopg 3 allows the use of asyncio-based
+ concurrency and static typing. Many improvement to the Python interface
+ make the library much simpler and more idiomatic to use,
+ .
+ On the PostgreSQL side, Psycopg 3 makes use of server-side parameters,
+ prepared statements, binary parameters, and great support for COPY
+ operations.
+ .
+ Psycopg 3 presents a familiar interface for everyone who has used
+ Psycopg 2 or any other `DB-API 2.0` database adapter, but allows one
+ to use more modern PostgreSQL and Python features, such as:
+ - Strict Strong Typing
+ - asynchronous support
+ - server-side parameters binding
+ - binary communication
+ - a great integration of the COPY support
+ - direct access to the libpq functionalities
+ .
+ This package contains two connection pool implementations
+
+Package: python-psycopg-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Build-Profiles: <!nodoc>
+Depends:
+ ${misc:Depends},
+ ${sphinxdoc:Depends}
+Recommends:
+ python3-doc,
+ python-psycopg2-doc
+Suggests: python3-psycopg
+Conflicts: python-psycopg3-doc
+Replaces: python-psycopg3-doc
+Description: PostgreSQL database adapter for Python 3 (documentation package)
+ Psycopg 3 is a newly designed PostgreSQL database adapter for the Python
+ programming language.
+ .
+ Psycopg 3 is a complete rewrite of Psycopg 2, maintaining the same
+ fundamental libpq wrapper architecture and DB-API interface design, but
+ exposing new features to better work with the newer versions of Python
+ and PostgreSQL.
+ .
+ On the Python side, Psycopg 3 allows the use of asyncio-based
+ concurrency and static typing. Many improvement to the Python interface
+ make the library much simpler and more idiomatic to use,
+ .
+ On the PostgreSQL side, Psycopg 3 makes use of server-side parameters,
+ prepared statements, binary parameters, and great support for COPY
+ operations.
+ .
+ Psycopg 3 presents a familiar interface for everyone who has used
+ Psycopg 2 or any other `DB-API 2.0` database adapter, but allows one
+ to use more modern PostgreSQL and Python features, such as:
+ - Strict Strong Typing
+ - asynchronous support
+ - server-side parameters binding
+ - binary communication
+ - a great integration of the COPY support
+ - direct access to the libpq functionalities
+ .
+ This package contains the psycopg3 documentation
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..cc0371e
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,73 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: psypcopg
+Upstream-Contact: Daniele Varrazzo <daniele.varrazzo@gmail.com>
+Source: https://www.psycopg.org/psycopg3/
+ https://pypi.org/project/psycopg/
+ https://github.com/psycopg/psycopg
+
+Files: *
+Copyright: 2020-2021 Daniele Varrazzo <daniele.varrazzo@gmail.com>
+ 2020-2021 The Psycopg Team
+License: LGPL-3
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+ .
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+ .
+ On Debian systems, the full text of the GNU Lesser General Public
+ License version 3 can be found in the file
+ `/usr/share/common-licenses/LGPL-3'.
+
+Files: psycopg_c/psycopg_c/types/numutils.c
+Copyright: 2020-2021 The Psycopg Team
+ Portions Copyright 1996-2020, PostgreSQL Global Development Group
+ Portions Copyright 1994, Regents of the University of California
+License: PostgreSQL
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose, without fee, and without a written agreement
+ is hereby granted, provided that the above copyright notice and this
+ paragraph and the following two paragraphs appear in all copies.
+ .
+ IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
+ DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
+ LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
+ DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+ .
+ THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO
+ PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+Files: psycopg_c/psycopg_c/_psycopg/endian.pxd
+Copyright: 2020-2021 The Psycopg Team
+ Mathias Panzenböck, from https://gist.github.com/panzi/6856583
+License: Public Domain, BSD, MIT, Apache
+ I, Mathias Panzenböck, place this file hereby into the public domain.
+ Use it at your own risk for whatever you like. In case there are
+ jurisdictions that don't support putting things in the public domain
+ you can also consider it to be "dual licensed" under the BSD, MIT and
+ Apache licenses, if you want to. This code is trivial anyway. Consider
+ it an example on how to get the endian conversion functions on
+ different platforms.
+
+Files: tests/dbapi20.py
+Copyright: 2009 Stuart Bishop <stuart@stuartbishop.net>
+License: Public-Domain
+ This software is Public Domain and may be used without restrictions.
+
+Files: debian/*
+Copyright: 2022 Tomasz Rybak <serpent@debian.org>
+License: GPL-3
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+ .
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+ .
+ On Debian systems, the full text of the GNU General Public License
+ version 3 can be found in the file `/usr/share/common-licenses/GPL-3'.
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..77396ce
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,8 @@
+[DEFAULT]
+upstream-branch = upstream
+debian-branch = debian/master
+upstream-tag = upstream/%(version)s
+debian-tag = debian/%(version)s
+sign-tags = True
+pristine-tar = True
+
diff --git a/debian/patches/disable-postgresql-documentation-download.patch b/debian/patches/disable-postgresql-documentation-download.patch
new file mode 100644
index 0000000..b91e91f
--- /dev/null
+++ b/debian/patches/disable-postgresql-documentation-download.patch
@@ -0,0 +1,19 @@
+Description: Disable linking to PostgreSQL libpq documentation
+ Commented-out Sphinx module fetches PostgreSQL source SGML file.
+ I don't know yet how to fix it, so disabling for now; it could
+ be enabled again if we had a doc/src/sgml/libpq.sgml available.
+Forwarded: not-needed
+Author: Tomasz Rybak <serpent@debian.org>
+Last-Update: 2022-12-28
+Index: psycopg3/docs/conf.py
+===================================================================
+--- psycopg3.orig/docs/conf.py
++++ psycopg3/docs/conf.py
+@@ -43,7 +43,6 @@ extensions = [
+ "sql_role",
+ "ticket_role",
+ "pg3_docs",
+- "libpq_docs",
+ ]
+
+ # Add any paths that contain templates here, relative to this directory.
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..8505b25
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+use-local-documentation.patch
+disable-postgresql-documentation-download.patch
diff --git a/debian/patches/use-local-documentation.patch b/debian/patches/use-local-documentation.patch
new file mode 100644
index 0000000..25c0808
--- /dev/null
+++ b/debian/patches/use-local-documentation.patch
@@ -0,0 +1,52 @@
+Description: Ensure reproducible documentation
+ Do not fetch external Sphinx inverntory but use one from Debian packages.
+Forwarded: not-needed
+Author: Tomasz Rybak <serpent@debian.org>
+Last-Update: 2022-12-28
+Index: psycopg3/docs/conf.py
+===================================================================
+--- psycopg3.orig/docs/conf.py
++++ psycopg3/docs/conf.py
+@@ -96,8 +96,10 @@ html_static_path = ["_static"]
+ default_role = "obj"
+
+ intersphinx_mapping = {
+- "py": ("https://docs.python.org/3", None),
+- "pg2": ("https://www.psycopg.org/docs/", None),
++ "py": ("file:///usr/share/doc/python3-doc/html/",
++ "/usr/share/doc/python3-doc/html/objects.inv"),
++ "pg2": ("file:///usr/share/doc/python-psycopg2-doc/html/",
++ "/usr/share/doc/python-psycopg2-doc/html/objects.inv"),
+ }
+
+ autodoc_member_order = "bysource"
+
+ # PostgreSQL docs version to link libpq functions to
+-libpq_docs_version = "14"
++libpq_docs_version = "15"
+
+ # Where to point on :ticket: role
+ ticket_url = "https://github.com/psycopg/psycopg/issues/%s"
+Index: psycopg3/docs/lib/libpq_docs.py
+===================================================================
+--- psycopg3.orig/docs/lib/libpq_docs.py
++++ psycopg3/docs/lib/libpq_docs.py
+@@ -7,6 +7,8 @@ Add the ``:pq:`` role, to create a link
+
+ will link to::
+
++ file:///usr/share/doc/postgresql-doc-13/html/libpq-misc.html #LIBPQ-PQLIBVERSION
++previously to:
+ https://www.postgresql.org/docs/current/libpq-misc.html #LIBPQ-PQLIBVERSION
+
+ """
+@@ -89,8 +91,7 @@ class LibpqReader:
+ app = None
+
+ _url_pattern = (
+- "https://raw.githubusercontent.com/postgres/postgres/REL_{ver}_STABLE"
+- "/doc/src/sgml/libpq.sgml"
++ "file:///usr/share/doc/postgresql-doc-{version}/html/{section}.html#{func_id}"
+ )
+
+ data = None
diff --git a/debian/python-psycopg-doc.doc-base b/debian/python-psycopg-doc.doc-base
new file mode 100644
index 0000000..68350ed
--- /dev/null
+++ b/debian/python-psycopg-doc.doc-base
@@ -0,0 +1,9 @@
+Document: python-psycopg-doc
+Title: Python psycopg3’s documentation
+Author: Daniele Varrazzo
+Abstract: PostgreSQL database adapter for Python 3
+Section: Programming/Python
+
+Format: HTML
+Index: /usr/share/doc/python-psycopg-doc/html/index.html
+Files: /usr/share/doc/python-psycopg-doc/html/*.html
diff --git a/debian/python-psycopg-doc.docs b/debian/python-psycopg-doc.docs
new file mode 100644
index 0000000..4ecc793
--- /dev/null
+++ b/debian/python-psycopg-doc.docs
@@ -0,0 +1 @@
+docs/_build/html
diff --git a/debian/python3-psycopg-pool.pydist b/debian/python3-psycopg-pool.pydist
new file mode 100644
index 0000000..817760f
--- /dev/null
+++ b/debian/python3-psycopg-pool.pydist
@@ -0,0 +1 @@
+psycopg-pool python3-psycopg-pool; PEP386
diff --git a/debian/python3-psycopg.pydist b/debian/python3-psycopg.pydist
new file mode 100644
index 0000000..00540a4
--- /dev/null
+++ b/debian/python3-psycopg.pydist
@@ -0,0 +1 @@
+psycopg python3-psycopg; PEP386
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..63be5ba
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+# Allow for silencing build process
+ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
+export DH_VERBOSE = 1
+export PYBUILD_VERBOSE=1
+else
+export DH_QUIET = 1
+endif
+
+# Enable all hardening options
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
+DPKG_EXPORT_BUILDFLAGS = 1
+
+# Needed for extracting build-related metadata
+include /usr/share/dpkg/buildflags.mk
+include /usr/share/dpkg/pkg-info.mk
+include /usr/share/dpkg/architecture.mk
+
+# Don't perform optimisation when we want to have all binary symbols
+ifneq (,$(filter nostrip,$(DEB_BUILD_OPTIONS)))
+DEB_CXXFLAGS_MAINT_STRIP=-O2
+DEB_CXXFLAGS_MAINT_APPEND=-O0
+endif
+
+# Rename package to avoid potential conflict with psycopg2
+export PYBUILD_NAME = psycopg
+# And don't even try to built for Python 2: Python 3.6 is required
+export PYBUILD_DISABLE_python2 = 1
+
+# Reproducible builds - build date is taken from debian/changelog
+BUILD_DATE=$(shell LC_ALL=C date -u "+%B %d, %Y" -d "@$(SOURCE_DATE_EPOCH)")
+SPHINXOPTS:=-D today=\"$(BUILD_DATE)\"
+SPHINXOPTS+=-D html_last_updated_fmt=\"$(BUILD_DATE)\"
+
+%:
+ dh $@ --buildsystem=pybuild
+
+# We need to build 3 different modules, from 3 different directories
+override_dh_auto_clean:
+ PYBUILD_DIR=psycopg dh_auto_clean -- --name psycopg
+ PYBUILD_DIR=psycopg_pool dh_auto_clean -- --name psycopg_pool
+# Not buildable yet - requires Cython newer than currently in Debian
+# PYBUILD_DIR=psycopg_c dh_auto_clean -- --name psycopg_c
+
+override_dh_auto_configure:
+ PYBUILD_DIR=psycopg dh_auto_configure -- --name psycopg
+ PYBUILD_DIR=psycopg_pool dh_auto_configure -- --name psycopg_pool
+# Not buildable yet - requires Cython newer than currently in Debian
+# PYBUILD_DIR=psycopg_c dh_auto_configure -- --name psycopg_c
+
+override_dh_auto_build:
+ PYBUILD_DIR=psycopg dh_auto_build -- --name psycopg
+ PYBUILD_DIR=psycopg_pool dh_auto_build -- --name psycopg_pool
+# Not buildable yet - requires Cython newer than currently in Debian
+# PYBUILD_DIR=psycopg_c dh_auto_build -- --name psycopg_c
+
+override_dh_auto_install:
+ PYBUILD_DIR=psycopg dh_auto_install -- --name psycopg
+ PYBUILD_DIR=psycopg_pool dh_auto_install -- --name psycopg_pool
+# Not buildable yet - requires Cython newer than currently in Debian
+# PYBUILD_DIR=psycopg_c dh_auto_install -- --name psycopg_c
+
+override_dh_installdocs:
+# Don't build documentation when required not to do it
+ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
+# Documentation requires psycopg module to analyse existing types
+ SPHINXOPTS="$(SPHINXOPTS)" pybuild --build -i python3 -s custom --build-args 'make -C {dir}/docs html'
+ dh_installdocs
+endif
+
+override_dh_auto_test-arch:
+# Don't run tests when required not to do it
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ifneq ($(DEB_HOST_ARCH),hurd-i386)
+ LANG=C.UTF-8 LC_ALL=C.UTF-8 \
+ PSYCOPG_TEST_DSN="host=localhost dbname=postgres" \
+ PSYCOPG_IMPL=python \
+ pg_virtualenv pytest-3 -m "not slow"
+# LANG=C.UTF-8 LC_ALL=C.UTF-8 \
+ PSYCOPG_TEST_DSN="host=localhost dbname=postgres" \
+ PSYCOPG_IMPL=c \
+ pg_virtualenv pytest-3 -m "not slow"
+endif
+endif
+
+override_dh_auto_test-indep:
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..11c9285
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,7 @@
+Bug-Database: https://github.com/psycopg/psycopg/issues
+Bug-Submit: https://github.com/psycopg/psycopg/issues/new
+Documentation: https://www.psycopg.org/psycopg3/docs/
+Funding: https://github.com/sponsors/dvarrazzo/
+Repository: https://github.com/psycopg/psycopg.git
+Repository-Browse: https://github.com/psycopg/psycopg/
+Other-References: https://www.psycopg.org/psycopg3/
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..1cb1acd
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,29 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBE1J8A0BCACVac9iPRiX+DZxZUXo0k42jWz7bKGX42zSC1zMhiMCPBLdn8uU
+O1ef/oEc984M5n+/XVkxNfwxzYbXUrStwafmDvKfaTJF7YaG12VVhiZAR5Q7AdMf
+3N9GNGG2MYxFT+nHTK7mJ0TDwmDGLht/cCeW+9/H7UcHd4PdFNm2DxylZcwilVoW
+HlBfiKzjKPyTLpc4tm7gc54aFBEwVoI195D6NBH9jPGEHG3EQG1WK3ZK68Ww13lY
+WNYYtox30YiNXE5kTOetNB9GJijp3nXO6dAggGZFy/l/oABC7fzTRDwSccIu8jUU
+rcWx2aswFvZ0QFAvhgLMFWm+OcPDR3q22GqRABEBAAG0LURhbmllbGUgVmFycmF6
+em8gPGRhbmllbGUudmFycmF6em9AZ21haWwuY29tPokBOAQTAQIAIgUCTUnwDQIb
+AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQYBO9Ovz5V96Z4QgAk7fDRO1+
++pQtHr6aNw04yvlTiEI+bsCLcKmJ7jyDfmOcnRRIj857gFj3czhi5F35WAwJzOTH
+/ekXRJxJvqKYxiDRCkvlf1LPHWWRSva9U4XiSxJXAAsKnfTGjz/uqJQlC/t9P5Ws
+VS0BEaetZf03fB6NVOMmUh1P2BkjSa1oGRnGxhbzBw/nyuwz4mHvoOirk1l7eK4Z
+ULMLwSJIXzCmBik8U1lYQJbYDRsbVNKtHLX+w/grYa/GGHOAdMX9sv14WrIcI8a+
+cc8N3go6fDOLweAYIKwaa7R4U7NN65kDQOoYGeHEhE5MYUXXzXlym7OlEBkN0wZ0
+a0pRF0KJq9HW37kBDQRNSfANAQgAskyiHU88f5ZGmBip+zcXrBINcTLQcSy0Arsa
+JPXRMssZrZokiDCZxf+fLu1Qqfjv2JN1E1gHZfQvXNxncCcpxQqYjm1HaV4XVzlc
+zxZRomTRMPNcsw13KCS8ZVdyjB1Qdls3exJ5be9IPALEp+0XDG7KLs5zVtYW9++s
+wo0onYjY+l51it67pOmuy+22YqxygFLD/DqhecKI2mFdJ5hxWpUEOCUquM5Gvjam
+HQArG23cmtwGTlvPyF+Denwr+67ToDbYD9snDmuo1lXzb76fCG5SRK5daFVBiskj
+T9khepjTaLaAJg/sJPcxeMFapPsU3pIF+EYZUcMbCCY7273MSwARAQABiQEfBBgB
+AgAJBQJNSfANAhsMAAoJEGATvTr8+VfeW9gH/0PRcT3NSGSdTfJQF9d8Ax3r/JzN
+5KEnE72WJ4DESLSCDNMk0nmZiu01S+G0+OcLvXXJB/fWJ7qAda8MfMW8EyHZ6Hmp
+bIZqGj89SnS/NUrTu8wJswjfmPhuqQqKr+S9piBNP9cv60UykpnTHAMtLG1n15wm
+M6qJDG7zokvVns0NrUC6d0LEFynOTdSSPapMT6vUAL1bbUrgVTbp+IL9CiGTHaiL
+IEcP4nMFcpCYhS62deyzV6sUuf8jE9t7tk/C5JPqJ1aIbAEke+RkftWJrhqYahM6
+oucXPu3ekrYaDNPhwV4KA1y9SXiWl5f+k6MwQ+ZdUKOz24MlnEUrtJWr3oo=
+=0syp
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..1fad87e
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=4
+opts="mode=git, gitmode=full, pgpmode=gittag, uversionmangle=s/.dev/~/;s/.alpha/~alpha/;s/.beta/~beta/;s/.rc/~rc/;s/([0-9])([ab][0-9]*)/$1~$2/g" \
+ https://github.com/psycopg/@PACKAGE@.git refs/tags/@ANY_VERSION@ \
+ debian uupdate