This is a draft document to collect ideas, suggestions and directions for implementing a new build tool/environment for building and submitting Packman packages. ====== Guidelines ====== TODO ====== Consistency Checking ====== This part describes the various checks that have to be performed to validate a package before submission. It should also enforce the [[PackMan:PackagingConventions]] policies wherever possible. ===== Naming Conventions ===== The package must follow the PackMan naming policies, as defined in [[PackMan:PackagingConventions#Release_Tag]] ===== RPM Groups ===== The "Group:" tags must comply with the [[http://ftp.novell.com/pub/forge/library/SUSE%20Package%20Conventions/spc_rpm_groups.html|list of groups used by SUSE]]. ===== suse_update_config ===== The %suse_update_config macro must be used before ./configure, e.g. in the following form: %{?suse_update_config:%{suse_update_config -f}} unless specifically indicated. Two options to tag spec files as explicitly not using %suse_update_config> - a special comment, e.g.: # X-PackMan-NoUpdateConfig - a specific %define, e.g.: %define no_suse_update_config 1 (those are just examples, complete with other/better ideas) (see [[PackMan:PackagingConventions#Biarch/AMD64]] for further details) ===== suse_update_desktop_file ===== The category tags used in %suse_update_desktop_file must comply with the [[http://ftp.novell.com/pub/forge/library/SUSE%20Package%20Conventions/spc_desktop_menu.html#spc_dm_category_list|list of allowed tags, as used by SUSE]], if that macro is used. ===== libsuffix ===== The --libsuffix option must be passed to ./configure when building a QT or KDE package, like this: %if %{_lib} == lib64 --enable-libsuffix=64 \ %endif (see [[PackMan:PackagingConventions#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 "--with-qt-dir=": ./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.