Hi Michael,
There are files that deliberately get overwritten by normal package
building as you progress. Skell is just a "good set of defaults" in
many cases. So this behaviour is normal. To explain this behaviour,
think busybox, this provides many utilities, but if you select the
full utility (say bash), this will deliberately overwrite the busybox
shell. The same kind of thing applies for skell (and other packages).
Now for this to work properly there are forward and reverse triggers
in LTIB. So if you had bash selected and then de-selected it, LTIB
would know to re-install busybox. However, this only works if you run
./ltib, not ./ltib -p _pkg_. The -p pkg stuff say "just work on that
package". So in the case of skell you'd be better to do (as a
workflow):
./ltib -p skell -m prep
edit,edit,edit
./ltib
This would cause skell to "build" and the right triggers to apply so
that overwriting packages get re-installed.
So far as your rpm query goes, it does seem possible that /etc/profile
is overwritten by the merge package. In the Savannah CVS I see this:
$ find config/platform/ -name profile
config/platform/ea3250/merge/etc/profile
config/platform/imx27ads/merge/etc/profile
config/platform/imx31ads/merge/etc/profile
NOTE: the merge directories are a way of simply stomping on top of
files in the rootfs. Some BSP packagers use them, personally I
believe it's best to avoid them if you can.
Regards, Stuart
Michael Jones wrote:
Hi Stuart,
In my tinkering with the network configure script, I've stumbled onto
a different problem. I wanted to modify the /etc/rc.d/init.d/network
script, which belongs to the skell package. But I noticed that if I do:
./ltib -p skell -m prep
<would theoretically make changes here>
./ltib -p skell -m scdeploy
... then some files change, even if I made no chanes to skell. The
most noticeable was /etc/profile, because this changed the cmd line
prompt. For example, after a normal LTIB build,
ltib$ cat rootfs/etc/profile
export PS1='mx31# '
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
alias ll='ls -l'
but after I re-install skell:
ltib$ cat rootfs/etc/profile
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
export PATH
So obviously this file is normally overwritten or modified by another
package, and by re-installing skell I'm re-overwriting this. I guess
the relevant question is: what is the right work flow for working on
the skell package? I'd also like to know how to find out what other
package overwrites this particular file? I tried:
ltib$ /opt/ltib/usr/bin/rpm --root
/home/michael/iMX/eaglevision/ltib/ltib/rootfs --dbpath /var/lib/rpm/
-qf /etc/profile
merge-0.1-1
skell-1.16-2
but this looks like misinformation to me, since "merge" doesn't touch
/etc/profile.
thanks,
Michael