Являются ли драйверы устройств интегрированными в ядро?

dpkg-parsechangelog работает, а более ранний ответный вывод вывода через sed / grep должен быть полностью надежным. Если вы хотите узнать точную информацию о формате вывода dpkg-parsechangelog и большинстве других файлов управления в стиле debian, см. RFC 822. В версии пакета deb всегда нет версии, содержащей новую строку, пробел или любые другие специальные или (см. man deb-version), поэтому строка «Version: blah» на выходе всегда будет присутствовать, и она всегда будет отдельной строкой.

Однако dpkg-parsechangelog очень тяжелая программа для запуска только для получения текущего номера версии из журнала изменений. Он должен запускать Perl и загружать впечатляюще большое количество библиотек, чтобы дать вам результат, большинство из которых вы не будете использовать. На более медленных платформах или с медленными файлами хранения файлов, или когда вам нужно много раз обрабатывать эту версию, это будет довольно болезненно медленным. Вместо этого просто используйте все, что находится внутри первого набора скобок в первой строке:

head -1 debian/changelog | awk -F'[()]' '{print $2}'

Это даст вам правильную версию текущего пакета с любым допустимым файлом changelog, использующим стандартный формат (и нестандартный debian/changelog форматы для всех практических общих целей никогда не используются).

1
задан 11 June 2015 в 18:52

0 ответов

Другие вопросы по тегам:

Похожие вопросы: