Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lHkoH-0001we-CK for pgadmin-hackers@arkaria.postgresql.org; Thu, 04 Mar 2021 10:02:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lHkoE-0004gs-6T for pgadmin-hackers@arkaria.postgresql.org; Thu, 04 Mar 2021 10:02:18 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lHkoD-0004eV-OF for pgadmin-hackers@lists.postgresql.org; Thu, 04 Mar 2021 10:02:18 +0000 Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lHko9-0002QX-Tk for pgadmin-hackers@postgresql.org; Thu, 04 Mar 2021 10:02:16 +0000 Received: by mail-ej1-x635.google.com with SMTP id jt13so48266509ejb.0 for ; Thu, 04 Mar 2021 02:02:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin.org; s=google; h=mime-version:from:date:message-id:subject:to:cc; bh=Q3ucKYf2pZNpTwMbVRZUU1Fnk0skFZrDicRlDZCCvq4=; b=XJQokvhgjEivKVObY3kvFbcI9SBeYlY51b/gqZroq77u8evBTjoRNDMUMehz5wR3bF cN2G+j2Z/btyGLdLtKTCrBNm4WMTowfW+dZrkJBVciYkR71zEVYzoOXbsYeVZFyW4DnJ ZKAQr1gCSqHeKxgMEmdBlWMQPiSPhoj8PakHAzbacYo0Tfda4I4FR4/luWBVViki581h wtCd4gp/fzzuHIb8yPvOS3ds0xgA3wGRJUcIs9pFUb8ZwwHdUdzQuWalsT+aD6WubEHd prs4/B4PYCwui3AVlwABs7EjQrBLYVBqBt7KpprsQXDFNjx9HTbawvF1APII9w0BJVHe n8Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=Q3ucKYf2pZNpTwMbVRZUU1Fnk0skFZrDicRlDZCCvq4=; b=cjCY+ekPg3Flgbjf5SwQpJc6NzBgYMRLz27q9xJIJGT6WfLNFxyJ9b35HQU/JFxXZ7 S283EtgnufkD41XdQofj5MuUjp9aVMmQEAgXA41Gu165RYxRk0CYluY8HNeSbF2FtPnF 0d1gMo+jgTF2Dj1Y/XrnUPQKBDiAHB+FSyXLrNY3bQYNHoJLrNOiXel9T03KFojjkGP1 nYTjwL/rKaN7AWOk4uTcujDXHG+eSoR61RQgnt3f/RpudklqYP3KH0GLI068c3YyZPM2 eN/WTB5Xs9eEF60AqYRB9cYN2ejuxQFvXogGtOo7Ryg7lBub97tGJh9zGww2CJ0u6MZU mMjw== X-Gm-Message-State: AOAM532OTZnFIg4MbFXX6B9UIFcqs4a6xMnWqMBGyS7NvI4npdRCpPLh SjeGohYvGWD/EyFksPUbsmnWnb2jp2zsLlsVwRXw7Hs2m4JS5rmc X-Google-Smtp-Source: ABdhPJyXKssSIy7aAIUaYx6fZn9qcw42RJtR0FJr2zvx6ugJNkWl4Fje/NxkTpBrfTk46TES3FQZyjMsgNqMOWnXY5k= X-Received: by 2002:a17:906:228d:: with SMTP id p13mr3393431eja.412.1614852131311; Thu, 04 Mar 2021 02:02:11 -0800 (PST) MIME-Version: 1.0 From: Dave Page Date: Thu, 4 Mar 2021 10:02:00 +0000 Message-ID: Subject: Making Kerberos optional in the Python wheel To: pgadmin-hackers Cc: Shaheed Haque Content-Type: multipart/mixed; boundary="000000000000a706a105bcb30fee" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000a706a105bcb30fee Content-Type: multipart/alternative; boundary="000000000000a7069f05bcb30fec" --000000000000a7069f05bcb30fec Content-Type: text/plain; charset="UTF-8" There have been a couple of complaints that the latest Python wheel distribution doesn't install cleanly. This happens when there is no pre-built gssapi wheel on PyPi that matches the users combination of Python version and platform, *and* the MIT Kerberos development headers etc. are not present on the system, so the source wheel cannot be compiled. This seems like it's a bit onerous on users, especially if they're on Windows where they'll also need a suitable compiler to be installed. The attached patch aims to address that by making the Kerberos support optional (thankfully, Khushboo made the code handle lack of gssapi libraries). To install without gssapi, users would simply do: pip install pgadmin4 or pip install pip install /path/to/pgadmin4-5.0-py3-none-any.whl To install with gssapi: pip install pgadmin4['kerberos'] or pip install pip install /path/to/pgadmin4-5.0-py3-none-any.whl['kerberos'] The patch also cleans up some old cruft that was required for now unsupported Python versions. Thoughts? -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EDB: http://www.enterprisedb.com --000000000000a7069f05bcb30fec Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
There have been a couple of complaints that the latest Pyt= hon wheel distribution doesn't install cleanly. This happens when there= is no pre-built gssapi wheel=C2=A0on PyPi that matches the users combinati= on of Python version and platform, *and* the MIT Kerberos development heade= rs etc. are not present on the system, so the source wheel cannot be compil= ed.

