Это место, где я всегда находил недостающую документацию. Я в значительной степени узнал, как это работает, глядя на то, как это делается в других пакетах. Как и в большинстве случаев в упаковке Debian, есть несколько способов сделать это. Я считаю, что самый простой способ - использовать файлы debian/package.install. Вот пример пакета, над которым я работал, воображение (ветвь bzr).
Сначала нам нужно создать пакет в воображении (ветвь bzr) . Сейчас есть три строфы. Один для исходного пакета и по одному для каждого двоичного пакета. Обратите внимание, что пакет foo-data должен быть Architecture: all. Также обратите внимание, что воображение зависит от imagination-common (= ${source:Version}).
Затем мы создаем файл debian/imagination.install. Это содержит конкретные файлы или пути, которые мы хотим закончить в пакете воображения. Для этого пакета мы хотим, чтобы все зависимые от архитектуры файлы. Файл рабочего стола включен, так как ему нужно сказать с двоичным кодом, который он вызывает в своей строке Exec:.
usr/bin/
usr/lib/
/usr/share/applications/imagination.desktop
Нам нужно создать файл debian/imagination-common.install. Это будет содержать все независимые от архитектуры файлы, изображения, переводы, документы и т. Д.
/usr/share/doc/
/usr/share/icons/
/usr/share/imagination/
/usr/share/locale/
man dh_install описывает, что на самом деле происходит здесь:
, возможно, у вас есть большой пакет, который создает несколько бинарных пакетов. Вы можете использовать Upstream Makefile, чтобы установить все это в debian / tmp, а затем использовать dh_install для копирования каталогов и файлов оттуда в соответствующие каталоги сборки пакетов.Что означает «правильные каталоги сборки пакетов», так это то, что к концу процесса сборки все, что будет в полученном foo.deb, будет найдено в src/debian/foo. Файлы, которые попадут в foo-data.deb, будут найдены в src/debian/foo-data. Поскольку debian/rules по существу является только Makefile, вы можете начать представлять себе другие способы получения одного и того же результата.
О SDL pulseaudio вы можете просто установить libsdl1.2debian-alsa, он удалит версию pa-sdl и ссылку на библиотеки ALSA. Тем не менее, вы, вероятно, получите другую совместимость с бинарными / библиотеками, например, dv3500ea. Общий подход, позволяющий избежать проблем, связанных с системной зависимостью, заключается в использовании статической привязки. Это сделает бинарные файлы намного большими, потому что они включают требуемый код из библиотек.
Для получения дополнительной информации о проверке статической привязки: http://wiki.linuxquestions.org/wiki/Static_linking
о СДЛ pulseaudio, вам можно просто установить libsdl1.2debian-alsa также, он будет удалить па-СДЛ версия и ссылка против АЛСА библиотеки. Еще вы, вероятно, получить другой двоичный/библиотека обзоры совместимости, как dv3500ea упомянул. Общий подход, чтобы избежать проблем, связанных с системой зависимостей, используя статическое связывание. Это позволит сделать код намного больше, потому что они включают необходимый код из библиотек.
для получения дополнительной информации о статической проверки: http://wiki.linuxquestions.org/wiki/Static_linking
О SDL pulseaudio вы можете просто установить libsdl1.2debian-alsa, он удалит версию pa-sdl и ссылку на библиотеки ALSA. Тем не менее, вы, вероятно, получите другую совместимость с бинарными / библиотеками, например, dv3500ea. Общий подход, позволяющий избежать проблем, связанных с системной зависимостью, заключается в использовании статической привязки. Это сделает бинарные файлы намного большими, потому что они включают требуемый код из библиотек.
Для получения дополнительной информации о проверке статической привязки: http://wiki.linuxquestions.org/wiki/Static_linking
О SDL pulseaudio вы можете просто установить libsdl1.2debian-alsa, он удалит версию pa-sdl и свяжется с ALSA-библиотеками. Тем не менее, вы, вероятно, получите другую совместимость с бинарными / библиотеками, например, dv3500ea. Общий подход, позволяющий избежать проблем, связанных с системной зависимостью, заключается в использовании статической привязки. Это сделает бинарные файлы намного большими, потому что они включают требуемый код из библиотек.
Для получения дополнительной информации о проверке статической привязки: http://wiki.linuxquestions.org/wiki/Static_linking
О SDL pulseaudio вы можете просто установить libsdl1.2debian-alsa, он удалит версию pa-sdl и свяжется с ALSA-библиотеками. Тем не менее, вы, вероятно, получите другую совместимость с бинарными / библиотеками, например, dv3500ea. Общий подход, позволяющий избежать проблем, связанных с системной зависимостью, заключается в использовании статической привязки. Это сделает бинарные файлы намного большими, потому что они включают требуемый код из библиотек.
Для получения дополнительной информации о проверке статической привязки: http://wiki.linuxquestions.org/wiki/Static_linking
О SDL pulseaudio вы можете просто установить libsdl1.2debian-alsa, он удалит версию pa-sdl и свяжется с ALSA-библиотеками. Тем не менее, вы, вероятно, получите другую совместимость с бинарными / библиотеками, например, dv3500ea. Общий подход, позволяющий избежать проблем, связанных с системной зависимостью, заключается в использовании статической привязки. Это сделает бинарные файлы намного большими, потому что они включают требуемый код из библиотек.
Для получения дополнительной информации о проверке статической привязки: http://wiki.linuxquestions.org/wiki/Static_linking
О SDL pulseaudio вы можете просто установить libsdl1.2debian-alsa, он удалит версию pa-sdl и свяжется с ALSA-библиотеками. Тем не менее, вы, вероятно, получите другую совместимость с бинарными / библиотеками, например, dv3500ea. Общий подход, позволяющий избежать проблем, связанных с системной зависимостью, заключается в использовании статической привязки. Это сделает бинарные файлы намного большими, потому что они включают требуемый код из библиотек.
Для получения дополнительной информации о проверке статической привязки: http://wiki.linuxquestions.org/wiki/Static_linking
О SDL pulseaudio вы можете просто установить libsdl1.2debian-alsa, он удалит версию pa-sdl и свяжется с ALSA-библиотеками. Тем не менее, вы, вероятно, получите другую совместимость с бинарными / библиотеками, например, dv3500ea. Общий подход, позволяющий избежать проблем, связанных с системной зависимостью, заключается в использовании статической привязки. Это сделает бинарные файлы намного большими, потому что они включают требуемый код из библиотек.
Для получения дополнительной информации о проверке статической привязки: http://wiki.linuxquestions.org/wiki/Static_linking
Создайте двоичный файл отдельно на каждой платформе, для которой вы хотите предоставить бинарные пакеты, и убедитесь, что вы распространяете исходный код, чтобы люди на других платформах могли создавать его для себя.
Обратите внимание, что Linux фокусируется на источнике совместимость, а не двоичная совместимость. Большинство дистрибутивов не совместимы друг с другом (даже Ubuntu и Debian полностью совместимы *).
Это несколько связанный вопрос: *
Создайте двоичный файл отдельно на каждой платформе, для которой вы хотите предоставить бинарные пакеты, и убедитесь, что вы распространяете исходный код, чтобы люди на других платформах могли создавать его для себя.
Обратите внимание, что Linux фокусируется на источнике совместимость, а не двоичная совместимость. Большинство дистрибутивов не совместимы друг с другом (даже Ubuntu и Debian полностью совместимы *).
Это несколько связанный вопрос: *
Создайте двоичный файл отдельно на каждой платформе, для которой вы хотите предоставить бинарные пакеты, и убедитесь, что вы распространяете исходный код, чтобы люди на других платформах могли создавать его для себя.
Обратите внимание, что Linux фокусируется на источнике совместимость, а не двоичная совместимость. Большинство дистрибутивов не совместимы друг с другом (даже Ubuntu и Debian полностью совместимы *).
Это несколько связанный вопрос: *
Создайте двоичный файл отдельно на каждой платформе, для которой вы хотите предоставить бинарные пакеты, и убедитесь, что вы распространяете исходный код, чтобы люди на других платформах могли создавать его для себя.
Обратите внимание, что Linux фокусируется на источнике совместимость, а не двоичная совместимость. Большинство дистрибутивов не совместимы друг с другом (даже Ubuntu и Debian полностью совместимы * ).
Это несколько связанный вопрос: С технической точки зрения, что такое отличается от Ubuntu по сравнению с другими дистрибутивами Linux?
Создайте двоичный файл отдельно на каждой платформе, для которой вы хотите предоставить бинарные пакеты, и убедитесь, что вы распространяете исходный код, чтобы люди на других платформах могли создавать его для себя.
Обратите внимание, что Linux фокусируется на источнике совместимость, а не двоичная совместимость. Большинство дистрибутивов не совместимы друг с другом (даже Ubuntu и Debian полностью совместимы * ).
Это несколько связанный вопрос: С технической точки зрения, что такое отличается от Ubuntu по сравнению с другими дистрибутивами Linux?
Создайте двоичный файл отдельно на каждой платформе, для которой вы хотите предоставить бинарные пакеты, и убедитесь, что вы распространяете исходный код, чтобы люди на других платформах могли создавать его для себя.
Обратите внимание, что Linux фокусируется на источнике совместимость, а не двоичная совместимость. Большинство дистрибутивов не совместимы друг с другом (даже Ubuntu и Debian полностью совместимы * ).
Это несколько связанный вопрос: С технической точки зрения, что такое отличается от Ubuntu по сравнению с другими дистрибутивами Linux?
Создайте двоичный файл отдельно на каждой платформе, для которой вы хотите предоставить бинарные пакеты, и убедитесь, что вы распространяете исходный код, чтобы люди на других платформах могли создавать его для себя.
Обратите внимание, что Linux фокусируется на источнике совместимость, а не двоичная совместимость. Большинство дистрибутивов не совместимы друг с другом (даже Ubuntu и Debian полностью совместимы * ).
Это несколько связанный вопрос: С технической точки зрения, что такое отличается от Ubuntu по сравнению с другими дистрибутивами Linux?
Создайте двоичный файл отдельно на каждой платформе, для которой вы хотите предоставить бинарные пакеты, и убедитесь, что вы распространяете исходный код, чтобы люди на других платформах могли создавать его для себя.
Обратите внимание, что Linux фокусируется на источнике совместимость, а не двоичная совместимость. Большинство дистрибутивов не совместимы друг с другом (даже Ubuntu и Debian полностью совместимы * ).
Это несколько связанный вопрос: С технической точки зрения, что такое отличается от Ubuntu по сравнению с другими дистрибутивами Linux?