[yocto] Applying Patch to /etc/passwd file in Yocto

Amit Tomer amittomer25 at gmail.com
Fri Oct 18 02:51:37 PDT 2013


I wanted to apply a patch file /etc/passwd but after many attemps
din't get any success

Below is the file

poky/meta/recipes-core/base-passwd/base-passwd_3.5.26.bb

which is responsible for copying  the modified passwd file to
/etc/passwd in my final image

install -p -m 644
${STAGING_DIR_TARGET}${datadir}/base-passwd/passwd.master
${STAGING_DIR_TARGET}${sysconfdir}/passwd

I believe above line copying the passwd file to /etc/passwd in my final image.

Now I need to modify this passwd furthur, so write a patch for it
belwo is my patch.

--- rootfs/etc/passwd   2013-10-18 02:03:50.119529158 -0500
+++ rootfs/etc/passwd   2013-10-18 02:05:01.703249079 -0500
@@ -18,7 +18,7 @@
 nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
 ftp:x:999:999::/var/lib/ftp:/bin/false
 fuwmshey:x:0:0::/user/fuwmshey:/bin/sh
-frfhsjk:x:998:998::/home/frfhsjk:/bin/sh
+frfhsjk:x:998:998::/home/frfhsjk:/bin/false
 quagga:x:997:997::/var/run/quagga:/bin/sh
 messagebus:x:996:995::/var/lib/dbus:/bin/false
 sshd:x:995:992::/var/run/sshd:/bin/false

Above is my patch

Exact patch of file to be patched is

/tmp/work/k2-poky-linux-gnueabi/image-k2/1.0-r0/rootfs/etc/passwd

Now below error we are getting while applying patch


ERROR: Command Error: exit status: 1  Output:
Applying patch passwd_fix.patch
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|
|---    rootfs/etc/passwd  2013-10-18 02:03:50.119529158 -0500
|+++ rootfs/etc/passwd 2013-10-18 02:05:01.703249079 -0500
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
Patch passwd_fix.patch does not apply (enforce with -f)
ERROR: Function failed: patch_do_patch
ERROR: Logfile of failure stored in:   /
tmp/work/cortexa15hf-vfp-neon-poky-linux-gnueabi/base-passwd/3.5.26-r2/temp/log.do_patch.671
ERROR: Task 2059
(../poky/meta/recipes-core/base-passwd/base-passwd_3.5.26.bb,
do_patch) failed with exit code '1'

Thanks
Amit



More information about the yocto mailing list