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? |
Quote:
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. |
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. |
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. |
Quote:
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). |
Thanks guys :)
|
All times are GMT -5. The time now is 06:45 PM. |