ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q: вопрос к знатокам rpm
@ 2008-10-09 21:07 Konstantin A. Lepikhov
  2008-10-09 21:37 ` Led
  2008-10-10  5:38 ` Alexey Tourbin
  0 siblings, 2 replies; 15+ messages in thread
From: Konstantin A. Lepikhov @ 2008-10-09 21:07 UTC (permalink / raw)
  To: ALT Linux Devel Mailing List

[-- Attachment #1: Type: text/plain, Size: 173 bytes --]

Hi!

Не подскажут ли уважаемые знатоки, какой лимит на кол-во provides/requires
в нашем rpm? Интересует в виде максимального кол-ва записей в пакете.

-- 
WBR et al.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-09 21:07 [devel] Q: вопрос к знатокам rpm Konstantin A. Lepikhov
@ 2008-10-09 21:37 ` Led
  2008-10-09 21:57   ` Konstantin A. Lepikhov
  2008-10-10  5:38 ` Alexey Tourbin
  1 sibling, 1 reply; 15+ messages in thread
From: Led @ 2008-10-09 21:37 UTC (permalink / raw)
  To: ALT Linux Devel Mailing List

On Friday, 10 October 2008 00:07:22 Konstantin A. Lepikhov wrote:
> Hi!
>
> Не подскажут ли уважаемые знатоки, какой лимит на кол-во provides/requires
> в нашем rpm? Интересует в виде максимального кол-ва записей в пакете.

$ rpm -q --provides erlang-otp | wc -l
1260

У тебя больше?:)

-- 
Led

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-09 21:37 ` Led
@ 2008-10-09 21:57   ` Konstantin A. Lepikhov
  2008-10-09 22:26     ` Led
  0 siblings, 1 reply; 15+ messages in thread
From: Konstantin A. Lepikhov @ 2008-10-09 21:57 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 402 bytes --]

Hi Led!

Friday 10, at 12:37:54 AM you wrote:

> On Friday, 10 October 2008 00:07:22 Konstantin A. Lepikhov wrote:
> > Hi!
> >
> > Не подскажут ли уважаемые знатоки, какой лимит на кол-во provides/requires
> > в нашем rpm? Интересует в виде максимального кол-ва записей в пакете.
> 
> $ rpm -q --provides erlang-otp | wc -l
> 1260
> 
> У тебя больше?:)
У меня больше.

-- 
WBR et al.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-09 21:57   ` Konstantin A. Lepikhov
@ 2008-10-09 22:26     ` Led
  2008-10-09 22:43       ` Dmitry V. Levin
  0 siblings, 1 reply; 15+ messages in thread
From: Led @ 2008-10-09 22:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Friday, 10 October 2008 00:57:34 Konstantin A. Lepikhov wrote:
> Hi Led!
>
> Friday 10, at 12:37:54 AM you wrote:
> > On Friday, 10 October 2008 00:07:22 Konstantin A. Lepikhov wrote:
> > > Hi!
> > >
> > > Не подскажут ли уважаемые знатоки, какой лимит на кол-во
> > > provides/requires в нашем rpm? Интересует в виде максимального кол-ва
> > > записей в пакете.
> >
> > $ rpm -q --provides erlang-otp | wc -l
> > 1260
> >
> > У тебя больше?:)
>
> У меня больше.

В unsigned short int не поместятся?

-- 
Led

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-09 22:26     ` Led
@ 2008-10-09 22:43       ` Dmitry V. Levin
  2008-10-09 22:55         ` Led
  2008-10-09 23:19         ` Konstantin A. Lepikhov
  0 siblings, 2 replies; 15+ messages in thread
From: Dmitry V. Levin @ 2008-10-09 22:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1010 bytes --]

On Fri, Oct 10, 2008 at 01:26:08AM +0300, Led wrote:
> On Friday, 10 October 2008 00:57:34 Konstantin A. Lepikhov wrote:
> > Friday 10, at 12:37:54 AM you wrote:
> > > On Friday, 10 October 2008 00:07:22 Konstantin A. Lepikhov wrote:
> > > > Hi!
> > > >
> > > > Не подскажут ли уважаемые знатоки, какой лимит на кол-во
> > > > provides/requires в нашем rpm? Интересует в виде максимального кол-ва
> > > > записей в пакете.
> > >
> > > $ rpm -q --provides erlang-otp | wc -l
> > > 1260
> > >
> > > У тебя больше?:)
> >
> > У меня больше.
> 
> В unsigned short int не поместятся?

$ (printf 'Name: provs\nVersion: 1\nRelease: 2\nSummary: none\nLicense: none\nGroup: none\n'; for i in `seq 0 99999`; do echo "Provides: $i-$i-$i"; done; printf '%%description\nnone\n\n%%files\n') >$TMPDIR/provs.spec && rpmbuild -bb --define "_rpmdir $TMPDIR" --define '_rpmfilename provs.rpm' $TMPDIR/provs.spec >/dev/null && rpmquery -p --provides $TMPDIR/provs.rpm |wc -l
100001

Хватит? :)


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-09 22:43       ` Dmitry V. Levin
@ 2008-10-09 22:55         ` Led
  2008-10-09 23:19         ` Konstantin A. Lepikhov
  1 sibling, 0 replies; 15+ messages in thread
