[Bug 265651] [NEW PORT] archivers/zpaqfranz: versioned/snapshot archive

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 20 Aug 2022 16:33:16 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265651

--- Comment #21 from Felix Palmen <zirias@freebsd.org> ---
(In reply to Franco Corbelli from comment #20)
> If static linking is not allowed on FreeBSD, then let it be dynamic
It's not forbidden, but it's typically removed if there is no unavoidable
reason. Remember, we're talking about managed packages here. No way required
libs will just disappear (except for a user going rogue as root, but that's not
really a concern). In your case, you're only linking libraries from base. Those
are guaranteed to never receive incompatible changes (but they *might* receive
security updates). Linking them statically will have two undesirable effects:

- you can't control whether security fixes are really applied
- you lose reproducible builds when these libs are ever changed

So, in this case here, I see no reason for static linking. It's a different
story if you want to provide a "portable" binary outside of FreeBSD ports as
some kind of rescue tool, there, static linking makes a lot of sense.

> I will make another one, almost identical, where the executable will be called
> just... dir
Almost certainly, this wouldn't be accepted, and people would tell you "add a
symlink to your original port".

> Because it happens to remove the executable of zpaqfranz, keeping the one of
> dir.
No, this certainly doesn't happen when both are in the same package. Again, a
root user "going rogue" is not a relevant scenario.

> When there is a (backup) program update "you" can't just change the executable
> and that's it, from version 5.3 to 5.4.
> 
> You will need to keep at least two different program versions (the old and the
> new) and two different backup archives (the old and the new)
> […]
This sounds like a port/package would be unsuitable for your software. There's
no sane way to keep multiple versions installed. You would have to create a new
port for each and every version if that is *really* needed :o

Multiple ports can be a strategy (there are ports doing that), but not if every
single version drops backwards compatibility ... it can't grow forever.

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