Насколько я знаю, лучший способ для дистрибутивов на основе apt, таких как Debian или Ubuntu, - это установить alien
, который преобразует отдельные RPM
в собственный формат deb
, а затем установите их по отдельности с помощью dpkg
.
Запуск от имени root:
apt-get install alien
alien package-name.rpm
dpkg -i package-name.deb
Очевидно, что это не разрешит зависимости автоматически, и dpkg откажется устанавливать, пока они не будут выполнены. Кто-то другой может знать, как это упростить или автоматизировать.
Перед запуском ./configure
отредактируйте Makefile.in
в корне проекта, убрав doc
из переменной SUBDIRS
. Это приведет к тому, что все в подкаталоге doc
будет игнорироваться во время сборки и установки.
sed -i '/SUBDIRS/s/doc//' Makefile.in
Если вы заглянете в make-файл, то увидите ряд правил, представляющих собой строки без пробелов в начале.Правило, к которому вы, вероятно, привыкли, это install
, которое обычно помещается в конец make-файла, но обычно есть много других правил. Ищите правило, которое относится к исходным файлам справочной страницы (, они обычно имеют однозначное расширение файла )или какой-либо каталог документации. Как только вы найдете его, у вас есть три варианта :1 )сделать его нулевым правилом, удалив его команды (т.е. строки после него, начинающиеся с пробела )или 2 ), удаляют ссылки на него, (, т.е. поищите в других правилах команды с названием этого правила или 3 )найдите уже -существующее правило установки, которое его не выполняет.
Позвольте мне привести вам пример, используя отрывок из реального make-файла:
default: all
all: lisp info
info:
cd doc && $(MAKE) EMACS="$(EMACS)"
install: install-lisp install-info
install-lisp: lisp
@$(SHELL) $(srcdir)/mkinstalldirs "$(DESTDIR)$(lispdir)";\
install-info: info
@echo "cd doc && $(MAKE) EMACS=\"$(EMACS)\"
dist: Makefile foo.elc
$(MAKE) tarball \
clean:
-rm -rf $(PACKAGE)* ;\
distclean: clean
-rm -f config.log config.status config.cache Makefile
В приведенном выше примере можно либо удалить строку после info:
и install-info:
, сделав ее нулевым правилом, либо, что лучше, удалить слово install-info
из правила install
(. начало строкиinstall:
)
Теперь, что касается третьего (лучшего )варианта, взгляните еще раз на файл моего примера и обратите внимание, что существует команда install-lisp
, которая, как вы видите, делает все, кроме установки документации, потому что они только две команды в команде install
. Так что в этом примере действительно не нужно ничего менять, просто вместо запуска make install
запустите make install-lisp
. Ваш файл make может предоставить вам аналогичную опцию. Не изучив его, это невозможно узнать.
Наконец, что, если вы не хотите выполнять make install
? Может быть, вы просто хотите исполнить ваниль make
. Для этого найдите правило с именем default
; это будет правило, используемое при вызове make
без конкретной команды. В моем примере вы видите, что правило default
просто указывает на другое правило с именем all
, и это правило вызывает два других правила:lisp
и info
. Когда я вставлял пример, я вырезал большую часть строк для краткости, поэтому текста правила lisp
здесь нет,но должно быть очевидно, что вы хотите использовать эту команду, а не команду info
, поэтому вы можете просто запустить make lisp
.