LINUX.ORG.RU

pkgconf 2.5.0 и 2.5.1

 , ,

pkgconf 2.5.0 и 2.5.1

0

2

19 и 25 июня, после более трёх месяцев разработки, состоялись выпуски 2.5.0 и 2.5.1 библиотеки и консольной утилиты pkgconf – кроссплатформенной замены pkg-config от freedesktop.org.

Проект написан на языке C и распространяется по лицензии ISC.

Список изменений:

  • Исправлена обработка пустых списков зависимостей.
  • Добавлена страница man для утилиты bomtool, предназначенной для генерации текстовой спецификации программного обеспечения (SBOM).
  • Добавлена поддержка предзагруженных пакетов. Это модули, которые предварительно загружаются в базу данных пакетов и при наличии предпочитаются поиску по пути модуля.
  • Обработка аргументов --with-path утилитой pkgconf теперь откладывается до полной инициализации libpkgconf, согласовывая поведение с обработкой PKG_CONFIG_PATH.
  • Исправлены незначительные ошибки в безопасности памяти, которые были выявлены с помощью статического анализатора GCC 15.
  • Добавлена поддержка pledge(2) и unveil(2) в системах, где доступна эта функциональность.
  • Значительно улучшены страницы man утилиты pkgconf.
  • Устранено сомнительное предположение о статичности по умолчанию в Windows, которое было унаследовано от оригинального pkg-config. В большинстве дистрибутивов pkgconf для Windows это уже исправлено.
  • Добавлено -D_POSIX_C_SOURCE=200809L в определения сборки, что необходимо для readlinkat в glibc.
  • Переработана поддержка PKG_CONFIG_PATH в реестре Windows так, что она дополняет основной список поиска директорий, а не рассматривается, как особый случай.

>>> Подробности на GitHub

★★★★★

Проверено: CrX ()
Последнее исправление: dataman (всего исправлений: 3)
Ответ на: комментарий от zabbal

Действительно

написан на языке C

шило на мыло. Вот если бы на ржавом написали, всё было бы очевидно.

apt_install_lrzsz ★★★
()

Определил автора по за головку и первым строкам - спасибо за такие новости! Верной дорогой!

pihter ★★★★★
()
Ответ на: комментарий от pihter

Для этого не надо быть Шерлоком Холмсом – там сверху жирным зелёным по чёрному написано, кто автор ;)

yars068 ★★★★★
()

Хоть бы написал, зачем это?

petyanamlt ★★★★
()
Ответ на: комментарий от thegoldone

Да, потому что новые ЯП наподобие Го и Раст, при сборке программы самостоятельно вендорят пол-интернета. Меня больше удивляет то, что это считается одним из их преимуществ. Потому что в Си и Си++ обычно те же люди топят за разделяемые библиотеки и динамическую линковку, которые и создали проблему ада зависимостей. Но в новых ЯП статическая сборка якобы перестало быть проблемой.

ulyssesjj
()
Ответ на: комментарий от ulyssesjj

При этом как линковаться к системным компонентам, если у них статически линкуется пол-интернета, те же люди думать не хотят.

И не связанные с линковкой программные интерфейсы тоже выстраивать не хотят.

wandrien ★★★
()

Опять говно и костыли, костыли и говно. О б-же.

cocucka_B_TECTE
()
Ответ на: комментарий от pihter

Я вот не узнал, в тегах пропущены: Shell, M4, Meson, Makefile, Python /s

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

Погодите, на сколько я помню, он был частью проекта жтк+ изначально? Во всяком случае, я с ним сталкивался в 99% случаев только в связи с жтк+/гном-приложениями.

А забросили его потому что гном перешёл на мезон?

Почему тогда его не форкнули, а начали писать заново? И кому он теперь нужен?

sena ★★★
()
Последнее исправление: sena (всего исправлений: 1)
Ответ на: комментарий от sena

мезон и пкг-конфиг - разные, дополняющие друг друга вещи.

Мезон - система сборки. Пкг-конфиг - по сути спецификация, по которой описываются метаданные установленных библиотек и по которой мезон (а также цмаке, и вообще кто угодно) может находить их в системе для линковки с собираемым проектом.

pkgconf - новая улучшенная реализация этой спецификации.

На жтк и гноме это все никаким образом не завязано, можно пользоваться где угодно.

Lrrr ★★★★★
()
Последнее исправление: Lrrr (всего исправлений: 1)

Вообще, замена неплохая. Менее жирная, оригинал зачем-то хочет glib.

