From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <439DA18E.5040607@ntmdt.ru> Date: Mon, 12 Dec 2005 19:13:02 +0300 From: "Alexei V. Mezin" Organization: NT-MDT User-Agent: Thunderbird 1.5 (Windows/20051025) MIME-Version: 1.0 To: ALT Linux Community Subject: [JT ]Re: [Comm] Re: =?KOI8-R?Q?=F0=CF=C4=D3=CB=C1=D6=C9=D4=C5_?= =?KOI8-R?Q?=CF_=D3=C2=CF=D2=CB=C5_=D0=D2=CF=C7=D2=C1=CD=CD=D9?= References: <20051212100102.GS32150@osdn.org.ua> <94a6689a0512120233o47b96a1dn@mail.gmail.com> <20051212110804.GI20065@osdn.org.ua> <94a6689a0512120342m5be60b1ej@mail.gmail.com> <20051212115005.GK20065@osdn.org.ua> <94a6689a0512120737g7db0f383v@mail.gmail.com> In-Reply-To: <94a6689a0512120737g7db0f383v@mail.gmail.com> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: mezin@ntmdt.ru, ALT Linux Community List-Id: ALT Linux Community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Dec 2005 16:13:52 -0000 Archived-At: List-Archive: List-Post: Алексей Данилович пишет: > ох. Да я уж сказал, что хорошо это... Но суть не в конкретном пакете :) А в чем суть? Как собрать программу, выкаченную из инета? Классический (он же "порочный") путь: - выкачать tar.gz с программой - распаковать куда-нить в ~/ - перейти в распакованный каталог - изучить READMY, INSTALL и прочую документацию - запустить ./configure --help, изучить результат - запустить ./configure --prefix=/opt/usr --bla-bla-параметры-по-вкусу - поглядеть на результат и доставить (рутом) недостающие lib* и *-devel - выполнить ./configure --prefix=/opt/usr --bla-bla-параметры-по-вкусу - выполнить make, посмотреть на результат - поправить ошибки в исходниках - выполнить make, посмотреть на результат - выполнить sudo make install - при необходимости sudo ldconfig - насладиться результатом Что тут к чему? configure, на основе разных файлов с описанием того, что нужно программе для сборки, проверяет наличие в системе всех нужных компонентов, и создает Makefile'ы для сборки программы. Так же учитывает и ключи, указанные пользователем (каталог установки, включение/отключение отдельных фичей, каталоги с библиотеками и т.п.). После этого make, на основе инструкций в Makefile'ах вызывает соответствующие компиляторы/линкеры и собирает программу и библиотеки. Далее make install устанавливает все в систему. Это "плохой, негодный" (с) путь установки программ. Причины: для сборки программ в системе придется держать кучу компиляторов и заголовочных файлов для библиотек. Установленные таким образом программы чаще всего невозможно грамотно деинсталлировать. По хорошему перед инсталляцией нужно проверять "безопасность" инсталляционных скриптов, а то мало ли чего и куда они запишут. Невозможно автоматическое обновление программ. И так далее и тому подобное. Хороший путь установки программ "из исходников" -- скачать src.rpm из бэкпортов или Сизифа, настроить сборочную среду hasher и собрать в ней бинарный пакет. Который потом спокойно поставить штатным apt/rpm. Этот способ хорош тем, что: - src.rpm содержит кроме исходников еще патчи и spec-файл с правилами сборки. Т.е. мэйнтейнер пакета заранее наступил на все грабли, и заботливо составил программу их обхода. Поэтому Src.rpm чаще всего собираются. - сборка в hasher не требует установки в систему кучи лишних пакетов. - сборка и последующая установка пакета гарантируют то, что пакет потом можно будет снести, обновить и так далее. Кроме того, автоматом отслеживаются зависимости. Что делать, если нужной программы нет на ftp.altlinux? Поискать на сайте разработчиков программы Src.rpm (скорее всего под RH/Mandriva), скачать его, исправить спек-файл, собрать Src.rpm и отправить его в hasher на сборку .rpm. После этого либо стать мэйнтейнером пакета, либо передать спек кому-нить из действующих мэйнтернеров, вдруг пригодится. Если нет src.rpm, то качать tar.gz и делать спек самому. Или просить в рассылке, может кто уже собрал/может собрать нужный пакет. -- Alexei V. Mezin NT-MDT Co. Phone: 095-913-5736 Fax: 095-913-573 Email: mezin@ntmdt.ru URL: http://www.ntmdt.com