FS#9346 - man pages not included in ffmpeg-20071204 package

Attached to Project: Arch Linux
Opened by David Spicer (azleifel) - Saturday, 26 January 2008, 21:32 GMT
Last edited by Greg (dolby) - Tuesday, 15 July 2008, 15:26 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Paul Mattal (paul)
Architecture All
Severity Medium
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description: Manual pages are missing from the ffmpeg-20071204 x86_64 package, i.e. they are not in the .tar.gz nor listed in the enclosed .FILELIST. They are, however, listed on the File List page (http://www.archlinux.org/packages/files/537/) as follows:

usr/man/man1/ffmpeg.1.gz
usr/man/man1/ffplay.1.gz
usr/man/man1/ffserver.1.gz
usr/man/man1/
usr/man/

Additional info:
* ffmpeg-20071204-1-x86_64



Steps to reproduce: N/A
This task depends upon

Closed by  Greg (dolby)
Tuesday, 15 July 2008, 15:26 GMT
Reason for closing:  Fixed
Comment by Xavier (shining) - Sunday, 27 January 2008, 13:35 GMT
See  bug 8839 .
Are you sure the package doesn't contain the files? Did you check the package, or just tried man ffmpeg?
Try pacman -Ql ffmpeg
and also unset MANPATH , then man ffmpeg.
Comment by David Spicer (azleifel) - Sunday, 27 January 2008, 17:35 GMT
I'm positive that it's not a problem with MANPATH because I went through this a few days ago with the move of the pacman man pages to /usr/share/man. As I'm using ffmpeg-svn now, I've just downloaded ffmpeg-20071204-1-x86_64.pkg.tar.gz again and had a look inside. The three man page files, i.e ffmpeg.1.gz, ffserver.1.gz and ffplay.1.gz, are definitely not there (.FILELIST from the package attached).
Comment by Fredrik (vEX) - Sunday, 04 May 2008, 18:28 GMT
I can confirm they are not in the package, for some reason they are missing from the x86_64 package.

$ pacman -Q ffmpeg
ffmpeg 20071204-1

$ uname -m
x86_64

$ pacman -Ql ffmpeg|grep man
$

$ tar tzf ffmpeg-20071204-1-i686.pkg.tar.gz|grep man
usr/man/
usr/man/man1/
usr/man/man1/ffserver.1.gz
usr/man/man1/ffplay.1.gz
usr/man/man1/ffmpeg.1.gz

$ tar tzf ffmpeg-20071204-1-x86_64.pkg.tar.gz|grep man
$
Comment by David Spicer (azleifel) - Monday, 05 May 2008, 00:17 GMT
It's because the ffmpeg documentation doesn't get built by default and PKGBUILD doesn't include the extra make/make install instructions for the man pages. In the meantime, I've been using a modified version of the PKGBUILD that does build the man pages. The following works with the 2008-03-18 ffmpeg snapshot that I'm using at the moment but is not guaranteed for earlier revisions:

# build
make -j 2 || return 1
make doc/ff{mpeg,play,server}.1 || return 1

# install
mkdir -p $startdir/pkg/usr/{bin,include,lib,share} || return 1
make DESTDIR=$startdir/pkg install || return 1
make DESTDIR=$startdir/pkg install-man || return 1
Comment by Xavier (shining) - Monday, 05 May 2008, 07:02 GMT
Does that explain why the man pages are in i686 package but not in x86-64?
I don't see how.
Comment by David Spicer (azleifel) - Monday, 05 May 2008, 10:18 GMT
Out of curiosity, I downloaded the i686 package and it does indeed contain the man pages in /usr/man. The interesting point to note is that the ffmpeg default is to put man pages in /usr/share/man (in config.mak from the ffmpeg-20071204.tar.gz source "MANDIR=$(DESTDIR)$(PREFIX)/share/man"), so the PKGBUILD ought to contain something like "sed -i 's|/share/man|/man|' config.mak" but it doesn't. Taking it one step further, I built the i686 package in my 32bit chroot using the i686 PKGBUILD from svn and it doesn't contain man pages. Go figure!
Comment by Xavier (shining) - Monday, 05 May 2008, 11:11 GMT
the /usr/share/man -> /usr/man move was done by makepkg 3.0.
makepkg 3.1 doesn't do that anymore :
http://projects.archlinux.org/?p=pacman.git;a=commitdiff;h=9addd88a7d12c8c8445ec226e2837afe01e660b7
But all packages that weren't rebuilt with makepkg 3.1 will still have man pages in /usr/man :P
So that part is not surprising.

What remains unexplained is how man pages ended up in the i686 package. But you seem to confirm what you said earlier that make install-man is indeed required. So thanks for that.
Comment by David Spicer (azleifel) - Monday, 05 May 2008, 13:08 GMT
Aha, that explains the empty /usr/share directory in the i686 package! In the meantime, I've been rolling my own ffmpeg package for a while now because of this and http://bugs.archlinux.org/task/9348. If #9348 gets sorted as well then maybe I'll come back to the fold ;-)
Comment by Paul Mattal (paul) - Tuesday, 15 July 2008, 12:46 GMT
Is this resolved for everyone in 20080625?
Comment by Xavier (shining) - Tuesday, 15 July 2008, 13:13 GMT
As I was downloading the ffmpeg packages to check manually, I noticed a big size difference : from 5 MB to 15 MB.
And this is true for both architectures. Could the packagers check they still have the strip option enabled in makepkg.conf on their build machine?
However, I am currently unable to test if it would be correctly stripped when building it myself.
Anyway, this is off topic.

I can confirm man pages are included for both arch in 20080625 so this can be closed.

Loading...