Development/Tasks/Packaging/Policies/General Conventions

From Mandriva Community Wiki

Jump to: navigation, search

This is a set of general conventions for all Mandriva packages.

Violation of these conventions is automatically detected by rpmlint.

Currently nost of these conventions are not strict requirements but recommendations, so their violation will not break the build.

However, as times goes by, more of these conventions will become obligatory (see Development/Tasks/Packaging/Policies/Roadmap for more information).

Requirements for RPM Tag Values

All the tags listed in the table below should exist in the package; this is checked by corresponding rpmlint tests.

Tag Requirements Rationale
Summary
  • must fit on one line
  • should begin with a capital letter
  • should not exceed 79 symbols
  • should not begin with whitespace
  • character encoding should be UTF-8
Every package should be described by a short, well formed sentence

to help users quickly identify useful programs among tons of existing software

Description
  • every line should not exceed 79 symbols
  • should end with dot
  • character encoding should be UTF-8
Description tag should contain detailed information about the package

but should still fit standard text width

Package Files

Packages are forbidden to install files in the following directories:

  • /home
  • /opt
  • /mnt
  • /tmp
  • /usr/local
  • /var/local

Purpose of these directories is described in the Filesystem Hierarchy Standard.

Packages are forbidden to install the following kinds of files:

  • /usr/info/dir and /usr/share/info/dir (to avoid conflicts with other packages)
  • internal files used by version control systems (e.g., .cvsignore or .hgtags)
  • Apache .htaccess file
  • backup files
Personal tools