From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3BDCF6BC.1152CCC0@mail.ru> Date: Mon, 29 Oct 2001 09:27:08 +0300 From: "Vadim V. Zhytnikov" X-Mailer: Mozilla 4.7 [en] (Win98; I) X-Accept-Language: en MIME-Version: 1.0 To: sisyphus@altlinux.ru Subject: Re: [sisyphus] йЮЙ РН ЯРПЮММН ЯНАХПЮЕРЯЪ ОЮЙЕР Я ЛНХЛ ЯОЕЙНЛ. References: <20011029051411.609b8e5d.info@atmsk.ru> Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Sender: sisyphus-admin@altlinux.ru Errors-To: sisyphus-admin@altlinux.ru X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: sisyphus@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Archived-At: List-Archive: AVL wrote: > Странная на первый взгляд ситуация > написал я свой (первый) спек для freespeach > вроде порядок но есть одна логическая проблема, в смысле мое непонимание двух моментов. > 1) почему секция %install исполняется даже при > rpm -bb myspec > или rpm -ba myspec > у меня в этой секции просто прописан make install который требует прав рута. как же я должен поступить? > 2) как задать директорию темп. потому как похоже с ней тоже проблемы. make делает ее в одном месте а rpm что то ищет в другом и тоже обламывается. Всё происходит как положено. И -bb и -ba подразумевают выполнение 3х стадий, которые грубо можно описать так 1) Распаковка исходников, которая производится в директории ~/RPM/BUILD 2) Компиляция - обычно configure; make, которая опять выполняется в ~/RPM/BUILD 3) Инсталляция - make install. Результаты предыдущих шагов пишутся на своё место. Именно эта стадия особенно опасна когда сборка rpm происходит по старинке от root и файлы действительно пишутся на своё предполагаемое место в /usr/bin, /usr/lib и т.д. Хорошо если spec правильный, а если это ваши первые опыты? Получается, что система оплёвывается какаими-то экспериментальными файлами которые ох чего могут в ней напортить! Поэтому по при сборке от обычного пользователя стадия install производит симуляцию инсталяции. Файлы должны писаться не в /usr/... а во <временная директория rpm>/%name-builddir/usr/... Обычно это достигается передачей параметра PREFIX configure и make. Временная директория rpm задаётся в .rpmmacros. Это скорее всего либо ~/RPM/TMP либо ~/tmp. После успешной инсталляции файлов во временой директории rpm соберёт их в пакет, причем путь ко временной директории бкдет автоматически отброшен. Успехов, ZW [ Vadim V. Zhytnikov ]