HACKING 2.01 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
A few ground rules for people interested in adding new mime-types.

* Mime-types used should be IANA registered mime-types when possible
* When old mime-types become registered, the new definition should
  include an alias for the old mime-type
* New entries or modifications should include a test case (see below)
* Mime-types/file formats proprietary to one application should only
  be added to a private .xml file and be bundled with the application
  itself

11
12
13
14
15
16
Translations
------------

Translations should go through the Translation Project at:
http://translationproject.org/latest/shared-mime-info/

17
18
19
20
21
22
23
CVS
---

Check it out using:
cvs -d:pserver:anoncvs@anoncvs.freedesktop.org:/cvs/mime login
cvs -d:pserver:anoncvs@anoncvs.freedesktop.org:/cvs/mime co shared-mime-info

24
25
26
27
28
29
30
31
32
33
Filing bugs
-----------

Bugs can be filed at:
https://bugs.freedesktop.org/enter_bug.cgi?product=shared-mime-info

Bugs for new mime-types should include:
- a patch generated against the current CVS, with the "-up" arguments for CVS
- one or more test files to be added to the test suite

34
35
36
37
38
39
40
41
42
43
44
45
46
Test suite
----------

You need to have xdgmime checked out and compile at the same level as
shared-mime-info. ../xdgmime/src/test-mime-data will be run against
tests/list.

The format of the file is:
<testcase filename> <expected mime-type> <expected failures>

The expected failures is whether matching the file with the mime-type would
fail when matched by file, data or name. "x" indicates expected failure, "o"
indicates expected success. Trailing "o"s can be omitted.
47
48
49
50
51
52
53
54
55
56

Releasing
---------

Before release, an updated shared-mime-info.pot is sent to
<coordinator@translationproject.org> so the translators have a chance
of updating the translations before release.

Updated .po files are sent to <shared-mime-info-maint@freedesktop.org>

57
58
59
To pull translations from the Translation Project website, use:
make update-translations

60
61
62
63
64
65
66
Updating the spec on the website
--------------------------------

- On gabe, go in /srv/specifications.freedesktop.org/www
- Edit specs.idx
- Run ../update.py