From: Led @ 2008-10-09 22:55 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Friday, 10 October 2008 01:43:10 Dmitry V. Levin wrote:
> On Fri, Oct 10, 2008 at 01:26:08AM +0300, Led wrote:
> > On Friday, 10 October 2008 00:57:34 Konstantin A. Lepikhov wrote:
> > > Friday 10, at 12:37:54 AM you wrote:
> > > > On Friday, 10 October 2008 00:07:22 Konstantin A. Lepikhov wrote:
> > > > > Hi!
> > > > >
> > > > > Не подскажут ли уважаемые знатоки, какой лимит на кол-во
> > > > > provides/requires в нашем rpm? Интересует в виде максимального
> > > > > кол-ва записей в пакете.
> > > >
> > > > $ rpm -q --provides erlang-otp | wc -l
> > > > 1260
> > > >
> > > > У тебя больше?:)
> > >
> > > У меня больше.
> >
> > В unsigned short int не поместятся?
>
> $ (printf 'Name: provs\nVersion: 1\nRelease: 2\nSummary: none\nLicense:
> none\nGroup: none\n'; for i in `seq 0 99999`; do echo "Provides: $i-$i-$i";
> done; printf '%%description\nnone\n\n%%files\n') >$TMPDIR/provs.spec &&
> rpmbuild -bb --define "_rpmdir $TMPDIR" --define '_rpmfilename provs.rpm'
> $TMPDIR/provs.spec >/dev/null && rpmquery -p --provides $TMPDIR/provs.rpm
> |wc -l 100001
>
> Хватит? :)

Даже если не хватит, до long long int всегда напильник найдётся:)

-- 
Led

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-09 22:43       ` Dmitry V. Levin
  2008-10-09 22:55         ` Led
@ 2008-10-09 23:19         ` Konstantin A. Lepikhov
  2008-10-09 23:43           ` Led
  1 sibling, 1 reply; 15+ messages in thread
From: Konstantin A. Lepikhov @ 2008-10-09 23:19 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1200 bytes --]

Hi Dmitry!

Friday 10, at 02:43:10 AM you wrote:

> On Fri, Oct 10, 2008 at 01:26:08AM +0300, Led wrote:
> > On Friday, 10 October 2008 00:57:34 Konstantin A. Lepikhov wrote:
> > > Friday 10, at 12:37:54 AM you wrote:
> > > > On Friday, 10 October 2008 00:07:22 Konstantin A. Lepikhov wrote:
> > > > > Hi!
> > > > >
> > > > > Не подскажут ли уважаемые знатоки, какой лимит на кол-во
> > > > > provides/requires в нашем rpm? Интересует в виде максимального кол-ва
> > > > > записей в пакете.
> > > >
> > > > $ rpm -q --provides erlang-otp | wc -l
> > > > 1260
> > > >
> > > > У тебя больше?:)
> > >
> > > У меня больше.
> > 
> > В unsigned short int не поместятся?
> 
> $ (printf 'Name: provs\nVersion: 1\nRelease: 2\nSummary: none\nLicense: none\nGroup: none\n'; for i in `seq 0 99999`; do echo "Provides: $i-$i-$i"; done; printf '%%description\nnone\n\n%%files\n') >$TMPDIR/provs.spec && rpmbuild -bb --define "_rpmdir $TMPDIR" --define '_rpmfilename provs.rpm' $TMPDIR/provs.spec >/dev/null && rpmquery -p --provides $TMPDIR/provs.rpm |wc -l
> 100001
> 
> Хватит? :)
Более чем. Спасибо, будем разбираться дальше, похоже проблема в глубинах
findprov*

