Page MenuHomeFreeBSD

PackagesMacro: Extend the syntax to category/name@flavor[pkgname]
ClosedPublic

Authored by lwhsu on Mar 13 2023, 6:47 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 22 2024, 12:54 AM
Unknown Object (File)
Mar 22 2024, 12:54 AM
Unknown Object (File)
Mar 22 2024, 12:53 AM
Unknown Object (File)
Mar 22 2024, 12:53 AM
Unknown Object (File)
Mar 21 2024, 9:09 AM
Unknown Object (File)
Mar 20 2024, 6:48 AM
Unknown Object (File)
Dec 20 2023, 5:32 AM
Unknown Object (File)
Dec 13 2023, 3:46 AM
Subscribers

Details

Summary

The package macro creates a link to the web interface of the port's
origin directory in the ports repository. Extend its usage to cover the
case when we want to refer to a speicifed flavor of a port.

For example, if we want to refer the aarch64-gcc12 pacakge, in the past
we can only specify its origin port, like pacakge:devel/freebsd-gcc12,
and unable to add the @aarch64 flavor suffix because it creates a
broken link. This change makes it strip the suffix after @ and accept
a parameter of package name as link text. If not provided, use the origin
as the original behavior.

Thus we can have this kind of notation:

package:devel/freebsd-gcc12@aarch64[aarch64-gcc12]

Diff Detail

Repository
R9 FreeBSD doc repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

lwhsu requested review of this revision.Mar 13 2023, 6:47 PM
lwhsu created this revision.

I've tried this patch, and is this the behavior you wanted? Just checking.

Links:

source                                     link in html        target                                               status
package:devel/git@tiny[]               ->  devel/git@tiny  ->  https://cgit.freebsd.org/ports/tree/devel/git@tiny/  Link error
package:devel/git@tiny[devel/git@tiny] ->  devel/git@tiny  ->  https://cgit.freebsd.org/ports/tree/devel/git@tiny/  Link error
package:devel/git@tiny[devel/git]      ->  devel/git       ->  https://cgit.freebsd.org/ports/tree/devel/git@tiny/  Link error
package:devel/git[devel/git@tiny]      ->  devel/git@tiny  ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
shared/lib/PackagesMacro/extension.rb
15

Typo here.

This revision is now accepted and ready to land.Mar 19 2023, 9:16 AM

Thanks, that was an unintentional typo when submitting the patch. The correct behavior should be:

source                                     link in html        target                                               status
package:devel/git@tiny[]               ->  devel/git@tiny  ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
package:devel/git@tiny[devel/git@tiny] ->  devel/git@tiny  ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
package:devel/git@tiny[devel/git]      ->  devel/git       ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
package:devel/git[devel/git@tiny]      ->  devel/git@tiny  ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists

package:devel/git@tiny[git-tiny]       ->  git-tiny        ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
package:devel/git@tiny[]               ->  devel/git       ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
package:devel/git[git]                 ->  git             ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists

I also added three other cases which are the usage I think we need more int the document, the main idea is that the link is always category/name and the package name can be specified as an extra parameter.

Do these look good?

Thanks, that was an unintentional typo when submitting the patch. The correct behavior should be:

source                                     link in html        target                                               status
package:devel/git@tiny[]               ->  devel/git@tiny  ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
package:devel/git@tiny[devel/git@tiny] ->  devel/git@tiny  ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
package:devel/git@tiny[devel/git]      ->  devel/git       ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
package:devel/git[devel/git@tiny]      ->  devel/git@tiny  ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists

package:devel/git@tiny[git-tiny]       ->  git-tiny        ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
package:devel/git@tiny[]               ->  devel/git       ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists
package:devel/git[git]                 ->  git             ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists

I also added three other cases which are the usage I think we need more int the document, the main idea is that the link is always category/name and the package name can be specified as an extra parameter.

Do these look good?

Yes, nice improvement, thanks!

source                                     link in html        target                                               status
package:devel/git@tiny[]               ->  devel/git       ->  https://cgit.freebsd.org/ports/tree/devel/git/       Link exists

Hmm, maybe this is better to be package:devel/git@tiny[] -> devel/git@tiny -> https://cgit.freebsd.org/ports/tree/devel/git/

I'll see how to change this.

Use the original target text if no link text specified, not the @-stripped one used in the link.

This revision now requires review to proceed.Mar 19 2023, 9:48 AM

Yeah, excellent addition; thanks for that.

This revision is now accepted and ready to land.Mar 19 2023, 11:53 AM