Gentoo 中打包确定依赖
看到 Maxthon 发布了 Linux 版本,Gentoo 同学速度很快,ebuild 已经提交到 Gentoo-zh 中,不过为了验证依赖是否全部满足,临时写了个脚本去验证。
几步走:
- 下载二进制包,解压
ldd file
,确定需要的库文件- 取第一结果,排序,去除重复数据
equery b name.so
去网络上获取软件包名
很简单,当然 equery b name.so
是在线查询,有时网络环境不好的时候,需要耗费些时间很长,甚至返回空的查询结果。
#! /usr/bin/env sh
#
# depend.sh
# Copyright (C) 2014 Havee <registerdedicated(at)yeah.net>
#
# Distributed under terms of the GPLv3 license.
#
# Depends on app-portage/pfl
#
# use it on Gentoo
exefile=$1
tmpfile="/tmp/${exefile}.so.show"
[[ -f ${tmpfile} ]] && rm -rf ${tmpfile}
for so in $(ldd ${exefile} | awk '{print $1}' | sort | uniq ); do
[[ ! -f $so ]] && echo $so >> /tmp/${exefile}.so
done
for so in $(cat /tmp/${exefile}.so); do
echo "$so need:"
equery b $so
echo ""
done >> ${tmpfile}
rm /tmp/${exefile}.so
cat ${tmpfile}