From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.4 Date: Thu, 31 Jul 2008 23:10:29 +0300 From: Igor Vlasenko To: ALT Linux Team development discussions Message-ID: <20080731201028.GA31647@dad.imath.kiev.ua> References: <20080731142110.GA25664@dad.imath.kiev.ua> <20080731173529.GI31781@solemn.turbinal> <20080731192406.GJ31781@solemn.turbinal> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20080731192406.GJ31781@solemn.turbinal> User-Agent: Mutt/1.5.17 (2007-11-01) Received-SPF: pass (dad.imath.kiev.ua: domain of vlasenko@dad.imath.kiev.ua designates 127.0.0.1 as permitted sender) receiver=dad.imath.kiev.ua; client-ip=127.0.0.1; helo=dad.imath.kiev.ua; envelope-from=vlasenko@dad.imath.kiev.ua; x-software=spfmilter 0.95 http://www.acme.com/software/spfmilter/ with libspf2; Subject: Re: [devel] repocop: arch-dep-package-has-big-usr-share X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jul 2008 20:10:34 -0000 Archived-At: List-Archive: List-Post: 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