-- 
WBR et al.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-09 23:19         ` Konstantin A. Lepikhov
@ 2008-10-09 23:43           ` Led
  0 siblings, 0 replies; 15+ messages in thread
From: Led @ 2008-10-09 23:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Friday, 10 October 2008 02:19:24 Konstantin A. Lepikhov wrote:
> Hi Dmitry!
>
> Friday 10, at 02:43:10 AM you wrote:
> > On Fri, Oct 10, 2008 at 01:26:08AM +0300, Led wrote:
> > > On Friday, 10 October 2008 00:57:34 Konstantin A. Lepikhov wrote:
> > > > Friday 10, at 12:37:54 AM you wrote:
> > > > > On Friday, 10 October 2008 00:07:22 Konstantin A. Lepikhov wrote:
> > > > > > Hi!
> > > > > >
> > > > > > Не подскажут ли уважаемые знатоки, какой лимит на кол-во
> > > > > > provides/requires в нашем rpm? Интересует в виде максимального
> > > > > > кол-ва записей в пакете.
> > > > >
> > > > > $ rpm -q --provides erlang-otp | wc -l
> > > > > 1260
> > > > >
> > > > > У тебя больше?:)
> > > >
> > > > У меня больше.
> > >
> > > В unsigned short int не поместятся?
> >
> > $ (printf 'Name: provs\nVersion: 1\nRelease: 2\nSummary: none\nLicense:
> > none\nGroup: none\n'; for i in `seq 0 99999`; do echo "Provides:
> > $i-$i-$i"; done; printf '%%description\nnone\n\n%%files\n')
> > >$TMPDIR/provs.spec && rpmbuild -bb --define "_rpmdir $TMPDIR" --define
> > '_rpmfilename provs.rpm' $TMPDIR/provs.spec >/dev/null && rpmquery -p
> > --provides $TMPDIR/provs.rpm |wc -l 100001
> >
> > Хватит? :)
>
> Более чем. Спасибо, будем разбираться дальше, похоже проблема в глубинах
> findprov*

Ну, можешь поделиться (есл хочешь): где именно копаешся и в чём именно 
проблема. Потому как нарваться на проблему в нептипичных случаях в 
findprov* - легко - сам натыкался не так давно и с месяц тупил, строя 
воркэраунды:)

-- 
Led

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-09 21:07 [devel] Q: вопрос к знатокам rpm Konstantin A. Lepikhov
  2008-10-09 21:37 ` Led
@ 2008-10-10  5:38 ` Alexey Tourbin
  2008-10-10  5:47   ` Alexey Gladkov
  2008-10-10  5:55   ` Alexey Gladkov
  1 sibling, 2 replies; 15+ messages in thread
From: Alexey Tourbin @ 2008-10-10  5:38 UTC (permalink / raw)
  To: ALT Linux Devel Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 1604 bytes --]

On Fri, Oct 10, 2008 at 01:07:22AM +0400, Konstantin A. Lepikhov wrote:
> Не подскажут ли уважаемые знатоки, какой лимит на кол-во provides/requires
> в нашем rpm? Интересует в виде максимального кол-ва записей в пакете.

Хедер должен целиком помещаться в память, общий лимит 16M.

rpmdb/header.c:
    60  /**
    61   * Sanity check on data size and/or offset.
    62   * This check imposes a limit of 16Mb, more than enough.
    63   */ 
    64  #define hdrchkData(_nbytes)     ((_nbytes) & 0xff000000)

