I очень очень рекомендуем использовать средство проверки приложений / библиотек LSB. Он скажет вам быстро, если вы:
- Используются расширения, недоступные в некоторых дистрибутивах
- Введите bash-isms в скриптах установки
- Используйте системные вызовы, которые недоступны во всех последних ядрах
- Зависит от нестандартных библиотек (скажет, в каких дистрибутивах их нет)
- И многое, после множества других очень хороших проверок
Вы можете получить дополнительную информацию здесь , а также загрузить инструмент. Его легко запустить ... просто распакуйте его, запустите скрипт на Perl и укажите ваш браузер на localhost ... остальное - браузер.
Используя этот инструмент, вы можете легко получить сертификат LSB для вашей библиотеки / приложения (для обеих версий) и значительно упростить работу упаковщика дистрибутивов.
Кроме того, просто используйте что-то вроде libtool (или аналогичного), чтобы убедиться, что ваша библиотека установлена правильно, предоставьте статический объект для людей, которые не хотят связываться с DSO (для появления вашей библиотеки потребуется время в большинстве дистрибутивов, поэтому при написании переносимой программы я не могу рассчитывать на ее присутствие) и хорошо прокомментирую ваш публичный интерфейс.
Для библиотек я считаю, что Doxygen работает лучше всего. Документация очень важна, она, безусловно, влияет на мой выбор библиотеки для использования для любой конкретной задачи.
В самом деле, снова проверьте приложение, оно даст вам отчеты о проблемах с переносимостью, которые потребуются в течение года после того, как вы получите библиотеку в дикой природе, чтобы получить иное.
Наконец, постарайтесь сделать так, чтобы ваша библиотека легко помещалась «в дереве», поэтому мне не нужно статически связываться с ней. Как я уже сказал, может пройти несколько лет, прежде чем он станет распространенным в большинстве дистрибутивов. Мне гораздо проще просто взять ваш код, поместить его в src / lib и использовать его до тех пор, пока ваша библиотека не станет общей. И, пожалуйста, пожалуйста ... дайте мне модульные тесты, TAP (протокол что угодно) - хороший и портативный способ сделать это. Если я взломаю вашу библиотеку, мне нужно будет (быстро) узнать, не сломал ли я ее, особенно при изменении в дереве или en situ (если DSO существует).