This is a draft document to collect ideas, suggestions and directions for implementing a new build tool/environment for building and submitting Packman packages.
TODO
This part describes the various checks that have to be performed to validate a package before submission. It should also enforce the PackagingConventions policies wherever possible.
The package must follow the PackMan naming policies, as defined in Release_Tag
The ”<tt>Group:</tt>” tags must comply with the list of groups used by SUSE.
The <tt>%suse_update_config</tt> macro must be used before <tt>./configure</tt>, e.g. in the following form: <tt>%{?suse_update_config:%{suse_update_config -f}}</tt> unless specifically indicated. Two options to tag spec files as explicitly not using <tt>%suse_update_config</tt»
(those are just examples, complete with other/better ideas) (see Biarch/AMD64 for further details)
The category tags used in <tt>%suse_update_desktop_file</tt> must comply with the list of allowed tags, as used by SUSE, if that macro is used.
The <tt>–libsuffix</tt> option must be passed to <tt>./configure</tt> when building a QT or KDE package, like this:
%if %{_lib} == lib64 --enable-libsuffix=64 \ %endif
(see Biarch/AMD64 for further details)
Note that it only applies to packages built against QT/KDE (unless there are other situations where the use of the above mentioned is required). The build validation needs to determine whether it's built against QT. To do so, it may check for the presence of ”<tt>–with-qt-dir=</tt>”:
./configure \ ... --with-qt-dir=...
While this is not 100% accurate, it is necessary to be able to build QT/KDE packages on SUSE, and should be sufficient.