From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 17 Jun 2008 10:45:10 +0400 From: Stanislav Ievlev To: ALT Linux Team development discussions Message-ID: <20080617064510.GC10233@imap.altlinux.org> References: <20080617050506.GO17919@solemn.turbinal> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20080617050506.GO17919@solemn.turbinal> Subject: Re: [devel] /usr/lib/rpm/*-files.req.list 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: Tue, 17 Jun 2008 06:45:11 -0000 Archived-At: List-Archive: List-Post: Хорошо бы все эти знания на wiki. On Tue, Jun 17, 2008 at 09:05:06AM +0400, Alexey M. Tourbin wrote: > Я сделал модульным механизм поиска зависимостей на каталоги. > Теперь каждый может создать файл /usr/lib/rpm/%name-files.req.list > (но желательно сначала написать об этом сюда). > > Формат файла /usr/lib/rpm/%name-files.req.list следующий: > 1) Значащие строки начинаются со слеша '/'. > 2a) Значащая строка может содержать одно поле: > <каталог> > 2б) или же два поля: > <каталог> <пакет> > > Здесь <каталог> означает тот каталог, на который будет выставляться > зависимость; <пакет> в 2б означает пакет, который эксклюзивно владеет > каталогом. Если указан эксклюзивный владелец каталога, то будет > срабатывать проверка (чтобы никакой другой пакет не смог завладеть > каталогом). > > <каталог> может быть записан в форме с одним окончательным слешем > (или без него), количество пробелов любое. > > Если файл подпадает под два или более каталога (в таком случае один из > каталогов является подкаталогом другого), то будет выбран самый длинный > каталог. > > Далее приведён пример, как реализовать зависимости на каталоги > /usr/lib/pkgconfig > /usr/lib64/pkgconfig > /usr/share/pkgconfig > при этом пакет pkg-config эксклюзивно владеет этими каталогами. > > Интересно, что каталогом /usr/lib64/pkgconfig незаконно владеют > ещё три пакета: > > sphinxbase 0.3-alt1 > libvolume_id-devel 124-alt1 > libsynce-devel 0.11.1-alt1 > > > commit ee38c43ae68a0a39b238abd3e8bb4f2121f75c50 > Author: Alexey Tourbin > Date: Mon Jun 16 12:39:54 2008 +0400 > > spec: make %_rpmlibdir/pkgconfig-files.req.list > > Full diff since common ancestor `0.23-alt1' follows: > diff --git a/pkg-config.spec b/pkg-config.spec > index 55ae32a..a90832b 100644 > --- a/pkg-config.spec > +++ b/pkg-config.spec > @@ -8,6 +8,9 @@ Group: Development/Other > Url: http://pkg-config.freedesktop.org/wiki/ > Packager: Dmitry V. Levin > > +Provides: %_libdir/pkgconfig > +Provides: %_datadir/pkgconfig > + > Provides: pkgconfig-reqprov, pkgconfig-recursion, pkgconfig = 1:%version-%release > Obsoletes: pkgconfig > > @@ -55,8 +58,17 @@ cat <<\EOF >%buildroot%_sysconfdir/buildreqs/files/ignore.d/%name > ^(%_libdir|%_datadir)/pkgconfig/[^/]+\.pc$ > EOF > > +mkdir -p %buildroot%_rpmlibdir > +cat <<\EOF >%buildroot%_rpmlibdir/pkgconfig-files.req.list > +# %name dirlist for %_rpmlibdir/files.req > +/usr/lib/pkgconfig %name > +/usr/lib64/pkgconfig %name > +/usr/share/pkgconfig %name > +EOF > + > %files > %config %_sysconfdir/buildreqs/files/ignore.d/* > +%config %_rpmlibdir/* > %_bindir/pkg-config > %dir %_libdir/pkgconfig > %dir %_datadir/pkgconfig > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel