ruby: improve reproducibility

Find out rbconfig.rb and created.rid from ${B}/.installed.list
and remove build host directories

- For rbconfig.rb, parse it like python's _sysconfigdata.py
[snip rbconfig.rb]
 26   CONFIG["INSTALL"] = 'install -c'
[snip rbconfig.rb]

- For created.rid, it records file created time, just strip ${WORKDIR} prefix.
[snip created.rid]
840 /ruby-2.5.1/doc/maintainers.rdoc        Fri, 22 Dec 2017 23:08:05 +0000
[snip created.rid]

(From OE-Core rev: 853e0499be449c71378c087e08b1926be8e2ac87)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Hongxu Jia
2018-08-27 23:31:28 +08:00
committed by Richard Purdie
parent ea2f74e9a7
commit c0d181dc93

View File

@@ -35,6 +35,26 @@ do_install() {
oe_runmake 'DESTDIR=${D}' install
}
do_install_append_class-target () {
# Find out rbconfig.rb from .installed.list
rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list`
# Remove build host directories
sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' \
-e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e 's:${HOSTTOOLS_DIR}/::g' \
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-e 's:${RECIPE_SYSROOT}::g' \
-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
${D}$rbconfig_rb
# Find out created.rid from .installed.list
created_rid=`grep created.rid ${B}/.installed.list`
# Remove build host directories
sed -i -e 's:${WORKDIR}::g' ${D}$created_rid
}
PACKAGES =+ "${PN}-ri-docs ${PN}-rdoc"
SUMMARY_${PN}-ri-docs = "ri (Ruby Interactive) documentation for the Ruby standard library"