[Bug 273495] [NEW PORT] devel/reposilite: repository manager for Maven based artifacts in JVM ecosystem

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 05 Sep 2023 07:40:13 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273495

--- Comment #6 from Michael Osipov <michael.osipov@siemens.com> ---
A few issues:

* Makefile:
** Should have:
NO_ARCH=        yes
NO_BUILD=       yes
NO_TEST=        yes
** Empty STRIP isn't necessary
** USE_RC_SUBR=${PORTNAME}
** REPOSILITEUSER?=${PORTNAME}
** I was once told that one should supply the DISTVERSION only and the
framework will derive the PORTVERSION automatically
* reposilite.in:
** reposilite_run_dir => reposilite_rundir (similar to etcdir=
** reposilite_rundir: should be filtered from the Makefile
** reposilite_user: should be filtered from the Makefile
** reposilite_dir: does not make sense because the JAR cannot be moved, it is
mandated by the Makefile (convention) especially because you have hardcoded the
JAR name
** Beat me, but where does daemon(8) receive user/group to drop privs?
** Who needs this "export JAVA_HOME=${reposilite_java_home}"?
** reposilite_java_home is not used at all! reposilite_cmd completely ignores
it. Totally defeats the purpose
** required_files: Does not make sense to me. Java presence is during
build/installation; ${reposilite_config} is never created by you at
installation time
** I believe that this is redundant: reposilite_precmd. All required trees
should be created at installation time: See
https://github.com/michael-o/freebsd-ports/blob/c44ab5af99444359c6baab54143f2ddf8d21d999/devel/nexus2-oss/Makefile#L106-L108
and added to pkg-plist
** This is logically wrong: ${reposilite_dir:="%%DATADIR%%"}. DATADIR is in
share for static (!) files installed and used read-only at runtime. It is not a
work directory. What you need is ${reposilite_workdir:="%%WORKDIR%%"} where
WORKDIR points to /var/reposilite. 
** The header comment are partially inconsistent, e.g. rundir.
** folder ==> directory
** reposilite_flags or reposilite_args? Sould be args...
** reposilite_max_mem should be generalized to reposilite_java_opts. Why 32M?
Leave it empty since this should be user-configured unless you know better.
** reposilite_cmd: This should not be overwritable, no?

Yes, I am picky, but the later you address the issues the more expensive it is
going to be.

Please have a look at by Nexus 2 port, it separates between
etcdir/rundir/workdir and datadir. Should be here as well:
https://github.com/michael-o/freebsd-ports/tree/master/devel/nexus2-oss

-- 
You are receiving this mail because:
You are the assignee for the bug.