Page MenuHomeFreeBSD

packages: Register pkgconf
ClosedPublic

Authored by khorben on Wed, Apr 22, 9:20 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 28, 11:33 PM
Unknown Object (File)
Tue, Apr 28, 11:27 AM
Unknown Object (File)
Tue, Apr 28, 9:05 AM
Unknown Object (File)
Mon, Apr 27, 9:02 PM
Unknown Object (File)
Sun, Apr 26, 7:54 AM
Unknown Object (File)
Sun, Apr 26, 7:28 AM
Unknown Object (File)
Sun, Apr 26, 7:28 AM
Unknown Object (File)
Sun, Apr 26, 7:23 AM
Subscribers

Details

Summary

This should fix the creation of the new packages introduced by the import of pkgconf into the base system.

PR: 294724
Fixes: b8352da33f34 ("pkgconf: import into the base system")
Sponsored by: The FreeBSD Foundation

Test Plan
$ make packages

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

release/packages/ucl/pkgconf-all.ucl
31

set = "devel" is probably more appropriate here, unless the SBOM project needs it to be in minimal for some reason.

release/packages/ucl/pkgconf-all.ucl
14

nit: the */ should be on its own line, like a normal block comment.

This should address feedback from ivy:

  • Make the block comment normal.
  • Choose the more appropriate "devel" set.

Thank you!

release/packages/ucl/pkgconf-all.ucl
5–6

You own the copyright for this file, not the pkgconf project.

@ivy:

  • ISC copyright -- why was that picked?
  • Why not just add the SPDX-License-Identifier: line and skip the rest of the licensing tort (it would reduce a lot of unnecessary boilerplate in all of these files)?
30

Please add the license.

release/packages/ucl/pkgconf-all.ucl
5–6

It's my bad; I thought this copyright documents the project shipped in the package, not my contribution, so I took it verbatim from the COPYING file of the pkgconf project. ISC was picked because it's the license documented for the pkgconf project in the devel/pkgconf port (and it seemed to match).

Updated the copyright, license text, and added the licenses = [ "pkgconf" ] as per ngie's advice; thank you!

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294724 confirms this patch to be fixing the build issue.

Be sure to add PR: 294724 to your commit message.

ngie accepted this revision.EditedThu, Apr 23, 6:11 PM

This is good, but I would consider breaking down pkgconf into separate components, e.g., the library, the pkgconf tool, and the bomtool. These things are dependent on one another (bomtool and pkgconf require libpkgconf), but some folks might not want nor need to have pkgconf in base in order to build custom versions of pkgconf, et al.

Also, remind me: wasn't part of the point of pkgbase to pull in third-party packages via ports(7) instead of importing everything into src?

The change in isolation is good and definitely helps fix the make packages issue, but I feel like some of the point behind pkgbase (as I remember it) is being lost if this is the process we're going to follow in the future when importing/managing third-party components in the base system.

This revision is now accepted and ready to land.Thu, Apr 23, 6:11 PM
release/packages/ucl/pkgconf-all.ucl
5–6

the copyrightable work here is the description of the package, so if you wrote that, you own the copyright, but if you took it from elsewhere (like the package manpage), it should use the license of wherever you got it from. you can see a mix of these in the existing UCL - some were written by me, others i took from the software itself.

release/packages/ucl/pkgconf-all.ucl
34

this should either an SPDX license identifier (preferred) or a license tag from ports (less desirable, but historically we used those). i don't think "pkgconf" is either of those, unless it really has its own license. from looking at the devel/pkgconf port, "ISC" may be the right tag.

This is good, but I would consider breaking down pkgconf into separate components, e.g., the library, the pkgconf tool, and the bomtool.

i don't think this is worth doing unless the binaries are quite large. while i am generally in favour of having more packages rather than fewer, having a separate package for a 38KB binary doesn't really seem that useful, especially when it depends on a library which is ~2x the size of the binary anyway.

