Так что нормальному юзеру стоит дождаться, пока всё это будет проверено и принято. Ну а я решил записать опыт своего бега в мешке боком на тот случай, если в будущем понадобится - а то забуду же. Может и ещё кому пригодится. На seafile свет клином не сошёлся, а именно так апдейтится ещё куча софта.
Сначала надо найти патчи. В случае seafile их расположение мне дал майнтайнер
seafile - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203933
ccnet https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208979
libsearpc - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205669
seahub - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203929
seafile-gui - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203934
py-seafdav - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205122
py-seafobj - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205123
Причём на вчера и на сегодня патчи разные - уже изменилось.
Потом создаём где-то папку для патчей
mkdir /patch
Идём по каждой из ссылок и ищем ссылку на diff файл

В данном случе ссылка https://bugs.freebsd.org/bugzilla/attachment.cgi?id=169608 а дата обновления - 23 апреля 19:49 UTC. Как раз тот случай, когда стоит подождать следующих патчей и не бежать впереди паровоза. :)
Ну а мы идём в нашу папку для патчей
cd /patch
и грузим туда все требуемые патчи по одному, например
fetch --no-verify-peer "https://bugs.freebsd.org/bugzilla/attachment.cgi?id=169608" -o "seafile.diff"
Дальше патчи нужно перенести в дерево портов, а оно для это должно быть создано
portsnap fetch extract
а, если создано не только что - то приведено в актуальное состояние. Даже вчерашнее дерево - старое. (оказалось)
portsnap fetch upgrade
Для перенесения патчей есть простой способ
patch -i "/patch/seafile.diff" -d "/usr/ports"
А есть продвинутый - специальной утилитой portest
pkg install portest
и из папки, где лежат патчи
portest -p *.diff
Если ругается - что-то не так.
Можно откатиться
portest -r
Но я предпочитаю играть с отдельным датасетом на jail. Перед значительными именениями - создавть снапшот (можно гуем). А когда что-то идёт не так - откатывать через zfs rollback
Ну так мы все патчи в дерево перенесли - можно (помолясь) пытаться собирать порты.
cd /usr/ports/www/seahub
make config-recursive
make install clean
Для seafile я сначала собирал ccnet, потом, когда собралось, наконец, seafile и наконец - seahub. В принципе, сборка seahub включает в себя и два предыдущих шага.
Comments
Дико извиняюсь!!
Приятно что парни развиваются, и сохраняют преимущества! Ждем?
Майнтайнер писал мне Well, eventually (hopefully soon!) these will be committed and once that happens all the following patches will be committed much quicker and you won't need to do this. The problem right now is it is so far behind and outdated that it required a huge amount of changes. Because of all these changes, a committer has to review everything changed and make certain it is correctly done.
Кстати, ну очередное облачное хранилище, не будет ли оно потом вызывать приступы острой паранойи ?
С большой надеждой жду окончания ваших экспериментов и стабилизации seafile в состоянии возможном для употребления. )