eddy_em: (Default)
По сути, если стоит пакет dev-vcs/git, то и сервер у вас уже стоит, остается лишь добавить пользователя, изменить настройки и запустить. В вики все доступно расписано. А вот дальше — косячок: ведь для работы с репами у пользователя git шеллом должен быть /usr/bin/git-shell, а для любых прочих манипуляций (ключи SSH забросить, да просто даже новый репозиторий сделать), нужен баш. Поэтому если у вас нет доступа рута на удаленную машину с git-сервером, просто так вы там ничего не сделаете, придется просить, чтобы вам развернули жирного монстра gitlab.
У меня же доступ есть, поэтому все просто. От рута заходим в /home/git и рисуем там скриптик initrepo:
#!/bin/bash

DIR=${1}.git
mkdir $DIR
cd $DIR
git init --bare
chown -R git.git .
cd ..
echo "$DIR done!"

Теперь на локальной машине во всех репах, которые нужно экспортировать, делаем
git remote set-url --add --push origin ssh://git@server/home/git/user/reponame.git

а на удаленной рутом запускаем скриптик:
./initrepo reponame

Потом на локальной git push и, после всех push-url'ов последним будет наш, который отправит сведения на удаленный сервер в локалке.
Для массовой миграции можно собрать список директорий и скормить его скрипту на удаленном сервере, а у себя локально скриптом добавить везде новый push-url и сделать push.
eddy_em: (Default)
Т.к., похоже, домашнюю сеть у нас в поселке не скоро починят (а, возможно, никогда), а протянуть с работы домой оптоволокно напрямую я не имею возможности, стал искать, как же удаленно заходить на рабочий компьютер. Пусть даже не по ssh, а как в VNC. Только для VNC нужен прямой доступ к компьютеру извне (а так любой дурак по ssh зайдет). Следовательно, нужно нечто, имеющее сторонний сервер (хоть очень не хотелось бы третьим лицам контакты доверять!).
Поставил teamviewer — не работает, зараза (нужно как-то регистрироваться, а в интерфейсе этого пункта нет).
Rdesktop на работе поставить не могу: он требует polkit, а тот — elogind (боюсь систему поломать).