This seems like it's a bit onerous=C2=A0on users= , especially if they're on Windows where they'll also need a suitab= le compiler to be installed. The attached patch aims to address that by mak= ing the Kerberos support optional (thankfully, Khushboo made the code handl= e lack of gssapi libraries).

To install without gs= sapi, users would simply do:

pip install pgadmin4<= /div>

or=C2=A0

pip install=C2= =A0pip install /path/to/pgadmin4-5.0-py3-none-any.whl

<= div>To install with gssapi:

pip install pgadm= in4['kerberos']

or=C2=A0

pip install=C2=A0pip install /path/to/pgadmin4-5.0-py3-none-any.whl= ['kerberos']

The patch also cleans up some= old cruft that was required for now unsupported Python versions.

Thoughts?

--
Da= ve Page
Blog: = http://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: http://www.enterprisedb.com=

--000000000000a7069f05bcb30fec-- --000000000000a706a105bcb30fee Content-Type: application/octet-stream; name="optional_kerberos.diff" Content-Disposition: attachment; filename="optional_kerberos.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_klup88ip0 SW5kZXg6IHBrZy9waXAvc2V0dXBfcGlwLnB5CklERUEgYWRkaXRpb25hbCBpbmZvOgpTdWJzeXN0 ZW06IGNvbS5pbnRlbGxpai5vcGVuYXBpLmRpZmYuaW1wbC5wYXRjaC5DaGFyc2V0RVAKPCs+VVRG LTgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gcGtnL3BpcC9zZXR1cF9waXAucHkJKHJldmlzaW9uIGVkNmRkYmI4 ZGU0ZTI5ZTcwYzQ5YTFjZjdkYzg4MTBjZDc5MzY0YWUpCisrKyBwa2cvcGlwL3NldHVwX3BpcC5w eQkoZGF0ZSAxNjE0ODUxNDg3NDA1KQpAQCAtMzUsMjMgKzM1LDE3IEBACiAgICAgYWxsX3JlcXVp cmVzID0gcmVxX2xpbmVzLnJlYWQoKS5zcGxpdGxpbmVzKCkKIAogcmVxdWlyZXMgPSBbXQotZXh0 cmFzX3JlcXVpcmUgPSB7fQotIyBSZW1vdmUgYW55IHJlcXVpcmVtZW50cyB3aXRoIGVudmlyb25t ZW50IHNwZWNpZmllcnMuIFRoZXNlCi0jIG11c3QgYmUgZXhwbGljaXRseSBsaXN0ZWQgaW4gZXh0 cmFzX3JlcXVpcmUgYmVsb3cuCitrZXJiZXJvc19leHRyYXMgPSBbXQorIyBFbnN1cmUgdGhlIFdo ZWVsIHdpbGwgdXNlIHBzeWNvcGcyLWJpbmFyeSwgbm90IHRoZSBzb3VyY2UgZGlzdHJvLCBhbmQg c3RpY2sKKyMgZ3NzYXBpIGluIGl0J3Mgb3duIGxpc3QKIGZvciBpbmRleCwgcmVxIGluIGVudW1l cmF0ZShhbGxfcmVxdWlyZXMpOgotICAgIGlmICI7IiBpbiByZXEgb3IgcmVxLnN0YXJ0c3dpdGgo IiMiKSBvciByZXEgPT0gIiI6Ci0gICAgICAgICMgQWRkIHRoZSBwa2dzIHRvIGV4dHJhc19yZXF1 aXJlCi0gICAgICAgIGlmICI7IiBpbiByZXE6Ci0gICAgICAgICAgICBwa2csIGVudl9zcGVjID0g cmVxLnNwbGl0KCI7IikKLSAgICAgICAgICAgIGV4dHJhc19yZXF1aXJlW2Vudl9zcGVjXSA9IGV4 dHJhc19yZXF1aXJlLmdldChlbnZfc3BlYywgW10pCi0gICAgICAgICAgICBleHRyYXNfcmVxdWly ZVtlbnZfc3BlY10uYXBwZW5kKHBrZykKLSAgICAgICAgY29udGludWUKLQotICAgICMgRW5zdXJl IHRoZSBXaGVlbCB3aWxsIHVzZSBwc3ljb3BnMi1iaW5hcnksIG5vdCB0aGUgc291cmNlIGRpc3Ry bwogICAgIGlmICdwc3ljb3BnMicgaW4gcmVxOgogICAgICAgICByZXEgPSByZXEucmVwbGFjZSgn cHN5Y29wZzInLCAncHN5Y29wZzItYmluYXJ5JykKIAotICAgIHJlcXVpcmVzLmFwcGVuZChyZXEp CisgICAgaWYgJ2dzc2FwaScgaW4gcmVxOgorICAgICAgICBrZXJiZXJvc19leHRyYXMuYXBwZW5k KHJlcSkKKyAgICBlbHNlOgorICAgICAgICByZXF1aXJlcy5hcHBlbmQocmVxKQogCiAjIEdldCB0 aGUgdmVyc2lvbgogY29uZmlnID0gbG9hZF9zb3VyY2UoJ0FQUF9WRVJTSU9OJywgJy4uL3dlYi9j b25maWcucHknKQpAQCAtNzcsNyArNzEsNiBAQAogICAgICAgICAnRGV2ZWxvcG1lbnQgU3RhdHVz IDo6IDUgLSBQcm9kdWN0aW9uL1N0YWJsZScsCiAKICAgICAgICAgIyBTdXBwb3J0ZWQgcHJvZ3Jh bW1pbmcgbGFuZ3VhZ2VzCi0gICAgICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24g OjogMy40JywKICAgICAgICAgJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjUn LAogICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNicsCiAgICAg ICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy43JywKQEAgLTkyLDcgKzg1 LDkgQEAKIAogICAgIGluc3RhbGxfcmVxdWlyZXM9cmVxdWlyZXMsCiAKLSAgICBleHRyYXNfcmVx dWlyZT1leHRyYXNfcmVxdWlyZSwKKyAgICBleHRyYXNfcmVxdWlyZT17CisgICAgICAgICJrZXJi ZXJvcyI6IGtlcmJlcm9zX2V4dHJhcywKKyAgICB9LAogCiAgICAgZW50cnlfcG9pbnRzPXsKICAg ICAgICAgJ2NvbnNvbGVfc2NyaXB0cyc6IFsncGdhZG1pbjQ9cGdhZG1pbjQucGdBZG1pbjQ6bWFp biddLApJbmRleDogcmVxdWlyZW1lbnRzLnR4dApJREVBIGFkZGl0aW9uYWwgaW5mbzoKU3Vic3lz dGVtOiBjb20uaW50ZWxsaWoub3BlbmFwaS5kaWZmLmltcGwucGF0Y2guQ2hhcnNldEVQCjwrPlVU Ri04Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIHJlcXVpcmVtZW50cy50eHQJKHJldmlzaW9uIGVkNmRkYmI4ZGU0 ZTI5ZTcwYzQ5YTFjZjdkYzg4MTBjZDc5MzY0YWUpCisrKyByZXF1aXJlbWVudHMudHh0CShkYXRl IDE2MTQ3ODg4Mjk3ODYpCkBAIC04LDEyICs4LDYgQEAKICMKICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKIAotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgTk9URTogQW55IHJlcXVpcmVtZW50cyB3 aXRoIGVudmlyb25tZW50IHNwZWNpZmllcnMgbXVzdCBiZSBleHBsaWNpdGx5IGFkZGVkCi0jICAg ICAgIHRvIHBrZy9waXAvc2V0dXBfcGlwLnB5IChpbiBleHRyYXNfcmVxdWlyZSksIG90aGVyd2lz ZSB0aGV5IHdpbGwgYmUKLSMgICAgICAgaWdub3JlZCB3aGVuIGJ1aWxkaW5nIGEgUElQIFdoZWVs LgotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiBjaGVyb290PT04LioKIEZsYXNrPT0xLioKIEZsYXNr LUdyYXZhdGFyPT0wLioKSW5kZXg6IHdlYi9yZWdyZXNzaW9uL3JlcXVpcmVtZW50cy50eHQKSURF QSBhZGRpdGlvbmFsIGluZm86ClN1YnN5c3RlbTogY29tLmludGVsbGlqLm9wZW5hcGkuZGlmZi5p bXBsLnBhdGNoLkNoYXJzZXRFUAo8Kz5VVEYtOAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3ZWIvcmVncmVzc2lv bi9yZXF1aXJlbWVudHMudHh0CShyZXZpc2lvbiBlZDZkZGJiOGRlNGUyOWU3MGM0OWExY2Y3ZGM4 ODEwY2Q3OTM2NGFlKQorKysgd2ViL3JlZ3Jlc3Npb24vcmVxdWlyZW1lbnRzLnR4dAkoZGF0ZSAx NjE0NzkwNzg0MDU2KQpAQCAtMjcsOCArMjcsMyBAQAogdHJhY2ViYWNrMj09MS40LjAKIHNlbGVu aXVtPT0zLjE0LjAKIGNvdmVyYWdlPT01LjAuMQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIE1vZHVsZXMgc3BlY2lmaWNh bGx5IHJlcXVpcmVkIGZvciBQeXRob24zLjMgb3IgbGVzc2VyIHZlcnNpb24KLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotbW9j az09PTIuMC4wOyBweXRob25fdmVyc2lvbiA8ICczLjMnCi0K --000000000000a706a105bcb30fee--