LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   What are slackware package tags? (https://www.linuxquestions.org/questions/slackware-14/what-are-slackware-package-tags-4175735243/)

SlackCoder 03-24-2024 09:37 AM

What are slackware package tags?
 
Slackware package names are made up a few components, following the format '$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE'.

The purpose of most are clear, PRGNAM (program or application name), ARCH (x86 etc). What is the purpose of 'TAG'? Slackware official packages sometimes use the Slackware version, third package sources like slackbuilds use their own (SBO).

Are there rules or best practices for TAG's? Under what circumstances should one use a new tag?

Didier Spaier 03-24-2024 10:31 AM

Quote:

Originally Posted by SlackCoder (Post 6491601)
Slackware package names are made up a few components, following the format '$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE'.

The purpose of most are clear, PRGNAM (program or application name), ARCH (x86 etc). What is the purpose of 'TAG'? Slackware official packages sometimes use the Slackware version, third package sources like slackbuilds use their own (SBO).

Are there rules or best practices for TAG's? Under what circumstances should one use a new tag?

Usually tags are used to tell from which repository the package come, or who built the package. SBo means that the package has been built from a SlackBuild available at SBo. But the SBo admins require that if this package is redistributed (made available in a third party repository) the tag be changed as they have no control on how the package was built (which options were used, and possible modification) so they can't take responsibility if this package is "bad".

PS As far as I know genuine Slackware packages do not bear a tag, but in case of patches (packages updated from a previous version originally shipped for a Slackware stable version). For instance patches intended to replace a previous version shipped in Slackware version 15.0 bear the tag _slack15.0 as for instance here.

GazL 03-24-2024 11:01 AM

Don't use '-' in a tag or start it with a number as that will cause confusion, but other than that it's pretty much up to you. I'd recommend always starting them with an underscore — it's a common convention and helps with readability — but it's not a hard requirement and not everyone does that.


I use a "_local" tag for all my locally built packages.

Eric tags his packages as "alien".

Pat uses a special tag for any packages he makes available in patches/ .e.g. "_slack15.0" for the Slackware 15.0 patches.

And, as Didier has already mentioned "_SBo" is the default tag used in slackbuilds.org build scripts.

chemfire 03-24-2024 04:03 PM

I like to use my initials for tags ie _rmk (not my real initials) and in a comment before and after any changes I make to 'official scripts'

Its a handy way to spot any customization or alterations I may have done.

chrisretusn 03-25-2024 12:31 AM

Quote:

Originally Posted by SlackCoder (Post 6491601)
Slackware package names are made up a few components, following the format '$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE'.

The purpose of most are clear, PRGNAM (program or application name), ARCH (x86 etc). What is the purpose of 'TAG'? Slackware official packages sometimes use the Slackware version, third package sources like slackbuilds use their own (SBO).

Are there rules or best practices for TAG's? Under what circumstances should one use a new tag?

This is my self imposed rules, view of on this subject.

A tag is a mechanism to identify packages that are not part of the base Slackware tree (main tree, extra, pasture and testing). None of those packages have tags. Packages in patches on the other hand are base packages with patches applied. In general a patched package will have the same package name as the base package with the addition of the tag (_slack15.0 for Slackware 15.0 packages) to identify the package as a patched package.

With the exception of patches all packages with tags are third party packages. If I build a package using my own SlackBuild, that package will have the tag "cgs". If I build it, I tag it. This also applies to base Slackware package in which I modify the SlackBuild script. I will add a tag. As an example, I use the Slackware source SlackBuild for mozilla-firefox to build the standard release vice esr. The only modification I make to the SlackBuild script is to change "BUILD=${BUILD:-1}" to "BUILD=${BUILD:-1cgs}". Another example, I used to rebuild imagemagick-7.1.1_29-x86_64-1.txz so it will pick up libheif. The resulting package was imagemagick-7.1.1_29-x86_64-1cgs.txz.

I currently have packages on this system with the tags compat32 (262), alien (26), mt (1), me (1) and cgs (186).

SlackCoder 03-25-2024 01:15 PM

Thanks guys :)


All times are GMT -5. The time now is 06:45 PM.