[OE-core] [PATCH V2 0/1] classes/compress_doc: support compress man/info pages
Hongxu Jia
hongxu.jia at windriver.com
Mon Sep 1 03:37:28 UTC 2014
Changed in V2:
Use "compress_mode = d.getVar('DOC_COMPRESS', True)" to instead of
"compress_mode = d.getVar('DOC_COMPRESS', True) or ''"
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
The following changes since commit fd0398f2c1355597a95242e6c8400eae6ad60fa4:
poky-tiny: Fix qemu build failure (2014-08-31 23:40:50 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib hongxu/compress-doc
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=hongxu/compress-doc
Hongxu Jia (1):
classes/compress_doc.bbclass: compress man/info pages
meta/classes/compress_doc.bbclass | 213 ++++++++++++++++++++++++++++++++++++++
1 file changed, 213 insertions(+)
create mode 100644 meta/classes/compress_doc.bbclass
--
1.9.1
More information about the Openembedded-core
mailing list