a1ba ★★★
()
Ответ на: комментарий от Lrrr

мезон и пкг-конфиг - разные, дополняющие друг друга вещи.

То есть для гнома, не смотря не переход на мезон, пкг-конфиг всё ещё нужен?

sena ★★★
()
Ответ на: комментарий от ulyssesjj

Потому что в Си и Си++ обычно те же люди топят за разделяемые библиотеки и динамическую линковку, которые и создали проблему ада зависимостей. Но в новых ЯП статическая сборка якобы перестало быть проблемой.

Так проблема динамических библиотек в том, что они не позволяют подобрать нужную библиотеку. Проблема-то не в динамическом способе. А именно в выборе нужной библиотеки при этом.

И решать её никто не собирается. Потому что экономия памяти не такая, чтобы это стоило работ.


P.S.: А самое главное, что решение этой проблемы не сулит чего-то существенного. Если два приложения используют разные версии одной и той же библиотеки, то динамическая связь ничего не даст. Кроме дополнительной работы.

thegoldone ★★
()
Последнее исправление: thegoldone (всего исправлений: 1)
Ответ на: комментарий от ulyssesjj

Да, потому что новые ЯП наподобие Го и Раст, при сборке программы самостоятельно вендорят пол-интернета.

И ещё. Вендорят или не вендорят, но они делают это без сторонних костылей, типа pkg-config и аналогов. А собственным средствами.

Не было бы никакого смысла в них, если бы нужно было прикручивать сверху pkg-config, cmake, autotools, каменные топоры, глиняные таблички.

thegoldone ★★
()
Ответ на: комментарий от Megaorcus

Нет, дело не в лицензии, просто в оригинал то ли питон то ли ещё какую-то чушь потащили.

firkax ★★★★★
()
Ответ на: комментарий от thegoldone

P.S.: А самое главное, что решение этой проблемы не сулит чего-то существенного. Если два приложения используют разные версии одной и той же библиотеки, то динамическая связь ничего не даст. Кроме дополнительной работы.

в системе обычно больше чем два приложения, так что задача актуальна и было бы очень полезно её решить

sena ★★★
()
Ответ на: комментарий от firkax

как мы все знаем

Ты даже тут умудрился пригореть! :-D

И как обычно не от своего лица, а прикрывшись некими «всеми» - что ж ты ссышься-то так? Это ж просто форум, тебе никто ничего плохого не сделает - расслабься :)

zabbal ★★★★★
()
Ответ на: комментарий от thegoldone

каменные топоры, глиняные таблички.

статическая линковка всего подряд в бинарь

Ну да, ну да. a.out помер, но вечно жив у разрабов Раста.

wandrien ★★★
()
Ответ на: комментарий от wandrien

Бывает так, что покупаешь себе еду. А вместе с ней идёт и посуда и салфетка.

А бывает, что только еда и всё. А остальное нужно из сторонних источников уже получать. Там всякие configure, make, cmake, pkg-config и так далее. Потому что не очевидно, что всё это обязательно понадобится.

Из одного существующего решения, как правило. В отсутствие выбора.

Я одно не могу понять, зачем gcc занимается компоновкой? Это дело компоновщика. Непорядок.

thegoldone ★★
()
Последнее исправление: thegoldone (всего исправлений: 1)
Ответ на: комментарий от thegoldone

Бывает так, что покупаешь себе еду. А вместе с ней идёт и посуда и салфетка.

То ли дошираки, то ли шаурма, норм пример.

Я одно не могу понять, зачем gcc занимается компоновкой? Это дело компоновщика. Непорядок.

А он и не занимается, он ld запускает.

firkax ★★★★★
()
Ответ на: комментарий от ulyssesjj

Уже все комментаторы увидели как ты опростоволосился. Ты плаваешь в материале - путаешь мягкое с теплым.

Они сейчас с Вами в комнате?

thegoldone ★★
()

Вот уж не думал, что вдруг начнут приходить и рваться растофаны в комментах под новостью о релизе мелкой утилиты, не имеющий никакого отношения к растофанам.

wandrien ★★★
()
Ответ на: комментарий от wandrien

начнут приходить и рваться растофаны

Зависимости rustc могут окончательно измельчить разорванное.

dataman ★★★★★
() автор топика
Ответ на: комментарий от wandrien

Ну, «хороший» — суждение оценочное, не имеющее никакого смысла в отрыве от личности (лишности??.. от слова «лишний», да ;P) «оценщика» ;)))) ...

И у каждого это очень cвоя «шкала оценок»...

Somebody ★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.