| Summary: | поднять размеры внутренних буферов для поддержки репозитория autoimports. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | viy <viy> | ||||
| Component: | apt | Assignee: | placeholder <placeholder> | ||||
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | boyarsh, enp, evg, glebfm, icesik, ildar, imz, ldv, mike, placeholder, vt | ||||
| Version: | unstable | ||||||
| Hardware: | all | ||||||
| OS: | Linux | ||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 30482 | ||||||
| Attachments: |
|
||||||
|
Description
viy
2013-10-24 00:29:03 MSK
Число версий превысило предельное значение 2^16-1 (unsigned short ID в структуре pkgCache::Version), без увеличения типа ID (со сменой soname у libapt) проблема не решается. В качестве альтернативы могу предложить отказаться от идеи подключать все мыслимые репозитории одновременно. там по другому никак - mgaimport не замкнутый репозиторий,
его unmets можно удоволетворить только подключением одновременно
и Сизифа, и autoimports. Это и есть минимальное необходимое число репозиториев :(
меньше некуда.
> В качестве альтернативы могу предложить
> отказаться от идеи подключать все мыслимые репозитории одновременно.
не подходит - не удастся сформировать сборочное окружение из-за unmets :(
со сменой soname у libapt - не так страшно? если заранее,
легче грабли оттестировать и выполоть.
кроме того, в mgaimport всего 1000 пакетов. Это означает, что еще чуть-чуть и простое подключение autoimports к Сизифу будет ронять apt :( (В ответ на комментарий №3) > кроме того, в mgaimport всего 1000 пакетов. > Это означает, что еще чуть-чуть и простое подключение autoimports > к Сизифу будет ронять apt :( так как есть запас, то не обязательно ее выкладывать сразу в Сизиф, главное, чтобы была официальная сборка. Я ее установлю на всех виртуальных машинах, и это позволит мне продолжить работу. А в Сизиф можно и немного позже. Можно попробовать "поменять внутренности" таким образом:
--- a/apt/apt-pkg/pkgcache.h
+++ b/apt/apt-pkg/pkgcache.h
@@ -278,8 +278,8 @@ struct pkgCache::Version
map_ptrloc Size; // These are the .deb size
map_ptrloc InstalledSize;
- unsigned short Hash;
- unsigned short ID;
+ unsigned long Hash;
+ unsigned int ID;
unsigned char Priority;
};
Возможно, после этого закончится еще какой-нибудь ресурс.
Created attachment 5981 [details]
hsh.log.i586
Установил в host систему (autoextra, x86_64) патченный apt, только там на всякий сделал int Hash вместо long Hash. - unsigned short Hash; - unsigned short ID; + unsigned int Hash; + unsigned int ID; 5 минут, полет нормальный. Можно в production ;) а когда будет официальный commit с soname change? ABI ведь таки изменился, например, у меня лоально synaptic стал segfault'иться. (В ответ на комментарий №8) > а когда будет официальный commit с soname change? Плюсую. Очень неудобно зоопарк поддерживать. (In reply to comment #9) > (В ответ на комментарий №8) > > а когда будет официальный commit с soname change? > > Плюсую. Очень неудобно зоопарк поддерживать. Кто будет тестировать (авто?)пересобранные пакеты? (В ответ на комментарий №10) > Кто будет тестировать (авто?)пересобранные пакеты? не совсем понял вопрос. Имеется в виду autoimports? (In reply to comment #11) > (В ответ на комментарий №10) > > Кто будет тестировать (авто?)пересобранные пакеты? > > не совсем понял вопрос. Имеется в виду autoimports? Допустим, сейчас подзадание, в котором apt с увеличенными целочисленными типами в этой структурке и увеличенным soname, соберется. Что дальше? apt с этим патчем у мены уже полгода работает, проблем быть не должно. (In reply to comment #13) > apt с этим патчем у мены уже полгода работает, проблем быть не должно. Этому патчу еще и 5 месяцев не исполнилось, какие там полгода. :) В task #116138 хорошо бы добавить несколько пакетов. добавил, можно перезапускать: 400:dir=/people/viy/packages/python-module-apt.git 400:tag_name=0.5.15cnc6-alt5.1 400:tag_id=b217272cd80d6e3c1a416deac3cc6aed3ae4cdd3 400:tag_author=Igor Vlasenko (ALT Linux Sisyphus) <viy@altlinux.org> 400:userid=viy 500:dir=/people/viy/packages/synaptic.git 500:tag_name=0.58-alt14.1 500:tag_id=cebe93fcd5204c910281c692d335864395edccc0 500:tag_author=Igor Vlasenko (ALT Linux Sisyphus) <viy@altlinux.org> 500:userid=viy 600:dir=/people/viy/packages/aptitude.git 600:tag_name=0.4.5-alt6.1 600:tag_id=fa35846df6d94c4f0a89571496694b51d69bda5e 600:tag_author=Igor Vlasenko (ALT Linux Sisyphus) <viy@altlinux.org> 600:userid=viy 700:dir=/people/viy/packages/apt-indicator.git 700:tag_name=0.2.10-alt1.1 700:tag_id=df81fd0a8a6011251f567ae324aed8544cb1f901 700:tag_author=Igor Vlasenko (ALT Linux Sisyphus) <viy@altlinux.org> 700:userid=viy apt-0.5.15lorg2-alt44 -> sisyphus: * Tue Mar 11 2014 Dmitry V. Levin <ldv@altlinux> 0.5.15lorg2-alt44 - libapt: enlarged integer types in pkgCache::Version (closes: #29514). Спасибо! |