[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