From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: To: devel@lists.altlinux.org From: Sergey Bolshakov Date: Mon, 16 Feb 2009 18:00:32 +0300 Message-ID: User-Agent: Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.5-b28 (linux) MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Subject: [devel] rpm: find-package 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: Mon, 16 Feb 2009 15:00:34 -0000 Archived-At: List-Archive: List-Post: Обнаружен (внезапно!) некоторый неприятный момент в логике скрипта find-package, вид по ссылке: http://tinyurl.com/c7tzgq а именно: если однажды каким-либо образом в сборочной итерации N-1 путь внешней зависимости не был разрешён в имя пакета, то такой путь будет внесён в зависимости пакета as is, и, таким образом, клауза 'The path is also "safe enough" if it is already required by someone' будет сама себя поддерживать сколь угодно большое количество пересборок, несмотря на то, что путь (уже) может быть разрешён в имя пакета, если пакет сборочно зависит, пусть непрямо, сам от себя. На примере пакета openssl098: однажды в нём возникла зависимость на /usr/share/ca-certificates/ca-bundle.crt из-за ссылки /var/lib/ssl/cert.pem -> ../../../usr/share/ca-certificates/ca-bundle.crt, которая не могла (на тот момент) быть разрешена в ca-certificates. Последующие пересборки openssl098 ничего не принесут, поскольку в сборочном окружении неизбежно оказывается предыдущий (кривой) openssl098, и клауза 'already required by, well, OMFG, ME!' не пустит пройти посмотреть в contents_index_all. Круг замкнулся. Есть идеи ? --