Page MenuHomeFreeBSD

sysutils/conky: take maintainership
AbandonedPublic

Authored by uzsolt on Feb 7 2024, 11:36 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 27, 8:48 AM
Unknown Object (File)
Sat, Apr 27, 7:52 AM
Unknown Object (File)
Sat, Apr 27, 7:52 AM
Unknown Object (File)
Sat, Apr 27, 7:52 AM
Unknown Object (File)
Sat, Apr 27, 7:51 AM
Unknown Object (File)
Sat, Apr 27, 7:51 AM
Unknown Object (File)
Sat, Apr 27, 7:51 AM
Unknown Object (File)
Sat, Apr 27, 7:51 AM
Subscribers
None

Details

Reviewers
bofh
diizzy
Summary

Take sysutils/conky's maintainership.
Pet portclippy:

  • remove empty lines between option helpers
  • fix tabs
  • remove SLAVEDIRS (unused) variable

Portlint reports warnings about USE_LDCONFIG and NLS knobs. Should I do something about it?

Ideas: remove some options. I think should remove those option who doesn't implies additional dependency (IPV6, MOC, MPD). What do you think?

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

uzsolt created this revision.

Take sysutils/conky's maintainership.

This is alright.

Pet portclippy:
Portlint reports warnings about USE_LDCONFIG and NLS knobs. Should I do something about it?

USE_LDCONFIG is definitely worth looking. And testing again by adding it.
About NLS at first check whether if there is an easy CMAKE knob like --enable/--disable or --with/--without or -D flag nls/gettext with which you can easily optionize the NLS option. But from what it looks like with my basic search is that there is no such option like that in the source code. So I will say that you can safely ignore that.

My knowledge on X related ports is a little bit rusty and @diizzy has more knowledge on these sort of ports. So also consider what he says regarding these.

fix tabs

In most cases if you use portfmt Makefile it's properly handled.

remove SLAVEDIRS (unused) variable

As mentioned in the inline code you have to readd this. However for better choices I would say if you can change it to FLAVORS.

Ideas: remove some options. I think should remove those option who doesn't implies additional dependency (IPV6, MOC, MPD). What do you think?

I think a long time ago we have only decided to remove IPV6 option and make it as default. So you can remove the IPV6 OPTIONS and add -DBUILD_IPV6=true to CMAKE_ARGS.

Also do not forget to BUMP PORTREVISION when you are mainly adding LICENSE or also changing DEFAULT OPTIONS. If the port is not bumped the LICENSE file will not go in the pkg manifest.

sysutils/conky/Makefile
29

Be careful while removing SLAVEDIRS. Despite feeling like they are unused they are actually used. See the port sysutils/conky-awesome. This should be readded.

bofh requested changes to this revision.Feb 7 2024, 12:52 PM
This revision now requires changes to proceed.Feb 7 2024, 12:52 PM

USES= tar:bzip2 in Makefile is incorrect

Manpage seems to be available here https://github.com/brndnmtthws/conky/releases/tag/v1.19.6 so you might want to consider using that instead of pulling in pandoc and friends.

I agree on enabling options that do not pull in dependencies and do not cause runtime issues, less options is better

The X stuff looks fine having a quick glance at it

sysutils/conky/Makefile
11

LICENSE_FILE is available in repo, please add it

24

CMAKE_OFF= ....

57

Don't lump these together and I would argue that you should follow the "generic order" so OPT_IMPLIES would be last for each option.
Example: https://cgit.freebsd.org/ports/tree/multimedia/ffmpeg/Makefile

Download manpage instead of generate.
Added FLAVORS.
Remove tar:bzip2 USES.
Remove options which don't have additional dependency.

Portlint, portclippy, portfmt are ok.
Poudriere testport fine on 13.2 and 14 amd64 too (normal and awesome flavor).

Remove sysutils/conky-awesome.

sysutils/conky/Makefile
11
24
42

Needs to go into share/man/....

141

Needs to go into share/man/....

sysutils/conky/distinfo
2

Given the non versioned file you should probably use DIST_SUBDIR,
https://docs.freebsd.org/en/books/porters-handbook/book/#makefile-dist_subdir
${PORTNAME}/${DISTVERSION}

DIST_SUBDIR
LICENSE_FILE
Fix man directory.
CMAKE helpers.

sysutils/conky/Makefile
23

'-std=c++17' is defined during build (update)

LGTM otherwise

uzsolt marked 5 inline comments as done.

Update compiler argument. Is this right now?

Looks good, however since you're removing sysutils/conky-awesome you also need to add an entry in MOVED
Prep that and post a link to that change (create a new phab review) here

