Bug 9826 - post-build scritp - symlinks created in post-build script are overwritten after exit of the script
Summary: post-build scritp - symlinks created in post-build script are overwritten aft...
Status: RESOLVED INVALID
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2017.02
Hardware: All Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-20 09:35 UTC by Timo Välimäki
Modified: 2017-04-20 21:37 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Timo Välimäki 2017-04-20 09:35:50 UTC
I'm trying to symlink  /etc/group, /etc/passwd and /etc/shadow to RW partition, in my case to /data/etc (rootfs-overlay).


I created a post-build that moves above files to /data/etc/ directory and creates symlinks pointing to the moved files. When I'm pausing my post-build script just before the exit everything is looking fine.

/output/target:

lrwxrwxrwx  1 timo timo    17 huhti 20 12:24 group -> ../data/etc/group
lrwxrwxrwx  1 timo timo    18 huhti 20 12:24 passwd -> ../data/etc/passwd
lrwxrwxrwx  1 timo timo    18 huhti 20 12:24 shadow -> ../data/etc/shadow

But when the Buildroot build is finished the above symlinks are overwritten
-rw-r--r--  1 timo timo   320 huhti 20 12:29 group
-rw-r--r--  1 timo timo   389 huhti 20 12:29 passwd
-rw-------  1 timo timo   291 huhti 20 12:29 shadow

Q: Is this as specified or a bug?
Q: If as specified, what is correct way to symlink above files?
Comment 1 Yann E. MORIN 2017-04-20 20:15:55 UTC
Timo,

This is (somewhat) expected. When creating the filsystem images,
there is a part creating the passwd, groups and shadow (and possibly,
gshadow) files from the setting in Buildroot.

This will forcibly create files (AFAIR).

So, what you want to provide is probably a "fakeroot" script. This
will be called after the passwd, group and shadow files are created,
but before the images are assembled.
Comment 2 Timo Välimäki 2017-04-20 21:37:55 UTC
Thanks.

I have totally missed the fakeroot script - perhaps I have just skipped it as didn't understood when to use it.

I moved /etc/group, /etc/passwd and /etc/shadow handling from post-build script to fakeroot script.  Result: works as it should be.

I mark bug resolved as invalid.