[maemo-developers] Considering /opt and MyDocs in your packages

From: David Greaves david at dgreaves.com
Date: Thu Sep 10 12:25:27 EEST 2009
Marius Vollmer wrote:
> ext Thomas Perl <th.perl at gmail.com> writes:
> 
>> 2009/9/9 Marius Vollmer <marius.vollmer at nokia.com>:
>>> ext David Greaves <david at dgreaves.com> writes:
>>>
>>>> Hmm, seems like another solution would be to have the opt partition mounted as
>>>> /usr and install all the 'standard' stuff into /root_usr/ and preinstall
>>>> symlinks into /usr -> /root_usr
>>> Yeah, that would work but we unfortunately can only install into the
>>> rootfs partition when creating FIASCO images, due to the tools that
>>> create these images.
>> I think David's suggestion would be more sane,
> 
> Yes, immensely so.
> 
>> as packages don't have to be changed (Debian packages normally install
>> into /usr, so that's already standard and works well).
> 
> Exactly.  If we really want to split our roofs over two partitions, we
> should put / and the first and /usr on the second.  No symlinks etc
> would be needed; we can mount /usr as early as needed.
> 
> However, spreading the rootfs over two partitions makes things more
> complicated, of course.  For example, preparing a FIASCO for the rootfs
> now must prepare two filesystem images, and flashing such a FIASCO must
> write to those two partitions.  This is of course doable, but it
> requires changes that we are unfortunately not able to do for
> Fremantle.  The shit hit the fan too late, you might say.

Really?

I would think you could prepare /usr_root and /usr on the single partition.
/usr contains per-file symlinks to /usr_root and is hidden when the real /usr is
mounted.

Voila - one fs image for FIASCO and no need to mount /usr early.

The problem is now getting the updated symlinks onto the real /usr


Maybe something like:
As the fiasco boots it mounts partition for /usr on /usr_old
Checks /usr_old/version against /usr/version
If there is a mismatch it tars up /usr/ and untars it to /usr_old
Then remount /usr_old on /usr

The tar thing could include a manifest from the previous image so you could tidy
up properly.

I realise we have optify for now... Just exploring for fun.

> We will get rid of this abuse of /opt as fast as we can.
Thanks :)

-- 
"Don't worry, you'll be fine; I saw it work in a cartoon once..."
More information about the maemo-developers mailing list