Mailinglist Archive: opensuse-packaging (140 mails)

< Previous Next >
[opensuse-packaging] [RFC Proposal] Distribution Branding (packages)
  • From: Stanislav Brabec <sbrabec@xxxxxxx>
  • Date: Mon, 25 Feb 2008 15:16:47 +0100
  • Message-id: <1203949007.3725.40.camel@xxxxxxxxxxxxxx>
Hallo.

Here is a first draft of first part of proposal: creating of
branding-enabled packages.

More should come later.


Proposal: Distribution Branding / Branding-Enabled Packages


Description of branding-enabled packages

Branding-enabled packages provide its branding is a separate package.

This technique is useful for:

- Providing custom branding images.

- Providing custom default bookmarks.


Rules for packaging of branding enabled packages

- Branding image should exist in a separate file.

- No custom branding images are added to the package.

Package maintainer should split to two sub-packages - one with core
files (foo) and one with branding provided by upstream
(foo-branding-upstream). These packages are connected by branding
virtuals.


Conventions


Package names

All branding packages names should consist from three parts - package
core name, string "-branding-" and the branding name. A special
branding name is created by default: "upstream". This is a branding
provided by upstream.

Spec file comments

Each file there should contain comment providing sufficient
information for the artist. You can expect, that upstream branding
will be available to the artist. Each line of these comment should
start by "#ART: " string followed by these information:

- Spec source file name (mandatory). Spec source package file name
should be unique for the whole distribution. For example, if the
target file name is /usr/share/foo/splash/image.png, source package
file name should be foo-splash-image.png and it should be copied to
the correct target in %install phase.

- use case (mandatory, if it is not part of the file name itself,
e. g. "about" - decoration of about dialog, "splash" - image
displayed for a short time, when application is launching, "toolbar"
- image in toolbar, "initial screen" - displayed when application is
started before user starts to use it).

- required art, if any (mandatory, if the image should contains
program name letters, branch number, required logm comment should
say, what exactly has to be included).

- overlays, if any (mandatory, if the image is overlayed with any
text in image, comment should say its size, color and position).

- dependencies, if any (mandatory, if you can customize your look
using another file, you must mention it). Examples: "Width of
foo-img1.png must be the same as width of foo-bg.png." "You can
define overlay text color, size and and position in splash.xml."

- allowed file sizes (optional, if not present, artist has to follow
upstream size).

- allowed file formats (optional, if not present, artist has to follow
upstream file format).

- For branding of launcher icon it is preferred to create custom icon
theme instead of branding.


Branding virtual symbols

Packager should create one virtual for each top-level file in the
branding package (If the branding consists of an image, virtual should
be relative to the image. If the branding consist from config or svg
and related bitmap images, virtual should be relative to config or
svg).

Package maintainer is responsible for choosing of decent symbols.
Requires and Provides should be no more strict than needed but must
not be vague to allow bad branding.

Use version based virtuals, if and only if the art itself contain
version numbers.

Examples: foo-splash-300x400 (splash is 300x400 in size)
foo-splash-art_foo_2_4 (splash contains "FOO 2.4" letters art).

Note to versioned branding symbols: If project uses per-branch
branding, you cannot use versioned symbols (Provides: foo-splash = 2.4
will only complicate things, if it is designed to fit 2.4.1, using of
foo-splash-art_2_4 is more appropriate).


Branding supplement

Each branding package should supplement branding vendor. It allows to
choose correct branding package, if more branding packages are
available. Branding supplement symbol constist of "branding-" string and
symbolic name of the branding. Upstream branding symbolic name is
"upstream".



Example:


Branding-enabled package:

foo.spec:
Requires: foo-splash-300x400-art_foo_2_4
Requires: foo-about-strip_middle-300x300

%package branding-upstream
Supplements: branding-upstream
#ART: foo-splash.png: png or jpg file, 300x400 pixels. Progress bar
#ART: will be displayed in lower 24 pixels. Image should include
#ART: package name "FOO" and version letters "2.4".
Provides: foo-splash-300x400-art_foo_2_4
#ART: foo-info.png: Background of about dialog. Black names will
#ART: appear in the light stripe in the centre.
Provides: foo-about-strip_middle-300x300


Branding package:

foo-branding-myvendor.spec:
Supplements: branding-myvendor
#ART: foo-splash.png: png or jpg file, 300x400 pixels. Progress bar
#ART: will be displayed in lower 24 pixels. Image should include
#ART: package name "FOO" and version letters "2.4".
Provides: foo-splash-300x400-art_foo_2_4
#ART: foo-info.png: Background of about dialog. Black names will
#ART: appear in the light stripe in the centre.
Provides: foo-about-strip_middle-300x300


Branding virtual package or pattern provides resolvable branding-myvendor.


--
Best Regards / S pozdravem,

Stanislav Brabec
software developer
---------------------------------------------------------------------
SUSE LINUX, s. r. o. e-mail: sbrabec@xxxxxxx
Lihovarsk√° 1060/12 tel: +420 284 028 966, +49 911 740538747
190 00 Praha 9 fax: +420 284 028 951
Czech Republic http://www.suse.cz/

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx

< Previous Next >