Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 738902 - dev-vcs/git should not enable USE=perl by default and should warn about functionality that requires perl use flag support
Summary: dev-vcs/git should not enable USE=perl by default and should warn about funct...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Robin Johnson
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-25 05:56 UTC by Reva Denis
Modified: 2020-08-26 05:43 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Reva Denis 2020-08-25 05:56:12 UTC
dev-vcs/git enables perl support by default, which usually does not required.


Reproducible: Always

Actual Results:  
* dev-vcs/git
     Available versions:  2.23.3^t 2.24.3^t 2.25.4^t 2.26.2^t ~2.27.0^t ~2.28.0^t **9999*l^t **9999-r1*l^t **9999-r2*l^t **9999-r3*l^t
     IUSE (all versions): +blksha1 cgi +curl cvs doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 subversion test +threads tk +webdav xinetd PYTHON_SINGLE_TARGET="python3_6 python3_7"
     Installed versions:  Version:   2.26.2^t
                          Date:      05:52:50 08/25/20
                          USE:       blksha1 curl gpg iconv nls pcre pcre-jit threads webdav -cgi -cvs -doc -emacs -gnome-keyring -highlight -libressl -mediawiki -mediawiki-experimental -perforce -perl -ppcsha1 -subversion -test -tk -xinetd PYTHON_SINGLE_TARGET="-python3_6 -python3_7"
                          DEPEND:    dev-libs/openssl:0/1.1= sys-libs/zlib dev-libs/libpcre2[jit(+)] net-misc/curl dev-libs/expat virtual/libiconv
                          RDEPEND:   ${DEPEND} app-crypt/gnupg
                          BDEPEND:   sys-devel/gettext virtual/pkgconfig
                          SRC_URI:   
                          EAPI:      7
     Best versions/slot:  2.26.2^t
     Package sets:        userapps
     Homepage:            https://www.git-scm.com/
     Find open bugs:      https://bugs.gentoo.org/buglist.cgi?quicksearch=dev-vcs%2Fgit
     Description:         stupid content tracker: distributed VCS designed for speed and efficiency
     License:             GPL-2



RarogCmexDell ~ # equery u dev-vcs/git
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
 * Found these USE flags for dev-vcs/git-2.26.2:
 U I
 + + blksha1                        : Use the new optimized SHA1 implementation
 - - cgi                            : Install gitweb too
 + + curl                           : Support fetching and pushing (requires webdav too) over http:// and https:// protocols
 - - cvs                            : Enable CVS (Concurrent Versions System) integration
 - - doc                            : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
 - - emacs                          : Add support for GNU Emacs
 - - gnome-keyring                  : Enable support for storing passwords via gnome-keyring
 + + gpg                            : Pull in gnupg for signing -- without gnupg, attempts at signing will fail at runtime!
 - - highlight                      : GitWeb support for app-text/highlight
 + + iconv                          : Enable support for the iconv character set conversion library
 - - libressl                       : Use dev-libs/libressl instead of dev-libs/openssl when applicable (see also the ssl useflag)
 - - mediawiki                      : Support pulling and pushing from MediaWiki
 - - mediawiki-experimental         : Add experimental patches for improved MediaWiki support
 + + nls                            : Add Native Language Support (using gettext - GNU locale utilities)
 + + pcre                           : Add support for Perl Compatible Regular Expressions
 + + pcre-jit                       : Enable JIT for pcre
 - - perforce                       : Add support for Perforce version control system (requires manual installation of Perforce client)
 - - perl                           : Add optional support/bindings for the Perl language
 - - python_single_target_python3_6 : Build for Python 3.6 only
 - - python_single_target_python3_7 : Build for Python 3.7 only
 - - subversion                     : Include git-svn for dev-vcs/subversion support
 - - test                           : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be
                                      toggled independently)
 + + threads                        : Add threads support for various packages. Usually pthreads
 - - tk                             : Include the 'gitk' and 'git gui' tools
 + + webdav                         : Adds support for push'ing to HTTP/HTTPS repositories via DAV
 - - xinetd                         : Add support for the xinetd super-server
Comment 1 Reva Denis 2020-08-25 05:57:01 UTC
In my system:
RarogCmexDell ~ # equery d dev-vcs/git
 * These packages depend on dev-vcs/git:
dev-util/meson-0.54.3 (test ? dev-vcs/git)
dev-vcs/git-lfs-2.11.0 (dev-vcs/git)
sys-devel/gettext-0.20.2 (git ? dev-vcs/git)
www-apps/gitea-1.12.1 (dev-vcs/git)
Comment 2 Reva Denis 2020-08-25 05:58:03 UTC
"perl" use does not required for pcre support.
Comment 3 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-08-25 09:52:28 UTC
(In reply to Reva Denis from comment #2)
> "perl" use does not required for pcre support.

It should be left on, as last I checked, some very popular functionality, like "git rebase --interactive", requires it to work.

Turning it off should be left for people who know what they're doing.
Comment 4 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-08-25 09:53:14 UTC
(In reply to Kent Fredric (IRC: kent\n) from comment #3)
> (In reply to Reva Denis from comment #2)
> > "perl" use does not required for pcre support.
> 
> It should be left on, as last I checked, some very popular functionality,
> like "git rebase --interactive", requires it to work.
> 
> Turning it off should be left for people who know what they're doing.

Or was it `git add -p` that uses it, I forget.
Comment 5 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-08-25 09:58:35 UTC
/usr/libexec/git-core/git-add--interactive:         Perl script text executable
/usr/libexec/git-core/git-archimport:               Perl script text executable
/usr/libexec/git-core/git-contacts:                 Perl script text executable
/usr/libexec/git-core/git-send-email:               Perl script text executable
Comment 6 Reva Denis 2020-08-25 10:03:35 UTC
So It should warn about it in ebuild or in USE description in metadata.xml.
Comment 7 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-08-25 20:16:32 UTC
(In reply to Reva Denis from comment #6)
> So It should warn about it in ebuild or in USE description in metadata.xml.

Metadata.xml should be better, yes, should say something about: 

> (required by: `add --interactive`, `archimports`, `contacts`, `send-email` subcommands)

Especially as the fact it provides some kind of "bindings for perl" is a bit of a red-herring, as practically nobody actually uses those bindings, they're only really useful for git itself, and other git subcommands.

But it very much should remain on by default, as people setting no preferences at all results in them having a git that is effectively broken, as it will fail if you merely follow the documented features. ( That is, disabling `USE=perl` for git is something that should only be done by experts who understand what they're doing )
Comment 8 Reva Denis 2020-08-26 05:43:04 UTC
Ok, I mark it as resolved. However, may you add the warning about disabling perl bindings?