Patchwork D8062: packaging: bundle dulwich, keyring, and pywin32-ctypes with WiX too

login
register
mail settings
Submitter phabricator
Date Feb. 1, 2020, 6:48 a.m.
Message ID <differential-rev-PHID-DREV-xnyruzx6fzqtsob3jsiu-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/44860/
State Superseded
Headers show

Comments

phabricator - Feb. 1, 2020, 6:48 a.m.
mharbison72 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  TortoiseHg installs these, which is possibly where they originated (though I
  would have thought it more likely to be in the WiX installer, given its
  heritage).  When I was working on the TortoiseHg app for Mac (which uses the
  similar `py2app`), it wasn't possible to use the keyring extension (even
  externally) without bundling this keyring package into the app.  Assuming the
  same principle applies here, these would enable some common extensions.  One of
  the things that the TortoiseHg packager on macOS does now is it adds the user's
  local `site-packages` directory to `sys.path`.  That would allow the user to
  install these critical modules in cases like this.  But that can probably wait
  for py3 packaging.
  
  The only difference in the installed packages that I see now is WiX also bundles
  distutils for some reason.  I suppose that's not harming anything, so I'm not
  touching it.
  
  The only orphans in the install directories when comparing WiX and Inno now is
  the Copying.txt vs COPYING.rtf, the two uninstaller files for Inno, and a
  `Mercurial.url` file in Inno.  I have no idea what that is, and it has *.ini
  syntax with a single field pointing to the Mercurial homepage.

REPOSITORY
  rHG Mercurial

BRANCH
  stable

REVISION DETAIL
  https://phab.mercurial-scm.org/D8062

AFFECTED FILES
  contrib/packaging/hgpackaging/wix.py
  contrib/packaging/wix/requirements.txt
  contrib/packaging/wix/requirements.txt.in

CHANGE DETAILS




To: mharbison72, #hg-reviewers
Cc: mercurial-devel
phabricator - Feb. 1, 2020, 11:57 p.m.
This revision is now accepted and ready to land.
indygreg added a comment.
indygreg accepted this revision.


  As a follow-up, we can likely merge the `requirements.txt[.in]` files now.
  
  Regarding the `Mercurial.url` file, that's a shortcut file that gets installed so people can open the Mercurial homepage with one click. I believe it is also a start menu entry. It feels like the kind of thing we can remove.

REPOSITORY
  rHG Mercurial

BRANCH
  stable

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8062/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8062

To: mharbison72, #hg-reviewers, indygreg
Cc: indygreg, mercurial-devel

Patch

diff --git a/contrib/packaging/wix/requirements.txt.in b/contrib/packaging/wix/requirements.txt.in
--- a/contrib/packaging/wix/requirements.txt.in
+++ b/contrib/packaging/wix/requirements.txt.in
@@ -1,2 +1,7 @@ 
 docutils
+dulwich
+keyring
 pygments
+# Need to list explicitly so dependency gets pulled in when
+# not running on Windows.
+pywin32-ctypes
diff --git a/contrib/packaging/wix/requirements.txt b/contrib/packaging/wix/requirements.txt
--- a/contrib/packaging/wix/requirements.txt
+++ b/contrib/packaging/wix/requirements.txt
@@ -4,10 +4,42 @@ 
 #
 #    pip-compile --generate-hashes --output-file=contrib/packaging/wix/requirements.txt contrib/packaging/wix/requirements.txt.in
 #
+certifi==2019.9.11 \
+    --hash=sha256:e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50 \
+    --hash=sha256:fd7c7c74727ddcf00e9acd26bba8da604ffec95bf1c2144e67aff7a8b50e6cef \
+    # via dulwich
+configparser==4.0.2 \
+    --hash=sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c \
+    --hash=sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df \
+    # via entrypoints
 docutils==0.15.2 \
     --hash=sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0 \
     --hash=sha256:9e4d7ecfc600058e07ba661411a2b7de2fd0fafa17d1a7f7361cd47b1175c827 \
     --hash=sha256:a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99
+dulwich==0.19.13 \
+    --hash=sha256:0e442f6f96e6d97270a7cca4e75306b6b0228627bdf57dde3759e0e345a6b523 \
+    --hash=sha256:667f49536ccba09d3b90bac80d44048e45566f84b98a5e139cc8c70757a6ae60 \
+    --hash=sha256:82792a9d49b112fa2151fa0fb29b01667855a843ff99325b1c1578a4aec11b57 \
+    --hash=sha256:aa628449c5f594a9a282f4d9e5993fef65481ef5e3b9b6c52ff31200f8f5dc95 \
+    --hash=sha256:ab4668bc4e1996d12eb1910e123a09edcff8e166e7ec46db5aafb5c7e250b99f \
+    --hash=sha256:c35ed2cd5b263ce0d67758ffba590c0466ff13b048457ff060b7d2e6cb55a40e \
+    --hash=sha256:c8b48079a14850cbeb788b38e1061ae6db75061431c1c0f91382460be4c84bbe \
+    --hash=sha256:dfcd9943c69f963dd61a027f480d16f548ea5905c2485be8f4b8f130df2c32de \
+    --hash=sha256:e3693c3238c1a5fc1e4427281c4455d78549f4797f2a7107a5f4443b21efafb4
+entrypoints==0.3 \
+    --hash=sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19 \
+    --hash=sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451 \
+    # via keyring
+keyring==18.0.1 \
+    --hash=sha256:67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838 \
+    --hash=sha256:7b29ebfcf8678c4da531b2478a912eea01e80007e5ddca9ee0c7038cb3489ec6
 pygments==2.4.2 \
     --hash=sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127 \
     --hash=sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297
+pywin32-ctypes==0.2.0 \
+    --hash=sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942 \
+    --hash=sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98
+urllib3==1.25.6 \
+    --hash=sha256:3de946ffbed6e6746608990594d08faac602528ac7015ac28d33cee6a45b7398 \
+    --hash=sha256:9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86 \
+    # via dulwich
diff --git a/contrib/packaging/hgpackaging/wix.py b/contrib/packaging/hgpackaging/wix.py
--- a/contrib/packaging/hgpackaging/wix.py
+++ b/contrib/packaging/hgpackaging/wix.py
@@ -31,8 +31,11 @@ 
 
 
 EXTRA_PACKAGES = {
+    'dulwich',
     'distutils',
+    'keyring',
     'pygments',
+    'win32ctypes',
 }