annotate DOCS/tech/binary-packaging.txt @ 37170:4fc2db166644

Add missing #include.
author ib
date Fri, 05 Sep 2014 17:18:53 +0000
parents 3b50a42ee737
children
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
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
46 - libavcodec(internal)
19898
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
47 - RealPlayer codecs support (*)
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
48 - Win32/VfW/DShow/QT codecs support (*)
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
49 - XAnim codecs support (*)
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
50
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
51 * general:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
52 - FreeType fonts support
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
53 - HTML documentation
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
54 - large file support
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
55 - man page(s)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
56
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
57 * input/demuxers:
28959
65c1c0903740 drop obsolete guidelines
rathann
parents: 19899
diff changeset
58 - DVD(libdvdread4/libdvdnav)
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
59 - streaming
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
60 - Matroska(internal)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
61 - (S)VCD
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
62 - tv(v4l/v4l2)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
63
19898
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
64 (*) if available for your OS/hardware
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
65
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
66 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
67 come as a separate package (see Tips and Tricks for details).
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
68
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
69 Including other features, like LIVE.COM streaming or JACK support, is
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
70 acceptable. They SHOULD, however, be build-time configurable, with the
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
71 default build configuration containing the above set.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
72
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
73 It seems there are some packages in the wild which lack included docs.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
74 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
75 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
76 docs, thus increasing the number of repeated posts in MPlayer mailing
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
77 lists. Binary packages MUST include both the man page and HTML
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
78 documentation. Translated versions SHOULD be included, even if your
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
79 package management system does not provide specific support for
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
80 internationalization.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
81
19899
b748e4e64b50 Allow shared libavcodec, but explain the implications.
rathann
parents: 19898
diff changeset
82 Libavcodec MUST always be in the latest development version and it SHOULD
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
83 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
84 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
85 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
86 MPlayer's functions (for example, some postprocessing filters) and sacrifices
b748e4e64b50 Allow shared libavcodec, but explain the implications.
rathann
parents: 19898
diff changeset
87 speed.
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
88
19790
9c54d979c2bc Clarify binary codecs section.
diego
parents: 19784
diff changeset
89 Support for binary codecs SHOULD be present to the extent that the combination
9c54d979c2bc Clarify binary codecs section.
diego
parents: 19784
diff changeset
90 of operating system and CPU architecture permits, but it MUST NOT result in a
9c54d979c2bc Clarify binary codecs section.
diego
parents: 19784
diff changeset
91 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
92 external binary codecs. If you package binary codecs yourself, package the
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
93 essential codecs package, not the all codecs package.
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
94
19898
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
95 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
96 fonts instead.
19783
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
97
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
98
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
99 File locations
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
100 ~~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
101 In general, you SHOULD follow your distribution guidelines. For example,
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
102 for Red Hat and Fedora RPMs I am using FHS-compliant paths:
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
103
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
104 /etc/mplayer/ system-wide configs
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
105 /usr/bin/ binaries
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
106 /usr/lib/codecs/ binary codecs
28959
65c1c0903740 drop obsolete guidelines
rathann
parents: 19899
diff changeset
107 /usr/lib64/codecs/ binary codecs on 64bit Linux
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
108 /usr/share/doc/mplayer-version/ docs
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
109 /usr/share/man/man1/ man page
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
110 /usr/share/man/XX/man1/ translated man page
17974
9a5a62f480e6 Rename the default GUI skins directory from 'Skin' to 'skins', keeping
diego
parents: 16950
diff changeset
111 /usr/share/mplayer/skins/ GUI skins
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
112
19783
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
113 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
114 only for development purposes and often causes obscure problems for users.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
115
19673
e7cd9c08d1d9 Remind packagers not to use deprecated codecs and skins paths.
diego
parents: 17974
diff changeset
116 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
117 and skins (/usr/share/mplayer/Skin/).
e7cd9c08d1d9 Remind packagers not to use deprecated codecs and skins paths.
diego
parents: 17974
diff changeset
118
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
119
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
120 One package or many packages?
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
122 Although it is tempting to simply provide a single all-in-one package,
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
123 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
124 a little more troublesome for less clueful users, but it allows you to
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
125 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
126 Fedora RPMs:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
127
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
128 mencoder contains MEncoder binary (mencoder)
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
129 mplayer contains MPlayer binary without GUI (mplayer),
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
130 config files, man pages and documentation;
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
131 required by mplayer-gui
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
132 mplayer-codecs-* contain binary codecs available from MPlayer's site
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
133 mplayer-gui contains MPlayer binary with GUI (gmplayer);
16950
2ddf991d876d typo, trailing whitespace
diego
parents: 16949
diff changeset
134 contains default skin (Blue)
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
135 mplayer-skin-* contain various MPlayer GUI skins
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
136
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
137 There is no strict policy for now, just use your common sense.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
138
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
139
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
140 Compilation
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
141 ~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
142 While it is acceptable to provide packages optimized for specific CPUs,
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
143 you MUST provide at least one "lowest common denominator" package set
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
144 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
145 --enable-runtime-cpudetection option. Building for specific CPUs requires
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
146 disabling this option, but try to make sure that users cannot accidentally
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
147 install a package not suitable for their CPU. With RPMs, for example, this
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
148 is handled automatically, when building with the "--target arch" rpm option.
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
149
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
150 Compiler flags MUST be set to either configure-generated CFLAGS or something
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
151 as close to them as possible.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
152
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
153 Users MUST be able to rebuild your source package without hand-editing on
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
154 any system with the same distribution installed. Remember to disable
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
155 (--disable-xxx) any optional features, because MPlayer's configure script
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
156 autodetects most of them. This ensures that binary package builds are
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
157 deterministic -- that is, provided they have at least the required
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
158 development packages installed, two different people using the same
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
159 distribution will get binaries with the same dependencies.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
160
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
161 You SHOULD provide an option to rebuild the package with full debug
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
162 information enabled (by passing --enable-debug=3 to ./configure and
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
163 disabling any stripping of binaries and libs during the build process).
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
164 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
165 does just that, making it easier to supply gdb information along with any
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
166 bug reports, while retaining all benefits of using binary packages.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
167
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
168
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
169 Modifications
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
170 ~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
171
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
172 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
173 using your binary package, by patching version.h and modifying the version
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
174 string inside. Suggested convention is to include distribution name and,
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
175 possibly, the signature of the packager or the repository. For example:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
176
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
177 original:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
178 MPlayer 1.0pre5-3.3.2 (C) 2000-2004 MPlayer Team
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
179 modified:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
180 MPlayer 1.0pre5-Fedora-GS-3.3.2 (C) 2000-2004 MPlayer Team
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
181 MPlayer 1.0pre5-Mandrake-PLF-3.2.3 (C) 2000-2004 MPlayer Team
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
182 MPlayer 1.0pre5-Solaris-3.4.0 (C) 2000-2004 MPlayer Team
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
183
19783
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
184 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
185 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
186 solution to your problem.
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
187
19784
0e402ad796cf grammar fix
diego
parents: 19783
diff changeset
188 If you have modified configuration files or similar, please patch the official
0e402ad796cf grammar fix
diego
parents: 19783
diff changeset
189 one instead of copying it into your package. This way you will automatically
0e402ad796cf grammar fix
diego
parents: 19783
diff changeset
190 pick up changes we make to it.
19783
f3c62f9df8d2 Some more hints for binary packagers.
diego
parents: 19673
diff changeset
191
19898
d77040154bad Add (if applicable) footnote to binary codecs in the feature list.
rathann
parents: 19790
diff changeset
192 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
193 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
194 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
195 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
196 ao=alsa,
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
197
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
198 Tips and tricks
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
199 ~~~~~~~~~~~~~~~
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
200 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
201 time, because they contain differently named binaries and there is no
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
202 conflict. The trick is to build MPlayer once with --enable-gui, rename the
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
203 resulting binary to "gmplayer" and then build it again, without GUI, but
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
204 keeping the rest of ./configure options the same.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
205
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
206 To provide man pages for all MPlayer suite binaries (mplayer, gmplayer,
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
207 mencoder), you can use man-links instead of regular symbolic links.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
208 Creating a mencoder man page linked to mplayer is as simple as:
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
209
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
210 echo ".so mplayer.1" >> mencoder.1
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
211
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
212 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
213 gzipped man pages and symbolic links.
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
214
14268
37e1dc7e7107 wording/spelling
diego
parents: 14267
diff changeset
215 Newer Red Hat and Fedora distributions keep localized man pages encoded in
14267
ae421e5d6fb6 last draft with some insignificant changes
rathann
parents:
diff changeset
216 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
217 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
218 than English.