Page MenuHomeFreeBSD

security/clamav-lts: Repocopy from security/clamav
ClosedPublic

Authored by yasu on Sep 28 2021, 9:06 AM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 22 2023, 10:27 PM
Unknown Object (File)
Nov 11 2023, 2:58 AM
Unknown Object (File)
Nov 7 2023, 11:10 PM
Unknown Object (File)
Nov 7 2023, 3:33 PM
Unknown Object (File)
Nov 7 2023, 12:09 PM
Unknown Object (File)
Nov 5 2023, 8:08 AM
Unknown Object (File)
Oct 31 2023, 3:21 AM
Unknown Object (File)
Oct 10 2023, 1:59 AM
Subscribers

Details

Reviewers
meta
ygy
Summary

Copy security/clamav to security/clamav-lts as preparaton for adding
long term support version of ClamAV.

Approved by: meta (mentor), ygy (mentor)

Diff Detail

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

Event Timeline

yasu requested review of this revision.Sep 28 2021, 9:06 AM

Add "Differential Revision:" to commit message.

Can you add one more commit to change copied port to the actual LTS port?

Don't forget to add clamav-lts port to security/Makefile.

In svn/git there is no really "repocopy" step like cvs era, we can just copy and modify, then directly commit (and push), the VCS will take care of the rest.

I suggest before connecting to the build (adding to security/Makefile), modify PORTVERSION and get rid of PORTEPOCH (the last chance).

We many also need PKGNAMESUFFIX= -lts to prevent ${PKGNAME} duplicate.

In D32175#726146, @meta wrote:

Can you add one more commit to change copied port to the actual LTS port?

Do you mean to create another review for update to actual LTS port and make it child of this review?
Or should I do something else?

In D32175#726796, @yasu wrote:
In D32175#726146, @meta wrote:

Can you add one more commit to change copied port to the actual LTS port?

Do you mean to create another review for update to actual LTS port and make it child of this review?
Or should I do something else?

No, add one more commit to this review that updates to actual LTS port. For example, add PKGNAMESUFFIX, add CONFLICTS, reset PORTEPOCH as @lwhsu mentioned.

I'm going to let you squash commits later before pushing. Do not worry about making more than two commits in this review.

In svn/git there is no really "repocopy" step like cvs era, we can just copy and modify, then directly commit (and push), the VCS will take care of the rest.

Git handles file copy and rename automatically, based on diff. However, I remember svn requires svn cp to take over version history. For example, svn cp -r clamav clamav-lts.

Anyway, I agree it can be done as simple copy in git.

I suggest before connecting to the build (adding to security/Makefile), modify PORTVERSION and get rid of PORTEPOCH (the last chance).

Yes, PORTEPOCH should not be set to new port in general. However, in this case I think it is better to keep it with following reason.

  1. Recently upstream changed their end-of-life policy as following.
    • Regular feature release (= 0.xyz.0 release) is released more frequently, and life time of each feature release is shortened to about 4 months.
    • To compensate for the short lifetime of regular feature release, Long Term Support feature release is introduced and its life time is about 3 years.
  2. First LTS starts with version 0.103.3 and it is same as current version of security/clamav.
  3. Because of short lifetime of regular feature release, I think not a few users of security/clamav will switch to security/clamav-lts after the latter is connected (and the former is updated to 0.104.0).
  4. For such users I'll add an entry to UPDATING about how to switch from security/clamav to security/clamav-lts. And for official package user I'll suggest to execute pkg set -o security/clamav:security/clamav-lts. This command changes the origin of already installed clamav packages. So user can switch to LTS version without reinstalling.
  5. But if PORTEPOCH is removed from security/clamav-lts, official package user who executed above command will notice that version of installed package (0.103.3,1) succeeds to current version of security/clamav-lts (0.103.3_1). The situation doesn't change after new patch release (0.103.4 for example) is released and it causes the problem that installed package isn't properly upgraded with pkg upgrade.
  6. So I would like keep PORTEPOCH of security/clamav-lts to prevent official package user from suffering such problem.

I see. Regarding PORTEPOCH, it makes sense to keep it.

BTW, CONFLICTS needs to be added also to clamav/Makefile because security/clamav and security/clamav-lts cannot be installed at the same time. They install files at the same location.

Squash repocopy and update into single commit.

The latter includes following changes.

  • Add PKGNAMESUFFIX
  • Update COMMENT and pkg-descr
  • Add CONFLICTS_INSTALL to both security/clamav and security/clamav-lts
  • Add entry to UPDATING that explain
    • Upstream changed their end-of-life policy and LTS release is introduced
    • How to switch from security/clamav to security/clamav-lts
  • Pet portclippy
  • Reformat Makefile with portfmt
  • Connect this port to ports tree

Commit message is also updated to include note about keeping PORTEPOCH.

Overall, LGTM but I would like to request @lwhsu and @ygy peer review.

Put lwhsu to Reviewed by: line if he actually reviewed.

UPDATING
8

Change this to the actual date before push.

security/clamav/Makefile
8

I think COMMENT should be in sync with LTS version but it can be changed later when you update non-LTS version.

  • Update date of entry in UPDATING
  • Revert chages of COMMENT and pkg-descr. They will be updated after security/clamav updated.
  • Chase update of ports tree
  • Update date of entry in UPDATING
  • Chase update of ports tree
  • Update date of entry in UPDATING

LGTM but let's wait until @ygy reviews.

This revision is now accepted and ready to land.Oct 7 2021, 3:07 AM

This looks good to me.