annotate DOCS/tech/binary-packaging.txt @ 28238:1bf9023840f9

Rename libaf/af_format_alaw.c --> libaf/af_format_alaw.h and libaf/af_format_ulaw.c --> libaf/af_format_ulaw.h. Both files are not compiled but used as standard headers, so there is no reason for them not be named like any other header file.
author diego
date Mon, 05 Jan 2009 22:05:19 +0000
parents b748e4e64b50
children 65c1c0903740
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
1 ________________________________________________
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
2 How to make good binary package(s) of MPlayer?
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
4 by Dominik 'Rathann' Mierzejewski
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
5
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
6 About this document
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
7 ~~~~~~~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
8
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
9 With the release of MPlayer 0.90pre9, all licensing issues have been
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
10 eliminated and all code is licensed under the GPL, which allows
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
11 independent packagers to create and distribute binary packages. At first,
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
12 this was discouraged by some of the developers, but the users' demand for
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
13 ready-to-use binary packages convinced some people to create them.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
14 Unfortunately, many currently available packages are crippled, include
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
15 their own obsolete config files or are mispackaged in some other way. This
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
16 document aims to establish a common set of packaging guidelines so that
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
17 proper official binary packages for various Linux distributions and other
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
18 operating systems can be maintained.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
19
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
20
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
21 Conventions
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
22 ~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
23 Whenever you see "MUST", it means that following the mentioned guideline
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
24 is required. Whenever you see "SHOULD", it means that following the
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
25 guideline is highly recommended, but not required.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
26
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
27
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
28 Minimum feature set
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
29 ~~~~~~~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
30 Due to MPlayer design, it is impossible to simply include all possible
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
31 features and enable or disable them at runtime. That is why packagers
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
32 SHOULD avoid "dependency hell" by retaining a reasonable, limited default
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
33 feature set. After some discussion with other developers, we agreed that
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
34 the following features MUST be included in any official binary package:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
35
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
36 * audio/video output
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
37 - fbdev
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
38 - JPEG/PNG/TGA
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
39 - (X)MGA
16950
2ddf991d876d typo, trailing whitespace
diego
parents: 16949
diff changeset
40 - OSS
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
41 - tdfxfb
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
42 - (c/x)vidix
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
43 - X11/Xvideo
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
44
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
45 * codecs
19783
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
46 - FAAD(internal)
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
47 - libavcodec(internal)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
48 - native codecs (libmpeg2/liba52/mp3lib)
16949
d771b3d98d9d SDL no longer needed by default
rathann
parents: 14268
diff changeset
49 - Vorbis Tremor codec(internal)
19898
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
50 - RealPlayer codecs support (*)
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
51 - Win32/VfW/DShow/QT codecs support (*)
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
52 - XAnim codecs support (*)
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
53
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
54 * general:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
55 - default font
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
56 - FreeType fonts support
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
57 - HTML documentation
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
58 - large file support
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
59 - man page(s)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
60
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
61 * input/demuxers:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
62 - DVD(mpdvdkit2)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
63 - streaming
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
64 - Matroska(internal)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
65 - (S)VCD
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
66 - tv(v4l/v4l2)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
67
19898
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
68 (*) if available for your OS/hardware
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
69
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
70 There is great demand for the GUI, so it SHOULD be included, but it MUST
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
71 come as a separate package (see Tips and Tricks for details).
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
72
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
73 Including other features, like LIVE.COM streaming or JACK support, is
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
74 acceptable. They SHOULD, however, be build-time configurable, with the
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
75 default build configuration containing the above set.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
76
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
77 It seems there are some packages in the wild which lack included docs.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
78 This is VERY BAD, as it forces users to look for outside support when most
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
79 of the common problems are easy to solve and are already described in the
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
80 docs, thus increasing the number of repeated posts in MPlayer mailing
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
81 lists. Binary packages MUST include both the man page and HTML
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
82 documentation. Translated versions SHOULD be included, even if your
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
83 package management system does not provide specific support for
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
84 internationalization.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
85
19899
b748e4e64b50 Allow shared libavcodec, but explain the implications.
rathann
parents: 19898
diff changeset
86 Libavcodec MUST always be in the latest development version and it SHOULD
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
87 be linked statically into the mplayer binary, because MPlayer requires a
19899
b748e4e64b50 Allow shared libavcodec, but explain the implications.
rathann
parents: 19898
diff changeset
88 recent libavcodec snapshot. It is acceptable to use a shared (again, recent)
b748e4e64b50 Allow shared libavcodec, but explain the implications.
rathann
parents: 19898
diff changeset
89 version of libavcodec, but you must be aware that this disables some of
b748e4e64b50 Allow shared libavcodec, but explain the implications.
rathann
parents: 19898
diff changeset
90 MPlayer's functions (for example, some postprocessing filters) and sacrifices
b748e4e64b50 Allow shared libavcodec, but explain the implications.
rathann
parents: 19898
diff changeset
91 speed.
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
92
19790
9c54d979c2bc Clarify binary codecs section.
diego
parents: 19784
diff changeset
93 Support for binary codecs SHOULD be present to the extent that the combination
9c54d979c2bc Clarify binary codecs section.
diego
parents: 19784
diff changeset
94 of operating system and CPU architecture permits, but it MUST NOT result in a
9c54d979c2bc Clarify binary codecs section.
diego
parents: 19784
diff changeset
95 hard dependency on a binary codecs package. MPlayer is fully functional without
19783
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
96 external binary codecs. If you package binary codecs yourself, package the
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
97 essential codecs package, not the all codecs package.
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
98
19898
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
99 Bitmap fonts are deprecated, don't package them. Use scalable (Type1/TrueType)
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
100 fonts instead.
19783
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
101
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
102
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
103 File locations
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
104 ~~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
105 In general, you SHOULD follow your distribution guidelines. For example,
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
106 for Red Hat and Fedora RPMs I am using FHS-compliant paths:
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
107
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
108 /etc/mplayer/ system-wide configs
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
109 /usr/bin/ binaries
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
110 /usr/lib/codecs/ binary codecs
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
111 /usr/share/doc/mplayer-version/ docs
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
112 /usr/share/man/man1/ man page
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
113 /usr/share/man/XX/man1/ translated man page
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
114 /usr/share/mplayer/font/ fonts
17974
9a5a62f480e6 Rename the default GUI skins directory from 'Skin' to 'skins', keeping
diego
parents: 16950
diff changeset
115 /usr/share/mplayer/skins/ GUI skins
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
116
19783
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
117 You MUST NOT include the codecs.conf file in your package. It is useful
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
118 only for development purposes and often causes obscure problems for users.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
119
19673
e7cd9c08d1d9 Remind packagers not to use deprecated codecs and skins paths.
diego
parents: 17974
diff changeset
120 Please avoid using the deprecated paths for binary codecs (/usr/lib/win32/)
e7cd9c08d1d9 Remind packagers not to use deprecated codecs and skins paths.
diego
parents: 17974
diff changeset
121 and skins (/usr/share/mplayer/Skin/).
e7cd9c08d1d9 Remind packagers not to use deprecated codecs and skins paths.
diego
parents: 17974
diff changeset
122
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
123
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
124 One package or many packages?
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
125 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
126 Although it is tempting to simply provide a single all-in-one package,
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
127 I think it is best to split MPlayer into several packages. It may be
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
128 a little more troublesome for less clueful users, but it allows you to
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
129 install only what you need. This is the layout I am using for Red Hat and
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
130 Fedora RPMs:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
131
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
132 mencoder contains MEncoder binary (mencoder)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
133 mplayer contains MPlayer binary without GUI (mplayer),
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
134 config files, man pages and documentation;
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
135 required by mplayer-gui
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
136 mplayer-codecs-* contain binary codecs available from MPlayer's site
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
137 mplayer-font-* contain various bitmap fonts for OSD (obsolete)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
138 mplayer-gui contains MPlayer binary with GUI (gmplayer);
16950
2ddf991d876d typo, trailing whitespace
diego
parents: 16949
diff changeset
139 contains default skin (Blue)
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
140 mplayer-skin-* contain various MPlayer GUI skins
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
141 mplayer-vidix contains VIDIX support library for MPlayer
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
142 mplayer-vidix-* contain VIDIX drivers for specific cards, one per package
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
143
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
144 There is no strict policy for now, just use your common sense.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
145
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
146
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
147 Compilation
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
148 ~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
149 While it is acceptable to provide packages optimized for specific CPUs,
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
150 you MUST provide at least one "lowest common denominator" package set
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
151 that will work on all CPUs. This means it MUST be configured with the
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
152 --enable-runtime-cpudetection option. Building for specific CPUs requires
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
153 disabling this option, but try to make sure that users cannot accidentally
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
154 install a package not suitable for their CPU. With RPMs, for example, this
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
155 is handled automatically, when building with the "--target arch" rpm option.
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
156
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
157 Compiler flags MUST be set to either configure-generated CFLAGS or something
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
158 as close to them as possible.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
159
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
160 Users MUST be able to rebuild your source package without hand-editing on
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
161 any system with the same distribution installed. Remember to disable
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
162 (--disable-xxx) any optional features, because MPlayer's configure script
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
163 autodetects most of them. This ensures that binary package builds are
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
164 deterministic -- that is, provided they have at least the required
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
165 development packages installed, two different people using the same
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
166 distribution will get binaries with the same dependencies.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
167
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
168 You SHOULD provide an option to rebuild the package with full debug
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
169 information enabled (by passing --enable-debug=3 to ./configure and
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
170 disabling any stripping of binaries and libs during the build process).
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
171 For example my source RPM can be rebuilt with a "--with debug" option, which
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
172 does just that, making it easier to supply gdb information along with any
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
173 bug reports, while retaining all benefits of using binary packages.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
174
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
175
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
176 Modifications
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
177 ~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
178
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
179 You MUST modify `mplayer -v` output so that it is clear that a user is
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
180 using your binary package, by patching version.h and modifying the version
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
181 string inside. Suggested convention is to include distribution name and,
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
182 possibly, the signature of the packager or the repository. For example:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
183
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
184 original:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
185 MPlayer 1.0pre5-3.3.2 (C) 2000-2004 MPlayer Team
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
186 modified:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
187 MPlayer 1.0pre5-Fedora-GS-3.3.2 (C) 2000-2004 MPlayer Team
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
188 MPlayer 1.0pre5-Mandrake-PLF-3.2.3 (C) 2000-2004 MPlayer Team
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
189 MPlayer 1.0pre5-Solaris-3.4.0 (C) 2000-2004 MPlayer Team
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
190
19783
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
191 If you patch MPlayer, send your patches to us! We will try to integrate them.
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
192 Furthermore, we're often able to come up with a cleaner or more general
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
193 solution to your problem.
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
194
19784
0e402ad796cf grammar fix
diego
parents: 19783
diff changeset
195 If you have modified configuration files or similar, please patch the official
0e402ad796cf grammar fix
diego
parents: 19783
diff changeset
196 one instead of copying it into your package. This way you will automatically
0e402ad796cf grammar fix
diego
parents: 19783
diff changeset
197 pick up changes we make to it.
19783
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
198
19898
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
199 Do not override video and audio output selection in the system-wide config
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
200 file. MPlayer will try to pick the best VO and AO itself and fall back
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
201 gracefully. If you want to give priority to some AO, add a comma at the end
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
202 of the line so that MPlayer can still fall back on others, for example:
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
203 ao=alsa,
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
204
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
205 Tips and tricks
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
206 ~~~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
207 In my package layout, mplayer and mplayer-gui can be installed at the same
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
208 time, because they contain differently named binaries and there is no
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
209 conflict. The trick is to build MPlayer once with --enable-gui, rename the
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
210 resulting binary to "gmplayer" and then build it again, without GUI, but
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
211 keeping the rest of ./configure options the same.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
212
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
213 To provide man pages for all MPlayer suite binaries (mplayer, gmplayer,
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
214 mencoder), you can use man-links instead of regular symbolic links.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
215 Creating a mencoder man page linked to mplayer is as simple as:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
216
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
217 echo ".so mplayer.1" >> mencoder.1
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
218
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
219 A similar trick can be used for "man gmplayer". This avoids problems with
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
220 gzipped man pages and symbolic links.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
221
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
222 Newer Red Hat and Fedora distributions keep localized man pages encoded in
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
223 UTF-8. If your distribution does the same, make sure you convert MPlayer's
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
224 translated man pages to UTF-8 so that man mplayer works for locales other
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
225 than English.