Неужто никаких способов нет, кроме как арендовать сервак и делать ssh-шлюз?
eddy_em: (Default)
Не нашел ни в мануалах, ни в интернете, как же в настройках openrc задать таймаут ожидания зависимости, чтобы в случае, если что-то запустить невозможно, система все же грузилась за вменяемое время. У нас сегодня несколько раз вырубали свет, в итоге сервера легли; включаю компьютер - а т.к. DNS и шлюз выключены, сервис net не запускается → зависимости ждут аж минуту! Потом сервис local ждет незапущенные зависимости (типа proftpd — хоть local'у это не нужно, он должен запускаться последним, и сказать в настройках, что можно не ждать вообще всех, невозможно).

Вот и спрашивается: можно ли в настройках openrc сменить этот таймаут? Ну хотя бы 2 секунды поставить вместо 60!
eddy_em: (Default)
Обновил вчера домашнюю систему. Давно не обновлял: больше 250 пакетов в списке было. А после обновления обнаружил, что в консоли кириллица есть, а в иксовых эмуляторах терминала ее нет! Т.е. эмуляторы считают, что у меня utf8, какую бы кодировку я ни выставлял в настройках!

Вот такие пироги. Запустил emerge -e world, но вряд ли это поможет.

UPD: нарукожопили явно мейнтейнеры генты, т.к. после обновления рабочего компьютера тоже отвалилась кириллица. Надо будет дома им о баге написать.
UPD2: зарепортил баг #787932.
eddy_em: (Default)
Промучился полчаса, пока понял, почему у меня после апдейта (плюс еще и ядро обновил) "поломался" udev (вставляю преобразователь CAN<>USB, а /dev/ttyUSB0 не появляется). Оказывается, ошибка в init-скрипте. Есть функция get_udevd_binary. Вот так она должна выглядеть:
get_udevd_binary() {
	local bins
	bins="/sbin/udevd /lib/systemd/systemd-udevd /usr/lib/systemd/systemd-udevd"
	for f in ${bins}; do
		if [ -x "$f" ]; then
			command="$f"
			break
		fi
	done
	if [ -z "$command" ]; then
		eerror "Unable to find udev executable."
		return 1
	fi
}

а в оригинале break после обнаружения бинарника отсутствует! А какая-то падла занесла мне симлинк /lib/systemd/systemd-udevd -> ../../bin/udevadm!!! Понятное дело, что симлинк неправильный (должно быть /sbin/udevd), поэтому ничего не происходило и демон udevd не запускался! Добавил break и удалил мусор. Все работает.

P.S. А вообще, если бы разработчики пакета udev-init-scripts были бы приличными людьми, то такой проверки бы вообще не было, а просто было бы написано command="/sbin/udev". Потому что приличному человеку даже в голову не может прийти, что кто-то может пользоваться смесью openrc и systemd!
eddy_em: (Default)
Несколько нужных приложений гвоздями прибито к этой некошерной библиотеке. А написана она на псевдо-ЯП, чей компилятор собирается на моем домашнем компьютере в течение 8-12 часов!!! Т.е. фактически сделать полный апдейт системы крайне сложно (разве что утром включить компьютер и поставить обновляться этот компилятор псевдо-ЯП, а уже на следующий день запускать остальное)!..

Неужели нет написанной на вменяемом языке SVG-шной библиотеки, которой можно заменить эту librsvg?

Nouveau

Aug. 14th, 2020 05:49 pm
eddy_em: (Default)
Из-за довольно-таки старой домашней видеокарты иксы уже давным-давно не обновлял. Сегодня попробовал — из-за них вообще система обновляться не хочет. Решил на нуво перейти.
Мучился около часа, пока не нашел, что куда. Заодно поставил ядро 5.8.0-r1.
Из недостатков: нет-нет, да вылезают какие-то артефакты (благо, редко, и быстро исчезают).
Ну и главный недостаток: у основного монитора по умолчанию нет режима 2560x1080. Благо, на SO добрый человек написал, как это решить:
xrandr --newmode "2560x1080"  230.76  2560 2728 3000 3440  1080 1081 1084 1118  -HSync +Vsync
xrandr --addmode HDMI-1 2560x1080

Добавил это в скрипт инициализации иксов.

Жаль, что выходит не очень хорошо с CUDA: если ты хочешь пользоваться ею, то должен "заморозить" свою систему и больше не обновлять (т.к. более свежие проприетарные модули не поддерживают сравнительно старые видеокарты).
eddy_em: (Default)
Пытаюсь обновиться на ноуте. Ругается:
!!! Problem resolving dependencies for sys-auth/polkit
... done!

!!! The ebuild selected to satisfy "polkit" has unmet requirements.
- sys-auth/polkit-0.117::gentoo USE="gtk introspection nls pam (-consolekit) -elogind -examples -jit -kde (-selinux) -systemd -test" ABI_X86="(64)"

  The following REQUIRED_USE flag constraints are unsatisfied:
    exactly-one-of ( consolekit elogind systemd )

Думаю, ну как так возможно-то? Ведь у меня consolekit в юзах для polkit прописан. А вот фигвам:
[?] sys-auth/consolekit
     Доступные версии:      [M]0.4.6^t [M]1.1.0-r1^t [M]1.1.2^t [M]1.2.0^t [M]1.2.1^t [M]**9999*l^t {acl cgroups debug doc evdev pam pm-utils policykit selinux systemd-units test udev KERNEL="linux"}
     Установленные версии:  1.2.1(19:23:34 05.03.2018)(acl pam policykit udev -cgroups -debug -doc -evdev -pm-utils -selinux -test KERNEL="linux")
     Домашняя страница:     https://github.com/ConsoleKit2/ConsoleKit2 https://www.freedesktop.org/wiki/Software/ConsoleKit
     Описание:              Framework for defining and tracking users, login sessions and seats

Захардмаскили consolekit, так что теперь придется некошерный elogind ставить.

Сволочи!
eddy_em: (Default)
Такой, чтобы не тянул гору всяких ненужных зависимостей. А то пробую shotcut или kdenlive поставить — тянут opencv (на кой черт эта жиробасина тормозная для видеоредактора?). Пробую openshot — тянет webkit (это — вообще бред, ведь webkit уже deprecated давно!).
Неужто под генту нет простых видеоредакторов, не требующих установки жирных ненужных библиотек (которые к тому же компиляются по паре суток!)?
От редактора требуется поддержка хотя бы с десятка видеодорожек с возможностью туда-сюда перетаскивать фрагменты и красиво их склеивать, ну и звук добавлять. Опционально - встраивать в видео субтитры. И крайне желательно, чтобы оно не использовало Qt!
А то надоело уже склейки с видеорегистратора делать руками: вырезать нужные моменты ffmpeg'ом по timestamp'ам, а потом ffmpeg'ом же их грубо склеивать (о плавных переходах в этом случае можно забыть).
UPD. Поставил cinerella: даже не запустилась! Зависла на стадии загрузки GUI.
А pitivi требует wxpyhton, который уже больше года не собирается!..
eddy_em: (Default)
Новость давнишняя, но только сейчас обратил внимание: 2020-04-14-elogind-default. В общем, в генту усиленно пропихивают этот чертов elogind, а особый "прикол" в том, что иксы теперь предлагается запускать именно так! Но, вроде как осталась возможность запускать иксы по-старому, от рута.
Правда, у меня все равно обновление иксов заблокировано, т.к. видеокарта слишком старая, и в новых nvidia-drivers не поддерживается (боюсь, в конце-концов это приведет к необходимости таки переходить на nouveau).
Если б этот elogind не давал проблем, я б не волновался, но вот на одноплатниках его пришлось отключать: он сильно срал в логи (а логи - в оперативке, чтобы флешку не гробить!), в итоге буквально за пару суток оперативка кончалась и одноплатник зависал. А на нашем zphot этот elogind не давал возможности включить компьютер (на стадии запуска elogind система тормозилась, ctrl+C помогал, но не будешь же каждый раз включать комп, висящий на трубе телескопа, прицепляя к нему клавиатуру и монитор)! Правда, потом вроде как Тимур эту ситуацию подправил.
Но лично меня устраивает все, как было раньше. И я категорически против всех этих systemd и прочего Г (да, судя по воплям на ЛОРе убунтоводов — основных потребителей systemd, — эта дрянь до сих пор не работает нормально)!
eddy_em: (Default)
Единственной более-менее приличной библиотекой вебсокетов, что я нашел, оказалась вот эта. Для сравнения с libwebsockets, советую заглянуть, какую там предлагают накатать простыню кода просто для того, чтобы "завести" пример-эхо. Здесь же это — четыре десятка строк! Вот:
Код )
Единственный недостаток — отсутствие поддержки SSL, ну да ладно. Буду делать аутентификацию с использованием CGI, а сессионный ключ по вебсокету надо только один раз — при авторизации — передавать. Авось, студенты не взломают.

