public inbox for gentoo-embedded@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-embedded] Suggestion for INSTALL_MASK
@ 2011-03-07 13:50 Martin Gysel
  2011-03-07 15:18 ` Sergey Mironov
  2011-03-08  3:46 ` solar
  0 siblings, 2 replies; 8+ messages in thread
From: Martin Gysel @ 2011-03-07 13:50 UTC (permalink / raw
  To: gentoo-embedded

Hi there

I'm looking for a 'good' INSTALL_MASK file/definition to use with my
embedded system. As the flash on the boards is rather small I only want
to have the really required files on it.
Can anyone share his INSTALL_MASK?

Thanks in advance
Martin



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-embedded] Suggestion for INSTALL_MASK
  2011-03-07 13:50 [gentoo-embedded] Suggestion for INSTALL_MASK Martin Gysel
@ 2011-03-07 15:18 ` Sergey Mironov
  2011-03-08  3:46 ` solar
  1 sibling, 0 replies; 8+ messages in thread
From: Sergey Mironov @ 2011-03-07 15:18 UTC (permalink / raw
  To: gentoo-embedded

2011/3/7 Martin Gysel <m.gysel@gmx.ch>:
> Hi there
>
> I'm looking for a 'good' INSTALL_MASK file/definition to use with my
> embedded system. As the flash on the boards is rather small I only want
> to have the really required files on it.
> Can anyone share his INSTALL_MASK?
>
> Thanks in advance
> Martin

Hi. Sorry for off-topic but did you try  FEATURES="$FEATURES noman noinfo
nodoc"? Also, I think that is is better to clean up the system just before
deployment when during installation. This way, you should be able to remove all
/usr/lib/*la and /usr/lib/pkgconfig/* that you just can't delete while
building the system.

Sergey.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-embedded] Suggestion for INSTALL_MASK
  2011-03-07 13:50 [gentoo-embedded] Suggestion for INSTALL_MASK Martin Gysel
  2011-03-07 15:18 ` Sergey Mironov
@ 2011-03-08  3:46 ` solar
  2011-03-09 15:16   ` Martin Gysel
                     ` (2 more replies)
  1 sibling, 3 replies; 8+ messages in thread
From: solar @ 2011-03-08  3:46 UTC (permalink / raw
  To: gentoo-embedded

On Mon, 2011-03-07 at 14:50 +0100, Martin Gysel wrote:
> Hi there
> 
> I'm looking for a 'good' INSTALL_MASK file/definition to use with my
> embedded system. As the flash on the boards is rather small I only want
> to have the really required files on it.
> Can anyone share his INSTALL_MASK?
> 
> Thanks in advance
> Martin

For a read-only compat flash based system and ~10 or so pkgs. I've used 
*.a *.o *.la /usr/include *.pc *.pyc *.pyo *.example *.sample

Clearly you can nail it down abit more for your own needs. But for mine
that was fairly good to grab the majorituy of the bloat.

-- 
solar <solar@gentoo.org>
Gentoo Linux




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-embedded] Suggestion for INSTALL_MASK
  2011-03-08  3:46 ` solar
@ 2011-03-09 15:16   ` Martin Gysel
  2011-03-11  1:56   ` Mike Dunn
  2011-03-15 20:59   ` Ed W
  2 siblings, 0 replies; 8+ messages in thread
From: Martin Gysel @ 2011-03-09 15:16 UTC (permalink / raw
  To: gentoo-embedded

Am 08.03.2011 04:46, schrieb solar:
> For a read-only compat flash based system and ~10 or so pkgs. I've used 
> *.a *.o *.la /usr/include *.pc *.pyc *.pyo *.example *.sample
> 
> Clearly you can nail it down abit more for your own needs. But for mine
> that was fairly good to grab the majorituy of the bloat.

solar thx,
I'll give it a try

/martin



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-embedded] Suggestion for INSTALL_MASK
  2011-03-08  3:46 ` solar
  2011-03-09 15:16   ` Martin Gysel
@ 2011-03-11  1:56   ` Mike Dunn
  2011-03-11 11:51     ` Ed W
  2011-03-15 20:59   ` Ed W
  2 siblings, 1 reply; 8+ messages in thread
From: Mike Dunn @ 2011-03-11  1:56 UTC (permalink / raw
  To: gentoo-embedded

On 03/07/2011 07:46 PM, solar wrote:
> On Mon, 2011-03-07 at 14:50 +0100, Martin Gysel wrote:
>> Hi there
>>
>> I'm looking for a 'good' INSTALL_MASK file/definition to use with my
>> embedded system. As the flash on the boards is rather small I only want
>> to have the really required files on it.
>> Can anyone share his INSTALL_MASK?
>>
>> Thanks in advance
>> Martin
> For a read-only compat flash based system and ~10 or so pkgs. I've used 
> *.a *.o *.la /usr/include *.pc *.pyc *.pyo *.example *.sample
>
> Clearly you can nail it down abit more for your own needs. But for mine
> that was fairly good to grab the majorituy of the bloat.
>

Related to this... Does anyone know if the PKG_INSTALL_MASK functionality is
broken?  It seems to function exactly the same as INSTALL_MASK.  The make.conf
man page says PKG_INSTALL_MASK applies only when creating a binary package.

I'm a relative newbie, but my thinking (consistent with my understanding of the
docs and wisdom gleaned from this list) was to maintain a cross development tree
on my build host with everything installed, including all the build deps
(libraries, header files, etc), while at the same time building binary packages
for what will go onto the target filesystem, using PKG_INSTALL_MASK to filter
out unwanted header files, etc from the binary packages.  Then I can create my
lean target filesystem from the binary packages with the
'--root=/target/filesystem' emerge option. But PKG_INSTALL_MASK seems to apply
to my development tree as well.  Am I missing anything?

Thanks,
Mike




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-embedded] Suggestion for INSTALL_MASK
  2011-03-11  1:56   ` Mike Dunn
@ 2011-03-11 11:51     ` Ed W
  0 siblings, 0 replies; 8+ messages in thread
From: Ed W @ 2011-03-11 11:51 UTC (permalink / raw
  To: gentoo-embedded

> 
> Related to this... Does anyone know if the PKG_INSTALL_MASK functionality is
> broken?  It seems to function exactly the same as INSTALL_MASK.  The make.conf
> man page says PKG_INSTALL_MASK applies only when creating a binary package.
> 
> I'm a relative newbie, but my thinking (consistent with my understanding of the
> docs and wisdom gleaned from this list) was to maintain a cross development tree
> on my build host with everything installed, including all the build deps
> (libraries, header files, etc), while at the same time building binary packages
> for what will go onto the target filesystem, using PKG_INSTALL_MASK to filter
> out unwanted header files, etc from the binary packages.  Then I can create my
> lean target filesystem from the binary packages with the
> '--root=/target/filesystem' emerge option. But PKG_INSTALL_MASK seems to apply
> to my development tree as well.  Am I missing anything?


Hmm, interesting - that might explain why INSTALL_MASK appears to do
nothing at all for me...

I suspect (untested) that if you "emerge -k" with FEATURES="buildpkgs"
then internally portage is building the package and installing the
package?  Hence the PKG_INSTALL_MASK will take effect?

Just an idea... (off to test it)

Ed W



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-embedded] Suggestion for INSTALL_MASK
  2011-03-08  3:46 ` solar
  2011-03-09 15:16   ` Martin Gysel
  2011-03-11  1:56   ` Mike Dunn
@ 2011-03-15 20:59   ` Ed W
  2011-03-18  1:31     ` solar
  2 siblings, 1 reply; 8+ messages in thread
From: Ed W @ 2011-03-15 20:59 UTC (permalink / raw
  To: gentoo-embedded

On 08/03/2011 03:46, solar wrote:
> On Mon, 2011-03-07 at 14:50 +0100, Martin Gysel wrote:
>> Hi there
>>
>> I'm looking for a 'good' INSTALL_MASK file/definition to use with my
>> embedded system. As the flash on the boards is rather small I only want
>> to have the really required files on it.
>> Can anyone share his INSTALL_MASK?


> 
> For a read-only compat flash based system and ~10 or so pkgs. I've used 
> *.a *.o *.la /usr/include *.pc *.pyc *.pyo *.example *.sample
> 
> Clearly you can nail it down abit more for your own needs. But for mine
> that was fairly good to grab the majorituy of the bloat.

OK, here's my current mask.  Note this is for a run only system, I build
the image elsewhere so no portage stuff required on the final image (I
do something like build the root, then strip that down a little further
by rsync'ing to the final target)


export INSTALL_MASK="usr/include/ usr/portage usr/share/doc
usr/share/gtk-doc usr/share/info usr/share/man var/cache/ var/db/pkg
var/lib/gentoo var/lib/portage *.a *.o .keep_* *.la *.pc *.pyc *.pyo
*.example *.sample"


Additionally I am playing with this for installing perl:

export INSTALL_MASK="${INSTALL_MASK} */usr/lib/perl5/*.h
usr/lib/perl5/5.*/ExtUtils/ usr/lib/perl5/5.*/CPAN/
usr/lib/perl5/5.*/CPANPLUS/ usr/lib/perl5/5.*/*-linux-*/auto/Encode/JP
usr/lib/perl5/5.*/*-linux-*/auto/Encode/KR
usr/lib/perl5/5.*/*-linux-*/auto/Encode/CN
usr/lib/perl5/5.*/*-linux-*/auto/Encode/TW
usr/lib/perl5/5.*/*-linux-*/Devel/
usr/lib/perl5/5.*/*-linux-*/auto/Devel/
usr/lib/perl5/5.*/Module/CoreList.pm usr/lib/perl5/5.*/Module/Build*
usr/lib/perl5/5.*/perl5db.pl usr/lib
/perl5/5.*/[Pp]od usr/lib/perl5/5.*/unicore/mktables
usr/lib/perl5/5.*/unicore/TestProp.pl */usr/lib/perl5/5.*/unicore/*.txt
*/usr/lib/perl5/*.pod"

I then strip a bunch of comments out of some perl files:
sed -i -e 's/^#.*//' -e '/^$/d'
${TARGET}/usr/lib/perl5/5.12.2/unicore/lib/*/*.pl


and finally build the target with something like:

rsync -aH --progress --delete --delete-excluded \
--exclude 'usr/portage/*' \
--exclude 'var/db/pkg' \
--exclude 'var/cache/*' \
--exclude 'var/lib/portage' \
--exclude 'var/lib/gentoo' \
${ROOT}/ ${TARGET}


Using squashfs + aufs2 (stackable squashfs so I can add more stuff
later) that gets me a fairly decent base installation including routing,
wireless, shorewall, perl and some more, in under 10MB

Good luck

Ed W



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-embedded] Suggestion for INSTALL_MASK
  2011-03-15 20:59   ` Ed W
@ 2011-03-18  1:31     ` solar
  0 siblings, 0 replies; 8+ messages in thread
From: solar @ 2011-03-18  1:31 UTC (permalink / raw
  To: gentoo-embedded

On Tue, 2011-03-15 at 20:59 +0000, Ed W wrote:
> On 08/03/2011 03:46, solar wrote:
> > On Mon, 2011-03-07 at 14:50 +0100, Martin Gysel wrote:
> >> Hi there
> >>
> >> I'm looking for a 'good' INSTALL_MASK file/definition to use with my
> >> embedded system. As the flash on the boards is rather small I only want
> >> to have the really required files on it.
> >> Can anyone share his INSTALL_MASK?
> 
> 
> > 
> > For a read-only compat flash based system and ~10 or so pkgs. I've used 
> > *.a *.o *.la /usr/include *.pc *.pyc *.pyo *.example *.sample
> > 
> > Clearly you can nail it down abit more for your own needs. But for mine
> > that was fairly good to grab the majorituy of the bloat.
> 
> OK, here's my current mask.  Note this is for a run only system, I build
> the image elsewhere so no portage stuff required on the final image (I
> do something like build the root, then strip that down a little further
> by rsync'ing to the final target)
> 
> 
> export INSTALL_MASK="usr/include/ usr/portage usr/share/doc
> usr/share/gtk-doc usr/share/info usr/share/man var/cache/ var/db/pkg
> var/lib/gentoo var/lib/portage *.a *.o .keep_* *.la *.pc *.pyc *.pyo
> *.example *.sample"
> 
> 
> Additionally I am playing with this for installing perl:
> 
> export INSTALL_MASK="${INSTALL_MASK} */usr/lib/perl5/*.h
> usr/lib/perl5/5.*/ExtUtils/ usr/lib/perl5/5.*/CPAN/
> usr/lib/perl5/5.*/CPANPLUS/ usr/lib/perl5/5.*/*-linux-*/auto/Encode/JP
> usr/lib/perl5/5.*/*-linux-*/auto/Encode/KR
> usr/lib/perl5/5.*/*-linux-*/auto/Encode/CN
> usr/lib/perl5/5.*/*-linux-*/auto/Encode/TW
> usr/lib/perl5/5.*/*-linux-*/Devel/
> usr/lib/perl5/5.*/*-linux-*/auto/Devel/
> usr/lib/perl5/5.*/Module/CoreList.pm usr/lib/perl5/5.*/Module/Build*
> usr/lib/perl5/5.*/perl5db.pl usr/lib
> /perl5/5.*/[Pp]od usr/lib/perl5/5.*/unicore/mktables
> usr/lib/perl5/5.*/unicore/TestProp.pl */usr/lib/perl5/5.*/unicore/*.txt
> */usr/lib/perl5/*.pod"
> 
> I then strip a bunch of comments out of some perl files:
> sed -i -e 's/^#.*//' -e '/^$/d'
> ${TARGET}/usr/lib/perl5/5.12.2/unicore/lib/*/*.pl
> 
> 
> and finally build the target with something like:
> 
> rsync -aH --progress --delete --delete-excluded \
> --exclude 'usr/portage/*' \
> --exclude 'var/db/pkg' \
> --exclude 'var/cache/*' \
> --exclude 'var/lib/portage' \
> --exclude 'var/lib/gentoo' \
> ${ROOT}/ ${TARGET}
> 
> 
> Using squashfs + aufs2 (stackable squashfs so I can add more stuff
> later) that gets me a fairly decent base installation including routing,
> wireless, shorewall, perl and some more, in under 10MB


Spiffy. You can reduce that command line some more by simply using *.h

*.la is mostly safe, but there can be a gotcha with it when a program
links with ltdl.


-- 
solar <solar@gentoo.org>
Gentoo Linux




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-03-18  2:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-07 13:50 [gentoo-embedded] Suggestion for INSTALL_MASK Martin Gysel
2011-03-07 15:18 ` Sergey Mironov
2011-03-08  3:46 ` solar
2011-03-09 15:16   ` Martin Gysel
2011-03-11  1:56   ` Mike Dunn
2011-03-11 11:51     ` Ed W
2011-03-15 20:59   ` Ed W
2011-03-18  1:31     ` solar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox