2016-12-21 4 views
2

systemddhcp-clientの画像を作成しました。レシピdhcpmeta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcpには、dhclient.serviceを作成するためのbbappendがあります。このファイルを変更(または上書き)したいのですが、bitbakeを起動すると、Applying patch 0001-dhclient-modify-interface.patch can't find file to patch at input line 5というエラーが表示されます。ここで別の.bbappendを無効にする方法

がdhclient.serviceのための私のパッチです:

Index: 4.3.3-r0/dhclient.service 
=================================================================== 
--- 4.3.3-r0.orig/dhclient.service 
+++ 4.3.3-r0/dhclient.service 
@@ -6,7 +6,7 @@ After=syslog.target network.target 
Type=forking 
PIDFile=/var/run/dhclient.pid 
EnvironmentFile=-/etc/default/dhcp-client 
-ExecStart=/sbin/dhclient -cf /etc/dhcp/dhclient.conf -q -lf /var/lib/dhcp/dhclient.leases $INTERFACES 
+ExecStart=/sbin/dhclient -cf /etc/dhcp/dhclient.conf -q -lf /var/lib/dhcp/dhclient.leases eth0 

[Install] 
WantedBy=multi-user.target 

そして、私のDHCP _%bbappend:。

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 
SRC_URI += "file://dhclient.service" 

私は、ファイルを上書きしようとしたが、completly私のファイルを無視するようです...

これをデフォルトで有効にしたいのですが、このligne(dhcpフォルダにある)をenableに変更するには、SYSTEMD_AUTO_ENABLE_dhcp-client = "disable"

+0

使用しているOpenEmbeddedのバージョンを明記してください。 – Anders

答えて

2

まあ、ソースには含まれていないので、ファイルを簡単に修正することはできません。

しかし、recipes-core/dhcp/dhcp/dhclient.serviceであなたの層に.bbappenddhclient.service

FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" 
SYSTEMD_AUTO_ENABLE_dhcp-client = "enable" 

とプットを追加するために十分なはずです。

これは、レイヤーがmeta-systemdと比較して優先度が高いことを前提としています。

1

私のために働く別の解決策は、最初にオリジナルのbbappendを無効にしてから独自のものを追加することです。

build/conf/layers.confに元のアップストリームbbappendを無効にしてから、独自のレシピに新しいbbappendを作成してください。そうすれば、bbappendを "上書き"することができます。

これはより柔軟で、あなたのケースに限定されないより多くのシナリオに適用できます。

関連する問題