[devel] repocop: arch-dep-package-has-big-usr-share
Igor Vlasenko
=?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Пт Авг 1 00:10:29 MSD 2008
On Thu, Jul 31, 2008 at 11:24:06PM +0400, Alexey Tourbin wrote:
> On Thu, Jul 31, 2008 at 09:35:29PM +0400, Alexey Tourbin wrote:
> > On Thu, Jul 31, 2008 at 05:21:10PM +0300, Igor Vlasenko wrote:
> > > arch-dep-package-has-big-usr-share The package has a significant
> > > amount of architecture-independent data in /usr/share, while it is an
> >
> > Неплохо бы каждому пакету сопоставить вес /usr/share части:
> >
> > p(S,s)->[0..1]
> >
> > S - абсолютный размер пакета,
> > s - абсолютный размер /usr/share части;
> >
> > 0 - нет /usr/share,
> > 1 - всё в /usr/share.
> >
> > Идея в том, чтобы учитывать не только относительный размер s/S,
> > но и абсолютный S, чтобы не распиливать слишком маленькие пакеты.
> > Точнее, весовая функция p должна корректировать вес с учетом абсолютного
> > размера. Поскольку абсолютный размер имеет физическую размерность (в
> > байтах), нужно ещё добавить параметр m, который корректирует искривление
> > функции p.
> >
> > p(S,s,m)->[0..1]
> >
> > m - порядка 2^{20} (1 мегабайт).
> >
> > Какой должна быть функция p, чтобы наибольший вес получили пакеты,
> > в которых "по смыслу" нужно отпилить noarch кусок?
>
> Вот креатив, который поясняет то, что я имел в виду.
> ftp://ftp.altlinux.ru/pub/people/at/pSsm01.jpg
Сейчас там на плоскости (S,s) вырезается первое приближение к гиперболе:
|
| |
| \ _
|________
DELETE FROM t1 WHERE total <= 1048576;
DELETE FROM t2 WHERE usrshare <= 1048576;
отбрасываются пакеты с total < 1mb и с /usr/share/ < 1mb
INSERT INTO t3 SELECT t1.pkgid, total, usrshare FROM t2 LEFT JOIN t1 ON t1.pkgid=t2.pkgid WHERE usrshare > 2097152 OR (usrshare > 1048576 AND usrshare/total > 0.5);
затем выделяются пакеты с /usr/share/ > 2mb либо /usr/share/> 1mb и s/S >0.5.
В принципе можно сгладить,
только не понятно, стоит ли размениваться на пакеты S,s < 1mb.
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
Подробная информация о списке рассылки Devel