Buildroot добавляет хэш-файл в BR2_GLOBAL_PATCH_DIR?Linux

Ответить
Anonymous
 Buildroot добавляет хэш-файл в BR2_GLOBAL_PATCH_DIR?

Сообщение Anonymous »

Я использую buildroot 2024.02.
Я установил BR2_GLOBAL_PATCH_DIR+="$(BR2_EXTERNAL_MY_PATH)/patches". Его содержимое:

Код: Выделить всё

 % tree /home/admin/buildroot-external-my/patches
/home/admin/buildroot-external-my/patches
└── dhcpcd
├── 0002-fix-not-send-probe-arp.patch
└── 0003-speedup-probe.patch

2 directories, 2 files
Я добавил пакет с именем «aria2» во внешний каталог:

Код: Выделить всё

 % tree /home/admin/buildroot-external-my/package
/home/admin/buildroot-external-my/package
└── aria2
├── aria2.hash
├── aria2.mk
└── Config.in

2 directories, 3 files
Мне не нужно исправлять aria2. При загрузке aria2 возникла такая ошибка:

Код: Выделить всё

support/download/check-hash: line 37: /home/admin/buildroot-external-my/patches/aria2/aria2.hash: No such file or directory
Я обнаружил, что package/pkg-generic.mk безоговорочно создает путь к хеш-файлу из BR2_GLOBAL_PATCH_DIR:

Код: Выделить всё

$(2)_HASH_FILES = \
$$(strip \
$$(foreach d, $$($(2)_PKGDIR) $$(addsuffix /$$($(2)_RAWNAME), $$(call qstrip,$$(BR2_GLOBAL_PATCH_DIR))),\
$$(if $$(wildcard $$(d)/$$($(2)_VERSION)/$$($(2)_RAWNAME).hash),\
$$(d)/$$($(2)_VERSION)/$$($(2)_RAWNAME).hash,\
$$(d)/$$($(2)_RAWNAME).hash\
)\
)\
)
Это означает, что как только я добавляю каталог патчей в BR2_GLOBAL_PATCH_DIR, мне нужно создать файл package.hash для КАЖДОГО пакета в каталоге патчей, даже для тех пакетов, которые находятся в вышестоящем корне сборки. Например, для пакета dtc в корневом каталоге сборки:

Код: Выделить всё

 % make printvars VARS=DTC_HASH_FILES
DTC_HASH_FILES=package/dtc//dtc.hash /home/admin/buildroot-external-my/patches/dtc/dtc.hash
% make show-vars VARS=DTC_HASH_FILES
{
"DTC_HASH_FILES":
{
"expanded":
"package/dtc//dtc.hash\u0020/home/admin/buildroot-external-my/patches/dtc/dtc.hash",
"raw":
"$(strip\u0020$(foreach\u0020d,\u0020$(DTC_PKGDIR)\u0020$(addsuffix\u0020/$(DTC_RAWNAME),\u0020$(call\u0020qstrip,$(BR2_GLOBAL_PATCH_DIR))),\u0020$(if\u0020$(wildcard\u0020$(d)/$(DTC_VERSION)/$(DTC_RAWNAME).hash),\u0020$(d)/$(DTC_VERSION)/$(DTC_RAWNAME).hash,\u0020$(d)/$(DTC_RAWNAME).hash\u0020)\u0020)\u0020)"
}
}
Итак, чтобы исправить ошибку, нужно ли мне изменить package/pkg-generic.mk?


Подробнее здесь: https://stackoverflow.com/questions/798 ... -patch-dir
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»