| Summary: | Man pages (and other documentation) are not compressed | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] Meta-yocto | Reporter: | Mark Hatle <mark.hatle> |
| Component: | meta-yocto | Assignee: | Hongxu Jia <hongxu.jia> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | Low | CC: | hongxu.jia, jessica.zhang, liezhi.yang, poky.bs.watcher, poky.watcher, sgw, song.liu |
| Version: | unspecified | ||
| Target Milestone: | 1.7 M3 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Yes (doc changes required) | |
|
Description
Mark Hatle
2011-07-13 08:37:19 UTC
When compressing man pages and/or other documentation the gzip option "--no-name" needs to be passed in order to avoid embedding a date stamp and filename into the compressed archive. This embedded information will cause a different md5sum for multiple builds. Merged into master: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=5c833e188bbf25c35c24f78eaa761a191d6b5801 Test Steps: 1. vim local.conf ... IMAGE_INSTALL_append = " man info man-doc e2fsprogs-doc vim-doc" INHERIT += "compress_doc" DOC_COMPRESS = "xz" ... 2. bitbake core-image-minimal 3. Identify already compressed items, verify they conform to compression policy. Take man for example ('gz' --> 'xz') $ cd tmp/work/armv5te-poky-linux-gnueabi/man/1.6g-r1 $ find image/usr/share/man/ image/usr/share/man/ image/usr/share/man/man7 image/usr/share/man/man7/man.7.gz image/usr/share/man/man1 image/usr/share/man/man1/man2html.1 image/usr/share/man/man1/man.1.gz image/usr/share/man/man5 image/usr/share/man/man5/manpath.5.gz $ find package/usr/share/man/ package/usr/share/man/ package/usr/share/man/man7 package/usr/share/man/man7/man.7.xz package/usr/share/man/man1 package/usr/share/man/man1/man.1.xz package/usr/share/man/man1/man2html.1.xz package/usr/share/man/man5 package/usr/share/man/man5/manpath.5.xz 4. The hardlink files could be compressed and re-hardlink correctly. Take e2fsprogs for example: $ cd tmp/work/armv5te-poky-linux-gnueabi/e2fsprogs/1.42.9-r0 $ ls -al image/usr/share/man/man8/mk* -rw-r--r-- 5 jiahongxu jiahongxu 20221 Aug 14 18:17 image/usr/share/man/man8/mke2fs.8 -rw-r--r-- 5 jiahongxu jiahongxu 20221 Aug 14 18:17 image/usr/share/man/man8/mkfs.ext2.8 -rw-r--r-- 5 jiahongxu jiahongxu 20221 Aug 14 18:17 image/usr/share/man/man8/mkfs.ext3.8 -rw-r--r-- 5 jiahongxu jiahongxu 20221 Aug 14 18:17 image/usr/share/man/man8/mkfs.ext4.8 -rw-r--r-- 5 jiahongxu jiahongxu 20221 Aug 14 18:17 image/usr/share/man/man8/mkfs.ext4dev.8 $ ls -al package/usr/share/man/man8/mk* -rw-r--r-- 10 jiahongxu jiahongxu 6828 Aug 14 18:17 package/usr/share/man/man8/mke2fs.8.xz -rw-r--r-- 10 jiahongxu jiahongxu 6828 Aug 14 18:17 package/usr/share/man/man8/mkfs.ext2.8.xz -rw-r--r-- 10 jiahongxu jiahongxu 6828 Aug 14 18:17 package/usr/share/man/man8/mkfs.ext3.8.xz -rw-r--r-- 10 jiahongxu jiahongxu 6828 Aug 14 18:17 package/usr/share/man/man8/mkfs.ext4.8.xz -rw-r--r-- 10 jiahongxu jiahongxu 6828 Aug 14 18:17 package/usr/share/man/man8/mkfs.ext4dev.8.xz 5. The symlink files could be compressed and re-symlink correctly. Take 'vim' for example: $ cd tmp/work/armv5te-poky-linux-gnueabi/vim/7.4.373-r0 $ ls -al `find image/usr/share/man/man1/ -type l` lrwxrwxrwx 1 jiahongxu jiahongxu 5 Aug 15 17:17 image/usr/share/man/man1/ex.1 -> vim.1 lrwxrwxrwx 1 jiahongxu jiahongxu 5 Aug 15 17:17 image/usr/share/man/man1/rview.1 -> vim.1 lrwxrwxrwx 1 jiahongxu jiahongxu 5 Aug 15 17:17 image/usr/share/man/man1/rvim.1 -> vim.1 lrwxrwxrwx 1 jiahongxu jiahongxu 5 Aug 15 17:17 image/usr/share/man/man1/view.1 -> vim.1 $ ls -al `find package/usr/share/man/man1/ -type l` lrwxrwxrwx 1 jiahongxu jiahongxu 8 Aug 15 17:31 package/usr/share/man/man1/ex.1.xz -> vim.1.xz lrwxrwxrwx 1 jiahongxu jiahongxu 8 Aug 15 17:31 package/usr/share/man/man1/rview.1.xz -> vim.1.xz lrwxrwxrwx 1 jiahongxu jiahongxu 8 Aug 15 17:31 package/usr/share/man/man1/rvim.1.xz -> vim.1.xz lrwxrwxrwx 1 jiahongxu jiahongxu 8 Aug 15 17:31 package/usr/share/man/man1/view.1.xz -> vim.1.xz 6. Start qemu 7. On target, check the compressed man/info files could work. Currently only gz could work. 8. Change DOC_COMPRESS = "xz" to DOC_COMPRESS = "bz2" and repeat steps 2-7. //Hongxu |