busyboxパッチを利用し、lsコマンドをSmackに対応させてみます。
提供されているパッチは、busybox-1.7.2用ですが、busybox-1.7.5でも問題ありません。
busyboxにパッチ適用し、make menuconfigで以下Smackオプションを有効化。
CONFIG_SMACK:
Enable support for Smack in applets ls, ps, and id. Also provide
the option of compiling in Smack applets.
Symbol: SMACK [=y]
Prompt: Support Smack
Defined at Config.in:225
Location:
-> Busybox Settings
-> General Configuration
Vine5では以下エラーとなる。
今回は、ipsvd utilities機能は不要なので、ipsvd utilitiesのオプションをmenuconfigで外す事で回避。
In file included from /usr/include/linux/netfilter_ipv4.h:8,
from ipsvd/tcpudp.c:33:
/usr/include/linux/netfilter.h:45: error: field ‘in’ has incomplete type
/usr/include/linux/netfilter.h:46: error: field ‘in6’ has incomplete type
ipsvd/tcpudp.c: In function ‘tcpudpsvd_main’:
ipsvd/tcpudp.c:314: 警告: ignoring return value of ‘write’, declared with attribute warn_unused_result
make[1]: *** [ipsvd/tcpudp.o] エラー 1
make: *** [ipsvd] エラー 2
作成されたbusyboxのlsで-Zオプションを付ければ、SMACK64のラベルが表示されます。
まじめにやりだすと面倒なので、x86用に提供されているstaticバイナリが存在しますので、そちらを使ったほうがラクかも。
提供されてるバイナリでは、-Mオプションです。
-Mオプションを使うには、coreutils-6.9.patch側の様です。
ネットで調べるより、パッチの中身を見る方がはやかった。。。