Библиотеку опакетил и выложил в своем репозитории: тарбол и ебилд.
С чувством выполненного долга пойду домой: обедать и спать. Надо еще полей ночью нащелкать для экстинкции и калькулятора экспозиции.
eddy_em: (Default)
Если генту не обновлять хотя бы раз в две недели, могут быть проблемы с зависимостями и замучишься их решать. Да и обычно не так много за две недели накапывает...
Но последнее время что ни обновление, так полторы сотни пакетов! И среди них всякие жиробасы вроде gcc, llvm, clang и культяпко-библиотек!
Поставил сдуру утром обновление. Погулял. Запускаю firefox — падает, собака! Сел поработать — qtcreator тоже не работает, т.к. часть библиотек обновилась, а сам creator — еще нет!
Честно говоря, столь частые обновления уже бесить начинают! Хочется, чтобы можно было раз в год запускать обновления, и никаких проблем с кривыми зависимостями не возникало бы... Но при этом чтобы система была для человека, а не для роботов (т.е. чтобы там не было pulseaudio, systemd, networkmanager и прочего дерьма).
eddy_em: (Default)
Поневоле пришлось перейти на работе на пятое ядро: после обновления glibc я сдуру обновил nvidia-drivers. Понятно, что этот модуль перестал загружаться. Пересобрать ядро уже нельзя: девятый gcc не собирает четвертое ядро! На ноуте я давно уже перешел на 5.0.5 (кажется) по похожей причине, а wifi у меня там хреновый - в дереве его модуля нет - пришлось практически наугад "патчить" (поэтому на ноуте теперь нельзя крышку закрывать - иначе wifi отваливается и без танцев с бубном не поднять).
Здесь тоже сразу пошли проблемы: в иксах перестала работать USB-клавиатура. Как ни перетыкал ее в разные разъемы - плевать (в консоли же она отлично работала). ОК, взял другую - пашет, собака! Добавил к INPUT_DEVICES keyboard и пересобрал xorg-drivers. Другая проблема - в иксах не открывались терминалы с ошибкой "cannot open pty" (доступ запрещен). ОК, ищем PTY в make menuconfig. И видим, что UNIX98_PTYS=y, а LEGACY_PTYS=n. ХЗ, что за фигню придумали в пятом ведре, но pty-то нужны для виртуальных консолей!!! Сделал LEGACY_PTYS=y. Пересобрал ядро, обновил, перезагрузился — отлично, все работает! (ну, работает до поры, до времени, т.к. не факт, что мне удастся пропатчить модуль fliusb под пятое ядро — я и под четвертое-то с ним день провозился; но очень не хочется FLI'шные ПЗСки переделывать под libusb: хоть это и нужно сделать, но работа там адская).
eddy_em: (Default)
Итак, определившись, что в качестве астрометрической библиотеки я буду использовать SOFA, решил посмотреть, какая же версия у меня установлена (на сайте самая свежая — 20190722, и это было уже довольно давно!). Вах, аж 20170420! Что-то забили на нее.
Ок, исправляем. В свой оверлей добавил более свежую версию (ебилд написан грамотно, так что в принципе, можно вообще просто симлинки делать на старый ебилд, меняя лишь версию в имени).
Теперь все ОК:
eix sofa_C
[I] sci-astronomy/sofa_c
     Доступные версии:      (~)20150209a (~)20160503c (~)20170420 (~)20190722[1] {doc}
     Установленные версии:  20190722[1](11:18:17 22.01.2020)(-doc)
     Домашняя страница:     http://www.iausofa.org/current_C.html
     Описание:              Library for algorithms for models in fundamental astronomy

[1] "eddy_overlay" /home/eddy/myebuilds/myebuilds
eddy_em: (Default)
Захотелось мне valgrind попользовать. А для этого надо glibc собрать с отладочной информацией.
Ок, сделал, как в гентушном учебнике пишут. И тут:

/usr/bin/cmake -E cmake_link_script CMakeFiles/FITSmanip.dir/link.txt --verbose=1
/usr/bin/cc -fPIC  -O2 -Wextra -Wall -Werror -W -fopenmp  -O2 -Wextra -Wall -Werror -W  -shared -Wl,-soname,libFITSmanip.so.0.0.1 -o libFITSmanip.so.0.0.1 CMakeFiles/FITSmanip.dir/FITSmanip.c.o CMakeFiles/FITSmanip.dir/fileops.c.o CMakeFiles/FITSmanip.dir/fits.c.o -lusefull_macros 
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: warning: section `.bss' type changed to PROGBITS
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib64/crti.o(_ranges+0x5f5f7472617473): reloc against `*UND*': error 2
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Nonrepresentable section on output
collect2: ошибка: выполнение ld завершилось с кодом возврата 1

Ну ничего ж себе! Я не ожидал, что это потребует пересборки всего "мира"!!!
В общем, собираю обратно glibc без отладочной информации. Т.к. "мир" на ноутбуке будет пересобираться неделю!!!

Так что, не суждено мне попользоваться отладчиками в разработке. Ну, да ничего: 20 лет ими не пользовался, и сейчас как-нибудь обойдусь...
eddy_em: (Default)
Наделал ебилдов на наиболее часто используемые велосипеды.
Пока — только с локальных файлов. Но надо будет все отарболить и закинуть туда же, оформив нормальный оверлей, который можно будет просто подключать на любом компьютере и иметь там автоматом обновляемые при необходимости велосипеды.
Приличная часть велосипедов осталась пока без ебилдов, но они значительно реже используются и такого головняка нет (особенно радовали "приколы", когда я обновлю компьютер, повешу - вроде все работает, а как доходит до наблюдений, приходится что-нибудь пересобирать вручную, да еще и с кучей зависимостей!).
Кстати, на фоне скупки шапки айбиэмом надеюсь, что redhat linux и все его производное УГ станет особой веткой — как гугол когда-то запилил свой жуткий ондроед. Очень боязно смотреть, как потные ручонки всяких уродов вроде поцтеринга сотоварищи уничтожают линукс!

UPD: посидел, оформил тарболы, запихал их на гитхаб. Поправил все ебилды. Работает!
eddy_em: (Default)
Со скуки написал-таки свой первый ебилд — для моей смотрелки фитсов (по-хорошему, ее надо довести до логического конца, но это потребует полного рефакторинга, чтобы с GTK на чистый OpenGL перейти + кучу ошибок исправить).
ebuild )
eddy_em: (Default)
Ядро на ноутбуке пересобрал. В дефолтную строку запуска ядра, как пишут на форумах, добавил
radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1

Система загрузилась, а вот иксы стартовать отказались.
То, что нет wifi и звука, пока не беда — попытаюсь с этим разобраться. Но вот с иксами, конечно, досадно...
eddy_em: (Default)
Что-то я каждый раз с новой железякой начинаю рыться в интернете, что там да как.
Краткий алгоритм )
eddy_em: (Default)
Сижу на unstable, т.е. у меня ACCEPT_KEYWORDS="~amd64". Сегодня после длительного перерыва открыл kicad и обнаружил, что версия 4.0.5 совершенно неюзабельная (невозможно работать с печатными платами)! Хочу для kicad сделать keywords только amd64. Редактирование package.keywords ничего не дало, т.к. плевать portage хотел на мои указания, когда глобально unstable стоит!!!
Решил проблему указанием >sci-electronics/kicad-4.0.4 в package.mask. Но это не выход, т.к. вручную очень не хочется потом править это, когда версия стабильной станет.
Есть ли вариант автоматом запретить нестабильные версии кикада ставить?

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 10th, 2026 03:14 pm
Powered by Dreamwidth Studios