What is the purpose of metapackages and how is it different from patterns?

I was working on an article, and in the process realized I didn’t understand what I thought I did. I thought metapackages were patterns, but that is clearly not the case. What is the purpose of a metapackage when there is a pattern? What is the purpose of a pattern when a metapackage can fulfill the same function?

I don’t think there really is a difference.
A meta-package is a package that doesn’t contain anything itself, but just requires/recommends/suggests other packages to be installed.
And that’s exactly how patterns in openSUSE are implemented AFAIK: you have a meta-package (patterns-openSUSE-xxx) that requires/recommends/suggests all the packages in the pattern, and is installed like any other rpm.

So in the end, when you install a “pattern”, the corresponding meta-package is actually installed instead.

At least, that’s how I see it. I’m not 100% sure if all that’s correct… :wink: