make install (do_install())
${D}=${WORKDIR}/image
변수에 담는다.${D}=${WORKDIR}/image
에 있는 것을 패키징을 하기위해, strip도하고 debug 파일도 만들고.. 할 것이다.split_and_strip_files
'PACKAGE_DEBUG_SPLIT_STYLE'
staticlibs
리스트에 담고 거른다.is_static_lib
함수에 대해 알아본다.static library
는 걸러진다.static library
파일들은 staticlibs
리스트에 들어간다. 이 것은 밑에 staticlibs 처리에서 사용된다.checkelflinks
에 담고 거름checkelf[file] = (file, "s.st_dev_s.st_no")
의 형태로 담음!is_elf()
exec_type
을 비트마스크로 마킹한다.0
: not elf1
: ELF format file2
: stripped3
이면 ELF+stripped4
: executable8
: shared library16
: kernel mode.ko
로 끝나면서 파일 경로에 /lib/modules/
가 있다. 그리고 is_kernel_module함수 값이 True
이다.is_kernel_module()
checkelflinks
부터 is_elf()
를 사용한다.elf_file & 1
일 경우,splitdebuginfo
objcopy
를 사용해, 1)실제 바이너리와 2)디버그심볼용 바이너리를 분리한다.dwarfsrcfiles
를 사용해 디버깅시 필요로하는 소스코드를 주어진 rootfs에서 찾아낸다.splitstaticdebuginfo
혹은 그냥 source_info
com.sample.waylandegl
에서 생성된 바이너리인 wayland_egl
에 대해 dwarfsrcfiles를 적용 후, PKGDEBUGSOURCESset()
)에, PKGDEBUGSOURCES에서 value
들만 들어간다.copydebugsources
${WORKDIR}/package
에서 /usr/src/debug
에 소스코드들이 ${PN}-src
용으로 옮긴다.splitstaticdebuginfo
-dbg
, -doc
, -locale-
, -localedata-
, -gconv-
가 있으면 continuefiledeprunner
openembedded-core, oe.package.filedeprunner
)RDEPENDS:pciutils: pciutils-ids update-alternatives-opkg glibc (>= 2.35) libkmod (>= 29) libpci (>= 3.7.0) libudev (>= 250.5) zlib (>= 1.2.11)
그런데, deploy-ipks에서 막상 나온 .ipk의 control파일을 보면,
runtime/pciutils
runtime/pciutils-dbg
runtime/pciutils-src