LINUX.ORG.RU

Как установить левый софт


0

1

У меня возник вопрос: к примеру GIMP я его сам компилирую:

./configure
make
make install

1) Вот вопрос по поводу этого «make install», как после этого удалить програму? Приходило в голову попробовать «make install > foo.uinstaller», а потом ручками...

2) И опять про него же, «make install», можно ли делать инсталл в какойто отдельный каталог, как бы «портабильный» софт, чтобы не гадило по всей ФС...

★★

ман checkinstall
ман сборка пакетов для $distro_name

anonymous
()

префикс, либо в каталог с исходником (без install)

minakov ★★★★★
()

checkinstall или /usr/local/

GotF ★★★★★
()

make install не используете, собираете в отдельный каталог в хомяке/opt и делаете ссылку на исполняемый файл.

AlexCones ★★★
()

как после этого удалить програму?

Ты удивишься, но make uninstall

можно ли делать инсталл в какойто отдельный каталог,

configure --prefix=/opt/mydir

no-such-file ★★★★★
()

поддерэиваю no-such-file

--prefix=/opt/progdir

mumpster ★★★★★
()
Ответ на: комментарий от megabaks

миллион их

Кто спорит? Прошу одну из миллиона для примера.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Пример проги у которой ./configure не делает цель uninstall приведешь?

Если не ошибаюсь, то lightdm,компоненты E17. Ды много их)))

Pupkin92
()
Ответ на: комментарий от Made_in_China

Это же Убунтоид. Мы тут в теме о готовности Линуха к десктопу Бубубу уже обсудили. А так же его пользователей.

Vekt
()
Ответ на: комментарий от Pupkin92

lightdm

$ cd ~/src/lightdm-1.2.2
$ ./configure
$ grep '^uninstall:' Makefile
uninstall: uninstall-recursive

компоненты E17

$ cd ~/src/eina-1.2.0
$ ./configure
$ grep '^uninstall:' Makefile
uninstall: uninstall-recursive

Еще что нибудь?

no-such-file ★★★★★
()
./configure --prefix=/usr/
make -j3
make DESTDIR=`pwd`/pkg install

А дальше из pkg делаешь пакет по образу и подобию своей системы. Это всё конечно если повезёт и автор программы не был большой оригинал.

KblCb ★★★★★
()
Ответ на: комментарий от no-such-file

А если configure нету, и к примеру софтину собирал так:

qmake
make 
make install
Пробовал так но оно не хочет работать:
qmake PREFIX=/home/fedora/Programs/libs/qwt-6
make prefix=$/home/fedora/Programs/libs/qwt-6
make install

Получаю:

cd src/ && make -f Makefile install
make[1]: Entering directory `/home/fedora/Programs/Sources/qwt-6.0/src'
mkdir: cannot create directory `/usr/local/qwt-6.0.2-svn': Permission denied
make[1]: *** [install_target] Error 1
make[1]: Leaving directory `/home/fedora/Programs/Sources/qwt-6.0/src'
make: *** [sub-src-install_subtargets-ordered] Error 2

DenisPA ★★
() автор топика
Ответ на: комментарий от qnikst

Ровно с тем же успехом можно сказать «слакбилд», «rpm-спек», «пкгбилд», «deb control» и ещё примерно 100500 форматов описания правил сборки пакета.

GotF ★★★★★
()
Ответ на: комментарий от KblCb

нет, но они позволяют следить за установленными файлами, коллизиями и зависимостями. Предложенный тобой вариант годится только для слаки :)

qnikst ★★★★★
()
Ответ на: комментарий от KblCb

А вообще не так. Там довольно кривой спек в самом проекте и нужно этот спек править. Открываешь qwtconfig.pri, ищешь секцию install paths и переписываешь все объявления QWT_INSTALL_PREFIX так как тебе хочется. Нужно будет уточнить у Uwe до коле это будет продолжаться…

KblCb ★★★★★
()
Ответ на: комментарий от DenisPA

qmake не использует PREFIX.

Нужно что-то вроде этого:

qmake
make INSTALL_ROOT='/opt/mydir' QTDIR=/usr install

А вообще, чем городить свои велосипеды, может вам стоит прикрутить к своему дистрибутиву какую-нибудь автоматическую систему сборки? Те же PKGBUILD'ы из archlinux например.

no-such-file ★★★★★
()
Ответ на: комментарий от qnikst

Это больше религиозный вопрос, но мне бы не хотелось чтобы за мной наблюдала программа на питоне, руководствуясь при этом сомнительными принципами общего блага и материалом порождённым сообществом, которое не знает чего оно хочет.

А если серьёзно, нисколько не отрицая важность и нужность дистрибутивных инструментов, я просто отвечал на вопрос топикстартера о том как ему лучше сделать плохо.

KblCb ★★★★★
()

В любом дистре следует создавать родные пакеты, чтобы потом можно было удобно работать с ними с помощью пакетного менеджера. И хвосты не будут оставаться.

post-factum ★★★★★
()

1) в Makefile должна быть uninstall: или remove: строка, тогда пишешь make uninstall или make remove соответственно
2) для Debian - checkinstall
в генте можно ебилд дял любой программы с исходниками написать и потом спокойно ставить и удалять софт с его помощью
в любом нормальном дистре есть способ сборки пакетов их исходников

ms-dos32
()
Ответ на: комментарий от no-such-file

А какая из автоматических систем сборок позволяет странного? То есть например вынуть из дерева спек, поменять источник кода с пути к тарболу на svn или git, поменять путь установки этого пакета вообще не меняя спек, начать пересборку в случае ошибки в спеке и её исправления с места ошибки. Ну и всё такое. Потому что виданные мной системы сборки больше напоминают инструмент доставки софта до пользователя, а не хотя бы инструмент мейнтейнера.

KblCb ★★★★★
()
Ответ на: комментарий от KblCb

А какая из автоматических систем сборок позволяет странного?

А кто говорил про странное? Изменить путь установки и убрать за собой после отмены установки (что и нужно было ТСу) может и makepkg, и portage, и даже installpkg/removepkg из слаки.

Потому что виданные мной системы сборки больше напоминают инструмент доставки софта до пользователя, а не хотя бы инструмент мейнтейнера.

Так и есть, но ведь ТС, кажется, не мейнтейнер?

no-such-file ★★★★★
()
Ответ на: комментарий от KblCb

ebuild:

То есть например вынуть из дерева спек,

они и так видны

поменять источник кода с пути к тарболу на svn или git

редактор в руки и парой мелких исправлений всё меняется

поменять путь установки этого пакета вообще не меняя спек,

для подкласса програм можно сделать EXTRA_ECONF="--prefix /foo"

начать пересборку в случае ошибки в спеке и её исправления с места ошибки.

ebuild prepare/configure/build

qnikst ★★★★★
()
Ответ на: комментарий от Pupkin92

но я точно помню встречался с прогами у которых не было make uninstall)))

uninstall стандартная цель automake. Возможно это были программы с другой системой сборки?

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Возможно это были программы с другой системой сборки?

Может быть))

Pupkin92
()

ставь по крайней мере черещ prefix если не хочешь пакеты собирать. Тогда будет проще удалить. Нарпимер /usr/local/твоярогра

SI ★★☆☆
()
Ответ на: комментарий от no-such-file

Спасибо тебе no-such-file
И всем кто давал полезные советы!

DenisPA ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.