annotate DOCS/tech/binary-packaging.txt @ 29585:a17d4f8040f1

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