Looks good, however since you're removing sysutils/conky-awesome you also need to add an entry in MOVED
Prep that and post a link to that change (create a new phab review) here

If I understand correctly: in this commit shouldn't contain removing of conky-awesome. After push this commit should I create a new review which contains only removing conky-awesome and an entry in MOVED. Right?

sysutils/conky/Makefile
24

Sorry, I didn't notice your comments before update of diff.

29

With FLAVORS the SLAVEDIRS completly unneeded If I understand correctly.

57

Do you want empty lines between ARGB* and CURL* and DOUBLE_BUFFER*?
One of portclippy or portfmt suggested to remove empty lines.

I'll update it soon.

57

Portclippy suggests the *_IMPLIES should first in groups:

Options helpers

+ARGB_IMPLIES
ARGB_CMAKE_BOOL
-ARGB_IMPLIES
CURL_LIB_DEPENDS
CURL_CMAKE_BOOL
DOUBLE_BUFFER_IMPLIES
DOUBLE_BUFFER_CMAKE_BOOL
+IMLIB2_IMPLIES
IMLIB2_LIB_DEPENDS
IMLIB2_USE
IMLIB2_CMAKE_BOOL
+LUA_CAIRO_IMPLIES
-IMLIB2_IMPLIES
LUA_CAIRO_USES
LUA_CAIRO_USE
LUA_CAIRO_CMAKE_BOOL

Should be split into 3 commits,

  • Update
  • Removal of port (directory) - With a brief explanation in commit msg why its being removed
  • Entry to MOVED

Portlint get it right most of the time, people are still going to read and review the code so if we can improve "readability" without any major changes I'm going to argue that it's more beneficial than keeping portlint happy just for the sake of it.

Should be split into 3 commits,

  • Update
  • Removal of port (directory) - With a brief explanation in commit msg why its being removed
  • Entry to MOVED

I think I understand what you want. But it should be only two commits:

  • update
  • removal of fport (directory) and entry to MOVED

I checked the latest removal here: https://cgit.freebsd.org/ports/commit/?id=10d79105a75e12e4d287fdaf5fa1ae14c3faf374 and the removal and entry to MOVED are in single commit.

Portlint get it right most of the time, people are still going to read and review the code so if we can improve "readability" without any major changes I'm going to argue that it's more beneficial than keeping portlint happy just for the sake of it.

Okay. So:

  • empty line between option helper groups
  • *IMPLIES be the last of own group

Don't delete sysutils/conky-awesome in this commit.

sysutils/conky/Makefile
6

Why += ?

20

No, =

42

No, =

uzsolt marked an inline comment as done.

+= and ?= to =

Now you need to prep a patch for removing conky-awesone
Preferably you should redirect users to this port in MOVED

I think these two things should be done in one go. The problem is on this commit we are removing SLAVEDIR so when we commit this bulk build will fail as conky-awesome can no longer refer to the MASTERDIR and also there will be a conflict in pkg name. So it's better to do it in one go. Normally all the slave to flavor is done in one go.

@uzsolt Please add those in the patches too. I know this has been a long one. But it will really give you a good understanding on how things work. Also while committing you will need to make sure that you have Approved by: portmgr otherwise you cannot commit flavours.

@uzsolt Just to give you some more context on why this will fail when you have both the ports try to run:

# make -C sysutils/conky -v PKGNAME
# make -C sysutils/conky -v PKGNAME FLAVOR=awesome
# make -C sysutils/conky-awesome -v PKGNAME

From my experience the last two commands will have the same thing with difference in version numbers. We cannot have two ports with same PKGNAME.

These are something which is often not identifiable by most of the ports developers as noone builds the entire ports tree. This is more often found by the pkgmgr or the clusteradmins. But when in doubt about such things you can quickly run:

poudriere bulk -j <JAIL> -p <PORTS> -a -n

This will grab the errors for you. Check at your end when you have both the ports and whether if it throws any error.

I think someone beat us in time. So we have to abandon this.

Macro nothingtodo:

I think someone beat us in time. So we have to abandon this.

Macro nothingtodo:

I see :(
How can I close this review?

sysutils/conky/Makefile
6

I thought the DISTFILES is set by port framework and this is a plus. I see this is unneeded (make -VDISTFILES).

20

The tip is in Porter's Handbook (https://docs.freebsd.org/en/books/porters-handbook/book/#flavors-using). Is it an error in Handbook?

In the comment section there is a drop down menu called "Add action". If you click it there should be an option like "Abandon". Select it and submit it.

uzsolt marked an inline comment as done.

Thanks.