На практике средний размер хедера -- несколько килобайт,
максимальный -- около мегабайта.

$ perl -MDB_File -le 'tie %db, "DB_File", "/var/lib/rpm/Packages", 0 or die; print length($v) while ($k,$v) = each %db' |~/stats.pl
min=4
max=838512
mean=15909.9935379644
medi=6642
devi=48149.4217886403
$

Здесь min=4 на самом деле соответствует "нулевому хедеру", который
содержит last_insert_id (целое значение, а не хедер).

Сериализация дает более ясное представление (но неправильные цифры):

$ perl -MRPM::Database -MData::Dumper -le '$db=RPM::Database->new or die; print length(Dumper($v)),"\t",$k while ($k,$v) = each %$db' |~/stats.pl
min=4530        ilmbase6-common
max=6450138     tetex-core
mean=80824.329021827
medi=22901      perl-XML-Atom
devi=360911.67139352
$

Хедер включает в себя имена файлов и md5 суммы, поэтому на деле большой
хедер получается у больших пакетов.

$ perl -MRPM::Database -MData::Dumper -le '$db=RPM::Database->new or die; print Dumper($$db{"tetex-core"})' |less
(посмореть что находится в хедере)
/=>
(удобно так искать)
$

[-- Attachment #1.2: stats.pl --]
[-- Type: text/plain, Size: 345 bytes --]

#!/usr/bin/perl
use strict;
use bigint;
use Statistics::Descriptive;
my $stat = Statistics::Descriptive::Full->new();
while (<>) {
	chomp;
	$stat->add_data($_);
}
print "min=".$stat->min()."\n";
print "max=".$stat->max()."\n";
print "mean=".$stat->mean()."\n";
print "medi=".$stat->median()."\n";
print "devi=".$stat->standard_deviation()."\n";

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-10  5:38 ` Alexey Tourbin
@ 2008-10-10  5:47   ` Alexey Gladkov
  2008-10-10  5:52     ` Alexey Tourbin
  2008-10-10  5:55   ` Alexey Gladkov
  1 sibling, 1 reply; 15+ messages in thread
From: Alexey Gladkov @ 2008-10-10  5:47 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Alexey Tourbin wrote:
> On Fri, Oct 10, 2008 at 01:07:22AM +0400, Konstantin A. Lepikhov wrote:
>> Не подскажут ли уважаемые знатоки, какой лимит на кол-во provides/requires
>> в нашем rpm? Интересует в виде максимального кол-ва записей в пакете.
> 
> Хедер должен целиком помещаться в память, общий лимит 16M

У нас в rpm жмётся только payload или и headers тоже ?

-- 
Rgrds, legion



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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-10  5:47   ` Alexey Gladkov
@ 2008-10-10  5:52     ` Alexey Tourbin
  2008-10-10  5:58       ` Alexey Gladkov
  0 siblings, 1 reply; 15+ messages in thread
From: Alexey Tourbin @ 2008-10-10  5:52 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 555 bytes --]

On Fri, Oct 10, 2008 at 09:47:51AM +0400, Alexey Gladkov wrote:
> Alexey Tourbin wrote:
> >On Fri, Oct 10, 2008 at 01:07:22AM +0400, Konstantin A. Lepikhov wrote:
> >>Не подскажут ли уважаемые знатоки, 
> >>какой лимит на кол-во provides/requires
> >>в нашем rpm? Интересует в виде 
> >>максимального кол-ва записей в пакете.
> >
> >Хедер должен целиком помещаться в 
> >память, общий лимит 16M
> 
> У нас в rpm жмётся только payload или и headers 
> тоже ?

Только payload.

$ strings /var/lib/rpm/Packages |less
(посмотреть хедеры)
$

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-10  5:38 ` Alexey Tourbin
  2008-10-10  5:47   ` Alexey Gladkov
@ 2008-10-10  5:55   ` Alexey Gladkov
  2008-10-10  6:22     ` Alexey Tourbin
  1 sibling, 1 reply; 15+ messages in thread
From: Alexey Gladkov @ 2008-10-10  5:55 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Alexey Tourbin wrote:
> Хедер должен целиком помещаться в память, общий лимит 16M.

Раз уж зашёл разговор про зависимости. Алексей, вопрос к тебе, я часто 
наблюдаю такую картину:

$ rpmquery -R firefox |grep /bin/sh
/bin/sh
/bin/sh
/bin/sh

понятно, что эти зависимости берутся из-за скриптов.

По факту это Requires(post), Prequires(pre) и т.д. или у нас 
генерируются просто Requires: /bin/sh ?

-- 
Rgrds, legion



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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-10  5:52     ` Alexey Tourbin
@ 2008-10-10  5:58       ` Alexey Gladkov
  0 siblings, 0 replies; 15+ messages in thread
From: Alexey Gladkov @ 2008-10-10  5:58 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Alexey Tourbin wrote:
> Только payload.

Жаль. Хедеры у нас текстовые и пожаться должны хорошо.

-- 
Rgrds, legion



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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-10  5:55   ` Alexey Gladkov
@ 2008-10-10  6:22     ` Alexey Tourbin
  2008-10-10  7:50       ` Alexey Gladkov
  0 siblings, 1 reply; 15+ messages in thread
From: Alexey Tourbin @ 2008-10-10  6:22 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 3833 bytes --]