as i said in a comment on the original review, this might be worth doing if many other things depend on libpkgconf, but that doesn't seem to be the case now or likely to be the case in the future.

release/packages/ucl/pkgconf-all.ucl
34

According to https://spdx.org/licenses/pkgconf.html , pkgconf is the right value.

release/packages/ucl/pkgconf-all.ucl
34

this probably needs to be fixed in ports then (although that's obviously out of scope here).

I gave the copyright back to pkgconf, as the comment and description primarily come from the pkgconf project.

While there, I also updated the SPDX-License-Identifier to pkgconf, as per the discussion here, and confirmed at https://spdx.org/licenses/pkgconf.html.

This revision now requires review to proceed.Fri, Apr 24, 12:33 AM

I gave the copyright back to pkgconf, as the comment and description primarily come from the pkgconf project.

While there, I also updated the SPDX-License-Identifier to pkgconf, as per the discussion here, and confirmed at https://spdx.org/licenses/pkgconf.html.

Does that mean that you need to credit DuckDuckGo or Google whenever you find a result?

More seriously, this is nitpicky to the point that it honestly doesn't matter since this isn't anything resembling a trade secret and the value of copyrighting this file has diminishing returns, but @khorben wrote the metadata, not the pkgconf maintainers.

If licensing or ownership of this code ever comes into question, the person that wrote/licensed the code has the ability to relicense it however they choose. I think it's best that @khorben is in charge of that (as well as the FreeBSD project), not the pkgconf project.

I gave the copyright back to pkgconf, as the comment and description primarily come from the pkgconf project.

While there, I also updated the SPDX-License-Identifier to pkgconf, as per the discussion here, and confirmed at https://spdx.org/licenses/pkgconf.html.

Does that mean that you need to credit DuckDuckGo or Google whenever you find a result?

No, I credit whomever created the content in the first place.

More seriously, this is nitpicky to the point that it honestly doesn't matter since this isn't anything resembling a trade secret and the value of copyrighting this file has diminishing returns, but @khorben wrote the metadata, not the pkgconf maintainers.

I copy/pasted the comment and the top of the description from the pkgconf project. IANAL, but in my understanding of copyright, the original work is from them, and my addition does not change that.

Really TBH I don't care having the copyright on this. In my initial understanding of this file, this information was about the contents of the package, not its meta-data.

If licensing or ownership of this code ever comes into question, the person that wrote/licensed the code has the ability to relicense it however they choose. I think it's best that @khorben is in charge of that (as well as the FreeBSD project), not the pkgconf project.

It's fine for me to put myself there, if that is the expected content; this is my first set of FreeBSD base packages, I just want to comply with the existing practice.

Does it mean I can put any license of my choosing in that file?

Anyway, glad I updated the diff before pushing.

Reverted the copyright to myself, and the license to ISC.

Let me know if any other change is needed.

This revision is now accepted and ready to land.Fri, Apr 24, 1:17 AM
This revision was automatically updated to reflect the committed changes.

Does that mean that you need to credit DuckDuckGo or Google whenever you find a result?

if Google or DuckDuckGo wrote the content you're using -- yes, because they own the copyright on it.

More seriously, this is nitpicky to the point that it honestly doesn't matter since this isn't anything resembling a trade secret and the value of copyrighting this file has diminishing returns, but @khorben wrote the metadata, not the pkgconf maintainers.

copyright has nothing to do with trade secrets. this text is copyrighted because every creative work is automatically copyrighted when it's created. if you write prose, you own the copyright on that prose. if pkgconf writes prose, pkgconf owns the copyright on that prose.

you can't just ignore that because "it's easier if we own the copyright"; we don't own the copyright because we didn't write the text in question.

the only way to avoid this is to claim that the prose is short enough or not creative enough that it doesn't qualify for copyright protection, but do you really want to go to court to argue that if someone disputes it? it's much, much less risky to just give the copyright to the person who wrote the text.