Mercurial > mplayer.hg
comparison DOCS/tech/binary-packaging.txt @ 14268:37e1dc7e7107
wording/spelling
author | diego |
---|---|
date | Wed, 29 Dec 2004 05:49:24 +0000 |
parents | ae421e5d6fb6 |
children | d771b3d98d9d |
comparison
equal
deleted
inserted
replaced
14267:ae421e5d6fb6 | 14268:37e1dc7e7107 |
---|---|
81 documentation. Translated versions SHOULD be included, even if your | 81 documentation. Translated versions SHOULD be included, even if your |
82 package management system does not provide specific support for | 82 package management system does not provide specific support for |
83 internationalization. | 83 internationalization. |
84 | 84 |
85 Libavcodec MUST always be in the latest development version and it SHOULD | 85 Libavcodec MUST always be in the latest development version and it SHOULD |
86 be linked statically into mplayer binary, because MPlayer requires a | 86 be linked statically into the mplayer binary, because MPlayer requires a |
87 recent libavcodec snapshot. While some distributions provide ffmpeg | 87 recent libavcodec snapshot. While some distributions provide FFmpeg |
88 packages containing shared libavcodec library, they are often based on the | 88 packages containing a shared libavcodec library, they are often based on the |
89 last "release" version of ffmpeg, which is quite old and will usually not | 89 last "release" version of FFmpeg, which is quite old and will usually not |
90 function with MPlayer. | 90 function correctly with MPlayer. |
91 | 91 |
92 | 92 |
93 File locations | 93 File locations |
94 ~~~~~~~~~~~~~~ | 94 ~~~~~~~~~~~~~~ |
95 In general, you SHOULD follow your distribution guidelines. For example, | 95 In general, you SHOULD follow your distribution guidelines. For example, |
96 for RedHat and Fedora RPMs I am using FHS-compliant paths: | 96 for Red Hat and Fedora RPMs I am using FHS-compliant paths: |
97 | 97 |
98 /etc/mplayer/ system-wide configs | 98 /etc/mplayer/ system-wide configs |
99 /usr/bin/ binaries | 99 /usr/bin/ binaries |
100 /usr/lib/codecs/ binary codecs | 100 /usr/lib/codecs/ binary codecs |
101 /usr/share/doc/mplayer-version/ docs | 101 /usr/share/doc/mplayer-version/ docs |
111 One package or many packages? | 111 One package or many packages? |
112 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 112 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
113 Although it is tempting to simply provide a single all-in-one package, | 113 Although it is tempting to simply provide a single all-in-one package, |
114 I think it is best to split MPlayer into several packages. It may be | 114 I think it is best to split MPlayer into several packages. It may be |
115 a little more troublesome for less clueful users, but it allows you to | 115 a little more troublesome for less clueful users, but it allows you to |
116 install only what you need. This is the layout I am using for RedHat and | 116 install only what you need. This is the layout I am using for Red Hat and |
117 Fedora RPMs: | 117 Fedora RPMs: |
118 | 118 |
119 mencoder contains MEncoder binary (mencoder) | 119 mencoder contains MEncoder binary (mencoder) |
120 mplayer contains MPlayer binary without GUI (mplayer), | 120 mplayer contains MPlayer binary without GUI (mplayer), |
121 config files, man pages and documentation; | 121 config files, man pages and documentation; |
123 mplayer-codecs-* contain binary codecs available from MPlayer's site | 123 mplayer-codecs-* contain binary codecs available from MPlayer's site |
124 mplayer-font-* contain various bitmap fonts for OSD (obsolete) | 124 mplayer-font-* contain various bitmap fonts for OSD (obsolete) |
125 mplayer-gui contains MPlayer binary with GUI (gmplayer); | 125 mplayer-gui contains MPlayer binary with GUI (gmplayer); |
126 requires default skin package | 126 requires default skin package |
127 mplayer-skin-* contain various MPlayer GUI skins | 127 mplayer-skin-* contain various MPlayer GUI skins |
128 mplayer-vidix contains vidix support library for MPlayer | 128 mplayer-vidix contains VIDIX support library for MPlayer |
129 mplayer-vidix-* contain vidix drivers for specific cards, one per package | 129 mplayer-vidix-* contain VIDIX drivers for specific cards, one per package |
130 | 130 |
131 There is no strict policy for now, just use your common sense. | 131 There is no strict policy for now, just use your common sense. |
132 | 132 |
133 | 133 |
134 Compilation | 134 Compilation |
135 ~~~~~~~~~~~ | 135 ~~~~~~~~~~~ |
136 While it is acceptable to provide packages optimized for specific CPUs, | 136 While it is acceptable to provide packages optimized for specific CPUs, |
137 you MUST provide at least one "lowest common denominator" package set | 137 you MUST provide at least one "lowest common denominator" package set |
138 that will work on all CPUs. This means it MUST be configured with | 138 that will work on all CPUs. This means it MUST be configured with the |
139 --enable-runtime-cpudetection option. Building for specific CPUs requires | 139 --enable-runtime-cpudetection option. Building for specific CPUs requires |
140 disabling this option, but try to make sure that users cannot accidentally | 140 disabling this option, but try to make sure that users cannot accidentally |
141 install a package not suitable for their CPU. With RPMs, for example, this | 141 install a package not suitable for their CPU. With RPMs, for example, this |
142 is handled automatically, when building with "--target arch" rpm option. | 142 is handled automatically, when building with the "--target arch" rpm option. |
143 | 143 |
144 Compiler flags MUST be set to either configure-generated CFLAGS or something | 144 Compiler flags MUST be set to either configure-generated CFLAGS or something |
145 as close to them as possible. | 145 as close to them as possible. |
146 | 146 |
147 Users MUST be able to rebuild your source package without hand-editing on | 147 Users MUST be able to rebuild your source package without hand-editing on |
153 distribution will get binaries with the same dependencies. | 153 distribution will get binaries with the same dependencies. |
154 | 154 |
155 You SHOULD provide an option to rebuild the package with full debug | 155 You SHOULD provide an option to rebuild the package with full debug |
156 information enabled (by passing --enable-debug=3 to ./configure and | 156 information enabled (by passing --enable-debug=3 to ./configure and |
157 disabling any stripping of binaries and libs during the build process). | 157 disabling any stripping of binaries and libs during the build process). |
158 For example my source RPM can be rebuilt with "--with debug" option, which | 158 For example my source RPM can be rebuilt with a "--with debug" option, which |
159 does just that, making it easier to supply gdb information along with any | 159 does just that, making it easier to supply gdb information along with any |
160 bug reports, while retaining all benefits of using binary packages. | 160 bug reports, while retaining all benefits of using binary packages. |
161 | 161 |
162 | 162 |
163 Modifications | 163 Modifications |
188 mencoder), you can use man-links instead of regular symbolic links. | 188 mencoder), you can use man-links instead of regular symbolic links. |
189 Creating a mencoder man page linked to mplayer is as simple as: | 189 Creating a mencoder man page linked to mplayer is as simple as: |
190 | 190 |
191 echo ".so mplayer.1" >> mencoder.1 | 191 echo ".so mplayer.1" >> mencoder.1 |
192 | 192 |
193 Similar trick can be used for "man gmplayer". This avoids problems with | 193 A similar trick can be used for "man gmplayer". This avoids problems with |
194 gzipped man pages and symbolic links. | 194 gzipped man pages and symbolic links. |
195 | 195 |
196 Newer RedHat and Fedora distributions keep localized man pages encoded in | 196 Newer Red Hat and Fedora distributions keep localized man pages encoded in |
197 UTF-8. If your distribution does the same, make sure you convert MPlayer's | 197 UTF-8. If your distribution does the same, make sure you convert MPlayer's |
198 translated man pages to UTF-8 so that man mplayer works for locales other | 198 translated man pages to UTF-8 so that man mplayer works for locales other |
199 than English. | 199 than English. |