On Fri, Oct 10, 2008 at 09:55:06AM +0400, Alexey Gladkov wrote:
> Alexey Tourbin wrote:
> >Хедер должен целиком помещаться в 
> >память, общий лимит 16M.
> 
> Раз уж зашёл разговор про зависимости. 
> Алексей, вопрос к тебе, я часто наблюдаю 
> такую картину:
> 
> $ rpmquery -R firefox |grep /bin/sh
> /bin/sh
> /bin/sh
> /bin/sh
> 
> понятно, что эти зависимости берутся 
> из-за скриптов.
> 
> По факту это Requires(post), Prequires(pre) и т.д. или у 
> нас генерируются просто Requires: /bin/sh ?

У каждой зависимости, кроме %{REQUIRENAME}, есть ещё %{REQUIREFLAGS}.

$ rpmquery --qf '[%{REQUIRENAME}\t%{REQUIREFLAGS}\n]' firefox |fgrep /bin/sh
/bin/sh 832
/bin/sh 1344
/bin/sh 2368
$

lib/rpmlib.h:
   468  typedef enum rpmsenseFlags_e {
   469      RPMSENSE_ANY        = 0,
   470  /*@-enummemuse@*/
   471      RPMSENSE_SERIAL     = (1 << 0),     /*!< @todo Legacy. */
   472  /*@=enummemuse@*/
   473      RPMSENSE_LESS       = (1 << 1),
   474      RPMSENSE_GREATER    = (1 << 2),
   475      RPMSENSE_EQUAL      = (1 << 3),
   476      RPMSENSE_PROVIDES   = (1 << 4), /* only used internally by builds */
   477      RPMSENSE_CONFLICTS  = (1 << 5), /* only used internally by builds */
   478      RPMSENSE_PREREQ     = (1 << 6),     /*!< @todo Legacy. */
   479      RPMSENSE_OBSOLETES  = (1 << 7), /* only used internally by builds */
   480      RPMSENSE_INTERP     = (1 << 8),     /*!< Interpreter used by scriptlet. */
   481      RPMSENSE_SCRIPT_PRE = ((1 << 9)|RPMSENSE_PREREQ), /*!< %pre dependency. */
   482      RPMSENSE_SCRIPT_POST = ((1 << 10)|RPMSENSE_PREREQ), /*!< %post dependency. */
   483      RPMSENSE_SCRIPT_PREUN = ((1 << 11)|RPMSENSE_PREREQ), /*!< %preun dependency. */
   484      RPMSENSE_SCRIPT_POSTUN = ((1 << 12)|RPMSENSE_PREREQ), /*!< %postun dependency. */
   485      RPMSENSE_SCRIPT_VERIFY = (1 << 13), /*!< %verify dependency. */
   486      RPMSENSE_FIND_REQUIRES = (1 << 14), /*!< find-requires generated dependency. */
   487      RPMSENSE_FIND_PROVIDES = (1 << 15), /*!< find-provides generated dependency. */
   488  
   489      RPMSENSE_TRIGGERIN  = (1 << 16),    /*!< %triggerin dependency. */
   490      RPMSENSE_TRIGGERUN  = (1 << 17),    /*!< %triggerun dependency. */
   491      RPMSENSE_TRIGGERPOSTUN = (1 << 18), /*!< %triggerpostun dependency. */
   492      RPMSENSE_MULTILIB   = (1 << 19),
   493      RPMSENSE_SCRIPT_PREP = (1 << 20),   /*!< %prep build dependency. */
   494      RPMSENSE_SCRIPT_BUILD = (1 << 21),  /*!< %build build dependency. */
   495      RPMSENSE_SCRIPT_INSTALL = (1 << 22),/*!< %install build dependency. */
   496      RPMSENSE_SCRIPT_CLEAN = (1 << 23),  /*!< %clean build dependency. */
   497      RPMSENSE_RPMLIB     = ((1 << 24) | RPMSENSE_PREREQ), /*!< rpmlib(feature) dependency. */
   498  /*@-enummemuse@*/
   499      RPMSENSE_TRIGGERPREIN = (1 << 25),  /*!< @todo Implement %triggerprein. */
   500  /*@=enummemuse@*/
   501  
   502  /*@-enummemuse@*/
   503      RPMSENSE_KEYRING    = (1 << 26)
   504  /*@=enummemuse@*/
   505  } rpmsenseFlags;

То есть флаги зависимостей расшифровываются так:

$ perl -le 'printf "%16b\n", shift' 832
      1101000000
$ perl -le 'printf "%16b\n", shift' 1344
     10101000000
$ perl -le 'printf "%16b\n", shift' 2368
    100101000000
$ 

Это будет, соответственно,
RPMSENSE_PREREQ|RPMSENSE_INTERP|RPMSENSE_SCRIPT_PRE,
RPMSENSE_PREREQ|RPMSENSE_INTERP|RPMSENSE_SCRIPT_POST,
RPMSENSE_PREREQ|RPMSENSE_INTERP|RPMSENSE_SCRIPT_PREUN.

Эти три зависимости можно было бы сгруппировать в одну, с флагами
RPMSENSE_PREREQ|RPMSENSE_INTERP|RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_SCRIPT_PREUN.

В build/reqprov.c уже есть некоторая логика удаления дублирующихся
зависимостей, но слияния по флагам там пока нет.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: [devel] Q: вопрос к знатокам rpm
  2008-10-10  6:22     ` Alexey Tourbin
@ 2008-10-10  7:50       ` Alexey Gladkov
  0 siblings, 0 replies; 15+ messages in thread
From: Alexey Gladkov @ 2008-10-10  7:50 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Alexey Tourbin wrote:
> Эти три зависимости можно было бы сгруппировать в одну, с флагами
> RPMSENSE_PREREQ|RPMSENSE_INTERP|RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_SCRIPT_PREUN.

Это было моё следующее предложение :)

> В build/reqprov.c уже есть некоторая логика удаления дублирующихся
> зависимостей, но слияния по флагам там пока нет.

Жаль. Потому что зависимость на тот же /bin/sh дублируется очень часто.

-- 
Rgrds, legion



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

end of thread, other threads:[~2008-10-10  7:50 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-09 21:07 [devel] Q: вопрос к знатокам rpm Konstantin A. Lepikhov
2008-10-09 21:37 ` Led
2008-10-09 21:57   ` Konstantin A. Lepikhov
2008-10-09 22:26     ` Led
2008-10-09 22:43       ` Dmitry V. Levin
2008-10-09 22:55         ` Led
2008-10-09 23:19         ` Konstantin A. Lepikhov
2008-10-09 23:43           ` Led
2008-10-10  5:38 ` Alexey Tourbin
2008-10-10  5:47   ` Alexey Gladkov
2008-10-10  5:52     ` Alexey Tourbin
2008-10-10  5:58       ` Alexey Gladkov
2008-10-10  5:55   ` Alexey Gladkov
2008-10-10  6:22     ` Alexey Tourbin
2008-10-10  7:50       ` Alexey Gladkov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git