[devel] Пересечения пакетов по файлам

DJ-Andrey-sXe djandreysxe на yandex.ru
Чт Янв 19 12:33:57 MSK 2012


On Thu, 19 Jan 2012 04:44:41 +0400, "Dmitry V. Levin" <ldv на altlinux.org> wrote:

> У нас очень много пакетов, которые конфликтуют по файлам,
> но не содержат соответствующих тэгов Conflicts
> ...
> Не знаю, что с этим делать.

Идея написать скрипт:

Последовательно бежим по списку пакетов Сизифа
{
        1. Получили список файлов пакета

        2. запихнули пути в map: files[path] = package_name
        предварительно проверяя, нет ли уже пути в map
        Если путь уже есть
        (то есть путь в другом пакете уже был aka конфликт),
        складываем в массив conflicts набор:
                a) путь
                b) има пакета из files по path
                c) имя пакета, который обходим сейчас
}

По окончанию выплёвываем содержимое массива conflicts.

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

Дальше это дело можно в крон.

А если задуматься дальше, когда тулза станет работать железно
и переживёт штук 10 запусков, размазанных по, скажем, месяцу;
майнтейнеру, чей пакет моложе, можно автоматом мыло слать о конфликте.

-- 
С уважением, DJ-Andrey-sXe
www.dj-andrey.ru | www.tltcomp.ru | www.spcms.ru
Jabber: djandreysxe на ya.ru



Подробная информация о списке рассылки Devel