Я пытаюсь пакет MATLAB для внутреннего распределения, но это можно применить к любой части программного обеспечения с той же архитектурой. Фактически, я упаковываю несколько версий MATLAB для одновременной установки. Ключевые вещи
Первоначально, я создал один пакет «источник» (matlab2011b), который строит несколько файлов .deb (в основном matlab2011b-ядро и matlab2011b-toolbox- * для каждой панели инструментов). Файл debian/rules
это не просто стандарт
all:
dh $@
Существует нет Makefile; только копирование файлов. Я использую ряд debian/*.install
файлов указать файлы для копирования из копии установки в /usr/lib/.
Проблема заключается в том, каждый раз, когда я строю вещь (скажем, сделать поправку к пакету сердечника), он recopies каждый файл, указанный в *.install
файл, чтобы, например, debian/$packagename/usr/
(фаза сборки), а затем должен связать это в файл .deb. Она занимает долгое время , порядка нескольких часов, и делает много дополнительной работы.
Так что мои вопросы:
dh_install
сделать копию Жесткой ссылки (например, cp -l
), чтобы сэкономить время? (AFAICT со страницы человека, нет.) Может быть, я должен просто получить его, чтобы сделать это в Makefile? (Это собирается быть большой Makefile.) 1. Вы можете заставить dh_install делать все, что захотите, добавив это в debian / rules:
override_dh_install:
dh_install # if you still want to use some things via *.install files
cp -l src/foo debian/$packagename/usr/share/$matlabname/foo
cp -l tools/bar debian/$packagename/usr/share/$matlabname/tools/bar
# etc...
Хотя я не знаю, хорошая ли это идея ...
2. Да, хотя и не так просто, как хотелось бы ...
Вы можете вызывать команды debhelper по отдельности:
dh_prep -p$packagname
dh_installdirs -p$packagname
dh_install -p$packagname
dh_installdeb -p$packagname
dh_gencontrol -p$packagname
dh_md5sums -p$packagname
dh_builddeb -p$packagname
Вероятно, необходимо выполнить настройку для вашего случая, список доступных команд dh_ * см. В
man debhelper
3. Я думаю, что предпочел бы делать все это в одном пакете, но я не уверен, что разделение на несколько пакетов с исходными кодами имеет свои проблемы ...