Bug 238368 - devel/mercurial: hg-ssh is not executable, and not available
Summary: devel/mercurial: hg-ssh is not executable, and not available
Status: Closed Works As Intended
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Kubilay Kocak
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-06 14:48 UTC by azmeuk@gmail.com
Modified: 2021-07-28 02:32 UTC (History)
0 users

See Also:
koobs: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description azmeuk@gmail.com 2019-06-06 14:48:45 UTC
Hi,
hg-ssh is installed with mercurial at /usr/local/share/mercurial/contrib/hg-ssh

It is not executable, and it is not available in the default $PATH. Some software like sourcehut (https://sr.ht) expect hg-ssh to be executable and available.

It also seems to be the case for the case for the other files in /usr/local/share/mercurial/contrib with a "env python" shebang. I suppose that dumprevlog, simplemerge, undumprevlog and hgk should also be executable, and available in $PATH
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2021-07-28 02:32:52 UTC
Apologies for the delay responding to this issue.

Mercurials setup.py doesn't include contrib/hg-ssh in its 'scripts' list, which is what tells setuptools to install things in LOCALBASE/bin. 

My take on this is that things in contrib/* are 'extra' conveniences, to be used directly by end users, and not necessary to be installed in an integrated manner on end user systems in the same manner 'hg' is.

In this case you are able at any time to invoke hg-ssh from the location it is installed, and my understanding of the `env python3` shebang is that is it is the appropriate PEP-394 compatible invocation.

Users may install the lang/python3 port to install the Python convenience symlinks.

If you believe hg-ssh warrants inclusion as a 'scripts' for integrated installation like `hg`, I'd suggest opening an issue upstream and making that case