под i586 (но не x86_64) при подключении репозиториев mgaimport и autoimports apt отказывается работать с сообщением E: Wow, you exceeded the number of versions this APT is capable of. попробовал на всякий APT::Cache-Limit 200000000; - не помог.
Число версий превысило предельное значение 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).
Спасибо!