Page MenuHomeFreeBSD

Add schilytools port comprising 10 ports
ClosedPublic

Authored by fuz on Jun 7 2021, 12:36 PM.
Tags
None
Referenced Files
F105796321: D30669.diff
Fri, Dec 20, 7:59 PM
Unknown Object (File)
Sat, Dec 7, 6:41 AM
Unknown Object (File)
Mon, Dec 2, 6:18 AM
Unknown Object (File)
Sat, Nov 30, 4:46 AM
Unknown Object (File)
Sat, Nov 30, 4:46 AM
Unknown Object (File)
Sat, Nov 30, 4:46 AM
Unknown Object (File)
Sat, Nov 30, 4:45 AM
Unknown Object (File)
Sat, Nov 30, 4:45 AM
Subscribers

Details

Summary

In 2018, Jörg Schilling consolidated all his projects into the
schilytools project and stopped providing new separate releases for the
individual projects (such as cdrtools, smake, star, and ved). Hence,
the FreeBSD ports of these projects have been stuck on outdated versions
for years.

With this changeset, the schilytools are added to the ports collection
as a collection of 10 ports:

devel/schilybase (libraries)
archivers/star
devel/sccs
devel/smake
devel/sunpromake
editors/ved
net/rscsi (split out from cdrtools for security reasons)
sysutils/cdrtools
sysutils/schilyutils (command line helpers, shells)
misc/schilytools (meta port for all of these)

Where appropriate, I've tried to keep existing patches and conventions
in tact. Some options have been renamed to more appropriate names,
others have been added or removed. The schilytools have been patched
not to install binaries with the same name as system binaries, though
some man pages with such names remain.

The split into slave ports largely follows the OpenCSW packages provided
by the author. Some differences are present:

  • strar has been moved from schilyutils to star
  • rscsi has been moved from cdrtools into a package on its own as it needs to be installed setuid to function.
  • mountcd is a Solaris only program and is not shipped
  • man2html is not shipped as it's already available in textproc/man2html
  • cdrecord, cdda2wav, and readcd are only installed setuid root if the user specifically requests so using a non-default option

This changeset unobsoletes the editors/ved port.

This changeset obsoletes the sysutils/cdrtools-devel port as schilytools
provide a newer version than the old development version shipped therein.

This changeset obsoletes the sysutils/sformat port as sformat is now
included in sysutils/schilyutils. If desired, I can split it back out into a
port on its own.

This changeset overwrites the following ports, the maintainers have
previously been informed via PR and direct email but haven't responded.
They have also been added as reviewers to this changeset.

archivers/star (mm@freebsd.org)
devel/smake (no maintainer)
sysutils/cdrtools (marius@freebsd.org)
sysutils/cdrtools-devel (marius@freebsd.org)
sysutils/sformat (marius@freebsd.org)

I'm willing to take over maintainership for these ports.

Test Plan

Tested with poudriere on 13.0-RELEASE amd64, i386, armv7, and amd64.
Portlint doesn't really like the way I set up the slave ports but
otherwise doesn't complain too much. I'd appreciate some manual
reviews of the way the ports are set up.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 39764
Build 36653: arc lint + arc unit

Event Timeline

fuz requested review of this revision.Jun 7 2021, 12:36 PM

archivers/star: do not install an mt binary

A last minute change I somehow forgot to include.

sysutils/sformat: obsolete; subsumed under sysutils/schilyutils

sformat is included in sysutils/schilyutils. I was unaware that
a port already exists. The maintainer of that port, marius@freebsd.org
is already subscribed to this differential revision.

archivers/star: simplify Makefile

This applies code review feedback by nimaje from the #freebsd-ports IRC channel on libera.chat

archivers/star/Makefile
29

That is being too clever. Never trade readability with optimization.

Using this is probably better:

TARTEST_VARS=  COMPONENTS+=tartest
archivers/star/Makefile
19–21

This can be removed.

sysutils/cdrtools/Makefile
18–25

address code review feedback by mat

This change set applies all fixes requested by mat.

fuz marked 3 inline comments as done.Jun 19 2021, 12:38 PM

Mark items addressed by Diff 90898 as done.

Add forgotten USE_LDCONFIG

The ports devel/schilybase and devel/sunpromake install
shared libraries. Add USE_LDCONFIG to these so the shared
library cache is updated on install and deinstall.

sysutils/schilyutils: rename bin/compare to bin/scompare

graphics/ImageMagick* already install a compare binary, so
rename compare to scompare so both can be installed at the
same time.

Also rebase the DR onto main for easy application.

otis requested changes to this revision.Jun 21 2021, 5:00 PM
otis added inline comments.
MOVED
16347

sysutils/schilyutils for consistency.

devel/schilybase/Makefile.master
53

Do not silence commands.

This revision now requires changes to proceed.Jun 21 2021, 5:00 PM
fuz requested review of this revision.Jun 21 2021, 5:20 PM
fuz marked an inline comment as done.

Will fix the MOVED issue shortly. Please let me know if you still want the silencing to be taken out, given that it seems to be recommended by the Porter's handbook and is general practice in many other ports.

MOVED
16347

Will upload a revision to address this in a minute; waiting for a response from you to my other comment first.

devel/schilybase/Makefile.master
53

The handbook suggests silencing commands for extraction and patching as shown e.g. in section 4.4.3 of the Porter's handbook. This is done in many other ports as well, e.g. in audio/portaudio, databases/mysql80-server, devel/git, and graphics/sdl2_image.

If desired, I can however remove the silencing.

fuz marked an inline comment as done.
  • MOVED: fix wrong port name in sysutils/sformat entry
  • devel/schilybase: unsilence post-extract commands

This addresses all feedback by otis.

fuz marked an inline comment as done.Jun 22 2021, 2:56 PM

Address all feedback by otis, implementing the changes he suggested.

otis requested changes to this revision.Jun 30 2021, 9:31 PM

Please rebase to current main please.

This revision now requires changes to proceed.Jun 30 2021, 9:31 PM

Rebase onto current main branch as requested by otis.

devel/schilybase: refactor bootstrap smake logic

This applies otis' changes to only build the bootstrap smake
for devel/schilytools and devel/smake. The logic is refactored
to have it build if BOOTSTRAP_SMAKE=yes, allowing the user to
avoid building a bootstrap smake if he has an smake binary from
another source in the path (e.g. from a previous schilytools
install). Also make the smake build time dependency more
lenient: any smake should work for this.

LGTM.

Builds OK at 13.0-STABLE and 14.0-CURRENT on amd64.

This revision is now accepted and ready to land.Jul 1 2021, 7:58 PM
otis requested changes to this revision.Jul 1 2021, 8:11 PM

There are some nits to pick yet.

This revision now requires changes to proceed.Jul 1 2021, 8:11 PM

LGTM for now.

There is some work left for upstream.

This revision is now accepted and ready to land.Jul 1 2021, 8:48 PM