[yocto] replace etc/network/interfaces with symbolic link

Bryan Evenson bevenson at melinkcorp.com
Mon Feb 9 06:01:28 PST 2015


Aurèle,

> -----Original Message-----
> From: Aurele Traynard [mailto:aurele.traynard at gmail.com]
> Sent: Monday, February 09, 2015 4:59 AM
> To: Bryan Evenson
> Cc: yocto at yoctoproject.org
> Subject: Re: [yocto] replace etc/network/interfaces with symbolic link
> 
> Thank you for all answers, I looked
> 
> 
> In fact I found another problem, even if I modify the original recipe I can't get
> a modified rpm, or rootfs...
> I commented lines concerning interfaces files but it seems that nothing is
> modified in the rootfs and in the rpm...
> if someone understands what I missed...
> 
> the bitbake file :
> http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/init-
> ifupdown/init-ifupdown_1.0.bb
> and I commented out :
> #install -m 0644 ${WORKDIR}/interfaces
> ${D}${sysconfdir}/network/interfaces
> #CONFFILES_${PN} = "${sysconfdir}/network/interfaces"
> 
> 

If you comment those lines out, then ${sysconfdir}/network/interfaces should not be in the built RPM.  So either there is a .bbappend that is adding the file back in, or the package isn't being rebuilt.  Try checking the following to see what may be happening:

1.  Check the creation date on the init-ifupdown RPM.  If the RPM has not been re-created since the last time you modified the recipe, then the RPM is not being rebuilt with your changes.  If you are not running a PR server, then you need to increment the PR version in your .bbappend.  See http://www.yoctoproject.org/docs/1.7.1/dev-manual/dev-manual.html#working-with-a-pr-service for details on the PR service and how to handle PRs without the PR service.  Note that if you are on an older poky branch that the steps for handling the PR service may be slightly different.  Read the version of documentation that matches your current branch.
2. If the RPM is being rebuilt, extract the RPM on your build machine to look at its contents.  If the interfaces file is still there, then there is still something not working right with the do_install step.  Under tmp/work/<MACHINE>/init-ifupdown/<PV-PR>/temp/, open the file run.do_install (the filename will have a PID appended to the end, so it'll be named something like run.do_install.15612.  If there are multiple in the temp directory, make sure you look at the latest one).  In this file is the final do_install script that is run when performing the install step for the recipe.  If this does not look like what you want, then something between the main recipe and the .bbappends are building the do_install step incorrectly.

Since you are removing files that the original recipe adds, the cleanest approach may be to leave the original recipe untouched and to replace the do_install step in your .bbappend.  If you modify the main recipe, later on if you switch to a different poky branch you'll lose your changes.

Regards,
Bryan

> Aurèle
> 
> 
> 2015-02-06 20:38 GMT+01:00 Bryan Evenson <bevenson at melinkcorp.com
> <mailto:bevenson at melinkcorp.com> >:
> 
> 
> 	Aurele,
> 
> 	One possible issue is ${sysconfdir}/network/interfaces is listed in the
> CONFFILES in the original recipe.  It may still be installing this file because it is
> listed under CONFFILES.  Try adding:
> 
> 	CONFFILES_${PN} = ""
> 
> 	To your bbappend.
> 
> 	Regards,
> 	Bryan
> 
> 
> 	> -----Original Message-----
> 	> From: yocto-bounces at yoctoproject.org <mailto:yocto-
> bounces at yoctoproject.org>  [mailto:yocto- <mailto:yocto->
> 	> bounces at yoctoproject.org <mailto:bounces at yoctoproject.org> ]
> On Behalf Of Aurele Traynard
> 	> Sent: Friday, February 06, 2015 10:55 AM
> 	> To: yocto at yoctoproject.org <mailto:yocto at yoctoproject.org>
> 	> Subject: [yocto] replace etc/network/interfaces with symbolic link
> 	>
> 	> Hi,
> 	>
> 	>
> 	> I'm trying to find a clean way to replace /etc/network/interfaces
> with a
> 	> symbolic link. (it comes with init-ifupdown recipe) I tried with  a
> bbappend
> 	> but nothing appear in final filesystem and /etc/network/interfaces
> still
> 	> exists...
> 	>
> 	>
> 	> I'm sure the following code is completely wrong, but I don't know
> how to do
> 	> this with the right way...
> 	> do_install_append () {
> 	>     mkdir -p datas/network
> 	>
> 	>     install -d 0755 ${D}/datas
> 	>     install -d 0755 ${D}/datas/network
> 	>     install -m 0755 ${D}${sysconfdir}/network/interfaces
> ${D}/datas/network
> 	>     #mv ${D}${sysconfdir}/network/interfaces ${D}/datas/network
> 	>     rm ${D}${sysconfdir}/network/interfaces
> 	>     ln -sf /datas/network/interfaces
> ${D}${sysconfdir}/network/interfaces
> 	>
> 	> }
> 	> FILES_${PN} += "/datas/ /datas/network/interfaces"
> 	>
> 	>
> 	> thanks for any help
> 	>
> 
> 
> 



More information about the yocto mailing list