Bug 240033 - www/gitea: depend on git-lite instead of full git
Summary: www/gitea: depend on git-lite instead of full git
Status: Closed Not Accepted
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Kubilay Kocak
Depends on:
Reported: 2019-08-22 07:56 UTC by Nils Johannsen
Modified: 2019-08-23 02:27 UTC (History)
2 users (show)

See Also:
koobs: maintainer-feedback+


Note You need to log in before you can comment on or make changes to this bug.
Description Nils Johannsen 2019-08-22 07:56:26 UTC
The port www/gitea depends on the full git port. The git port includes gui parts whoese require python, so that git depends on python. Therefore the memory footprint of gitea will become more than 250 MB in total.

But actually gitea only needs the essential git components whose will be offered by the git-lite port. In that case only a few dependencies are left, so that the memory footprint of gitea will be less than 120 MB in total.

Changing the dependency from git to git-lite follows more the idea of gitea to be very small and lightweight.
For small machines, embedded device or sometimes also for jails this memory cares.

gitea depending on full git:
% pkg info -s --all | sort -hr -k2
python36-3.6.9 105MiB
gitea-1.9.1 70.2MiB
perl5-5.30.0 58.2MiB
git-2.22.1 31.8MiB
pcre-8.43_2 6.60MiB
curl-7.65.3 3.48MiB
readline-8.0.0 1.70MiB
p5-Net-SSLeay-1.85 1.05MiB
gettext-runtime-0.20.1 870KiB
ca_root_nss-3.45 813KiB
p5-IO-Socket-SSL-2.066 665KiB
expat-2.2.6_1 640KiB
libnghttp2-1.39.2 635KiB
p5-CGI-4.44 390KiB
p5-Mozilla-CA-20180117 257KiB
p5-HTML-Parser-3.72 185KiB
libffi-3.2.1_3 131KiB
p5-GSSAPI-0.28_1 127KiB
cvsps-2.1_2 110KiB
p5-Authen-SASL-2.16_1 95.8KiB
p5-Error-0.17027 64.6KiB
p5-Socket6-0.29 48.0KiB
p5-IO-Socket-INET6-2.72_1 29.5KiB
p5-HTML-Tagset-3.20_1 23.1KiB
indexinfo-0.3.1 20.6KiB
p5-Digest-HMAC-1.03_1 16.5KiB

gitea depending on git-lite:
% pkg info -s --all | sort -hr -k2
gitea-1.9.1 70.2MiB
git-lite-2.22.0 29.8MiB
pcre-8.43_1 6.60MiB
curl-7.65.1_1 3.48MiB
gettext-runtime-0.20.1 869KiB
ca_root_nss-3.45 813KiB
expat-2.2.6_1 640KiB
libnghttp2-1.39.2 635KiB
indexinfo-0.3.1 20.6KiB

I've already tried the functionality of gitea and it works fine so far with only git-lite:
# doas portsnap fetch extract
# cd /usr/ports/www/gitea
# nvim Makefile
- RUN_DEPENDS= git:devel/git
+ RUN_DEPENDS= git:devel/git-lite
# make package
=> gitea-1.9.1.txz

The only disadvantage I've determined: git-lite conflicts with git.
Regards, Nils
Comment 1 stb 2019-08-22 21:20:46 UTC
I think the package dependency change is a show stopper, if only because it will violate POLA.

Until pkg can handle this kind of "multiple" dependency, I think the Gitea port should stick to the established git port/package dependency, even if it pulls in more stuff than strictly necessary.
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2019-08-23 02:27:39 UTC
^Triage: Maintainer feedback provided (+)