# [upx] automatizzare la compressione upx in portage

## cloc3

http://upx.sourceforge.net

ma per produrre pronti?

ho proposto un ebuild per bashrcng.

comprime durante l'emerge tutti i pacchetti inclusi in /etc/portage/package.upx.

esempio d'uso:

```

s939 ~ # echo app-office/openoffice >>/etc/portage/package.upx

s939 ~ # eselect bashrcng enable upx

Enabling plugin 'upx' ...done.

s939 ~ # echo app-office/openoffice >>/etc/portage/package.upx

s939 ~ # emerge -k openoffice >/dev/null 2>&1 &

[1] 27864

s939 ~ # 

[1]+  Done                    emerge -k openoffice > /dev/null 2>&1

s939 ~ # 

```

per comprimere openoffice, è bene procurarsi la versione 3.07 (fuori portage), perché la 3.04 mette fuori uso gli eseguibili.

allora:

```

s939 ~ # mkdir /usr/local/portage/app-arch/upx-ucl -p

s939 ~ # cp -a /usr/portage/app-arch/upx-ucl/upx-ucl-3.04.ebuild /usr/local/portage/app-arch/upx-ucl/upx-ucl-3.07.ebuild

s939 ~ # ebuild /usr/local/portage/app-arch/upx-ucl/upx-ucl-3.07.ebuild manifest

>>> Creating Manifest for /usr/local/portage/app-arch/upx-ucl

```

smascherare e compilare.

ah! naturalmente: sono cose sperimentali. non lamentiamoci se ci va il sistema a pancia all'aria.

----------

## cloc3

anche upx-3.07 ha i suoi bravi problemi.

per ogni libreria di kde, ad esempio, fallisce in questo modo:

```

s939 ~ # upx /usr/lib/libkdeinit4_kded4.so

                       Ultimate Packer for eXecutables

                          Copyright (C) 1996 - 2010

UPX 3.07        Markus Oberhumer, Laszlo Molnar & John Reiser   Sep 08th 2010

        File size         Ratio      Format      Name

   --------------------   ------   -----------   -----------

libkdeinit4_kded4.so  1/5  [*************************************]   37.5%  - unknown section LEXECDYN

Abortito

```

in più, dimentica uno stupido file temporaneo:

```

s939 ~ # ls /usr/lib/libkdeinit4_kded4.upx 

/usr/lib/libkdeinit4_kded4.upx

```

che ingrassa inutilmente il pacchetto.

ho inserito il seguente workaround nel mio modulo locale di bashrcng-upx:

```

find ./image -type f -name *.upx -exec rm -f {} \;

```

ci ho fatto un baco. vediamo cosa dicono.

----------

