annotate DOCS/tech/binary-packaging.txt @ 34645:0bce77ccae9a

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