The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Менеджер программ для установки из исходников (rpm packet)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: rpm, packet,  (найти похожие документы)
From: printman <printman-unix@yandex.ru.> Newsgroups: email Date: Mon, 3 May 2006 14:31:37 +0000 (UTC) Subject: Менеджер программ для установки из исходников Смысл в том, чтобы контролировать программы, установленные из исходников. Для установки программы нужно сделать fake-install, т.е. ./configure --prefix=/usr && make && make DESTDIR=/tmp/prgman install Затем делаем prgman add < PROGRAM > Менеджер сохранит список файлов, установленных программой, затем перенесёт её в prefix. При удалении, prgman del < PROGRAM >, менеджер сперва удалит файлы из списка, затем пустые директории. #!/bin/bash if [ "$1" = "" ]; then echo 'usage : prgman [ add , del , info ] [ PROGRAM ]' elif [ "$1" = "add" ]; then if [ "$2" = "" ]; then echo "syntax error" exit elif ls /var/log/prgman/$2 1> /dev/null 2>&1; then echo "already installed" exit else for TYPE in b c p f l s ; do find /tmp/prgman -type $TYPE >> /tmp/prgman.tmp done sort /tmp/prgman.tmp | sed s/'^\/tmp\/prgman'//g | sed s/^/'f '/g > /var/log/prgman/$2 rm -f /tmp/prgman.tmp find /tmp/prgman -type d | sort | sed s/'^\/tmp\/prgman'//g | sed s/^/'d '/g >> /var/log/prgman/$2 cp -R /tmp/prgman/* / rm -r /tmp/prgman/* fi elif [ "$1" = "del" ]; then if [ "$2" = "" ]; then echo "syntax error" exit elif ! ls /var/log/prgman/$2 1> /dev/null 2>&1; then echo "not installed" exit else cat /var/log/prgman/$2 | sed -n /^f/p | sed s/^'f '//g | xargs rm tac /var/log/prgman/$2 | sed -n /^d/p | sed s/^'d '//g | xargs rmdir rm /var/log/prgman/$2 fi elif [ "$1" = "info" ]; then if [ "$2" = "" ]; then ls /var/log/prgman elif ! ls /var/log/prgman/$2 1> /dev/null 2>&1; then echo "not installed" exit else cat /var/log/prgman/$2 fi fi

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1.1, Unixprintman (?), 18:34, 04/05/2006 [ответить]  
  • +/
    Ну-ну. Только и осталось, что засорять /usr
    Ставьте все в /usr/local/program_name_folder и будет вам счастье.
     
  • 1.2, mmonk (?), 20:31, 04/05/2006 [ответить]  
  • +/
    Какое-то время назад видел очень правильный скрипт, который timestamp-файл, потом запускался make install или что там хочет программа чтобы установиться, и потом find-ом искались файлы старше чем timestamp.
    Такой подход более правилен. А описанная здесь технология основывается на make DESTDIR=path install, что проходит не со всеми программами.
    Не стоило писать статью на эту тему, разве что от нечего делать.

    Ставить каждую программу в отдельную папку - тоже извращение. PATH устанете обновлять. А вот идея ставить в /usr/local вместо /usr не лишена смысла, ибо обновление системы пройдет менее болезненно. В случае с FreeBSD вроде бы вообще безболезненно ) В этом плане есть чему поучиться у соседей.

     
  • 1.3, I3rain (??), 00:29, 05/05/2006 [ответить]  
  • +/
    А не проще взять скрипт от слаки makepkg?
     
     
  • 2.4, I3rain (??), 00:30, 05/05/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Из пакета pkgtools
     

  • 1.5, Eugeni (??), 04:23, 05/05/2006 [ответить]  
  • +/
    Checkinstall IMHO покрасивей работает.
     
     
  • 2.10, Журавлев Алексей (?), 11:46, 30/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    И installwatch.
     

  • 1.6, Kaminsky_S (?), 11:09, 05/05/2006 [ответить]  
  • +/
    Да, make DESTDIR=path install работает не всегда. Я тоже с этим сталкивался , поэтому некоторое время назад тоже наваял заметку. Кому интересно - http://lfs-ru.nm.ru/doc/create-packages.html. Я лично использую pkgtools т.к. он простой и не тянет за собой кучу зависимостей. timestamp-файл это конечно хорошо, но в таком случае будет только список установленных файлов, а пакета как такового небудет, а для его создания прийдётся свё равно ручками работать. Поэтому на мой взгляд всё-таки удобнее пользоваться способом типа DESTDIR с последующим созданием пакета.
     
     
  • 2.7, Kaminsky_S (?), 11:13, 05/05/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Правильный адрес БЕЗ точки в конце - http://lfs-ru.nm.ru/doc/create-packages.html
     

    игнорирование участников | лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру