Bug 55057 - apt: Нехватка размера буфера
Summary: apt: Нехватка размера буфера
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: apt (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on: 52837
Blocks:
  Show dependency tree
 
Reported: 2025-07-04 15:44 MSK by alxvmr
Modified: 2025-07-09 17:10 MSK (History)
8 users (show)

See Also:


Attachments
pkgpriorities файл (34.46 KB, text/plain)
2025-07-04 15:44 MSK, alxvmr
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description alxvmr 2025-07-04 15:44:34 MSK
Created attachment 18938 [details]
pkgpriorities файл

Добрый день!
Столкнулись с проблемой при выполнении apt-get install с переопределенным файлом pkgpriorities - если объем одного из тегов в pkgpriorities больше 32КБ, то парсинг завершается ошибкой:

apt-get install --just-print -q "p7zip-" -o Dir::Etc::pkgpriorities="/home/SMB.BASEALT.RU/alekseevamo/Загрузки/-alt-packages-pkgpriorities.FWvUFAmIzxvc"

E: Невозможно прочитать пакетный файл /home/SMB.BASEALT.RU/alekseevamo/Загрузки/-alt-packages-pkgpriorities.FWvUFAmIzxvc (1)
E: нет данных в /home/SMB.BASEALT.RU/alekseevamo/Загрузки/-alt-packages-pkgpriorities.FWvUFAmIzxvc

Пример такого файла приложен.
Данную проблему решает увеличение буфера у pkgTagFile, патч:

From a8978ee862a67051c5f5d5a11c341eb36e871fe3 Mon Sep 17 00:00:00 2001
From: Maria Alexeeva <alxvmr@altlinux.org>
Date: Wed, 2 Jul 2025 20:47:49 +0400
Subject: [PATCH] tagfile: increase the buffer size from 32*1024 to 128*1024

---
 apt-pkg/tagfile.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/apt-pkg/tagfile.h b/apt-pkg/tagfile.h
index c084a853..2af96b81 100644
--- a/apt-pkg/tagfile.h
+++ b/apt-pkg/tagfile.h
@@ -80,7 +80,7 @@ class pkgTagFile
    inline unsigned long Offset() {return iOffset;}
    bool Jump(pkgTagSection &Tag,unsigned long Offset);
 
-   pkgTagFile(FileFd *F,unsigned long Size = 32*1024);
+   pkgTagFile(FileFd *F,unsigned long Size = 128*1024);
    ~pkgTagFile();
 };
 
-- 
2.42.4

Значение в 128КБ возникло из потребности исходной задачи про починку сноса половины системы в alterator-application-components - в pkgpriorities нужно сохранять все вручную установленные пакеты.
Comment 1 alxvmr 2025-07-07 16:15:15 MSK
Тестовая задача (Sisyphus): 388778
Comment 2 Repository Robot 2025-07-09 17:10:03 MSK
apt-0.5.15lorg2-alt97 -> sisyphus:

Wed Jul 02 2025 Maria Alexeeva <alxvmr@altlinux> 0.5.15lorg2-alt97
- Increased the pkgpriorities buffer size from 32*1024 to 128*1024 (Closes: #55057).