[meego-packaging] Clarification about packaging using spectacle
anas.nashif at intel.com
Wed Jun 30 07:34:02 PDT 2010
There seems to be some confusion about when to use spectacle for packages and when it actually makes sense. To make it short, spectacle is great for straightforward packages, and we have many of those, hundreds, many of them already have been using spectacle happily for a while now. Generally, the 80/20 rule applies here, almost 80% of packages in the distro can be converted to this format, probably around 20% will need to stay as is.
Spectacle in general helps a lot when you have a package that does:
- make install
and especially useful when for example you have to manage many build dependencies and patches or for common packaging of perl/python/X packages that usually follows the same packaging workflow. We have plans to add lots of nice features to make packaging easier and more fun with spectacle, that depends also on your feedback.
While spectacle has many advanced options to cover all kind of corner cases, it should not be used for complex packages that would require lots of customization, especially now that we support multiple architectures and where we need to apply code and custom scripts to support different scenarios.
We have scripts to convert spec files to spectacle, those try to do their best but you SHOULD never just take the output as is and rely on the script, a review of the output is necessary, otherwise you might end up with lots of duplication in the spec file. This is the most common mistake, developers are relying on the output of the conversion script, basically picking some spec file from another distro and converting it. This can lead to major disasters in some cases.
So to summarize:
- It is NOT mandatory to use spectacle for ALL packages
- If you try to convert and find yourself spending more than a few minutes on a package, then probably there is something wrong and you should not be using that or you should RTFM.
- Use it with care, especially when you first import the data from existing spec files or when you first create your YAML file
- Your distro maintainer might send you a note that certain packages you are maintaining could be converted to spectacle easily, but she/he should not reject your package because it does not use spectacle.
- If you find yourself forced to edit the spec file manually for some reason, then either:
* your package is not suitable to be used with spectacle
* or you might want to ask for a feature to support that special case
More information about the MeeGo-packaging