Size: a a a

2018 December 29

DM

Dmitry Marakasov in freebsd_ru
Не знаю, всю жизнь во всех сообществах отправляли если
а) человек не хочет читать то что ему прямо указали
б) человек не задаёт конкретных вопросов ("у меня ничего не работает")
в) человек начинает качать права ("в линукс 2 кнопки а тут через жопу", "неужели нельзя было сделать нормально")
Во всех случаях виноват только он
источник

DM

Dmitry Marakasov in freebsd_ru
A
Товарищи, можно я встряну с вопросом? Устанавливаю с помощью cmake бинарные файлы:
INSTALL(FILES myfile DESTINATION bin)
Т.к. файл не в TARGETS, то он не стрипается при установке из порта.
Куда копать, чтобы стрипался?
В TARGETS другой бинарник, которые собирался, потом на него делается несколько хардлинков и устанавливаются уже они.
А не надо бинарники устанавливать
источник

A

A in freebsd_ru
Dmitry Marakasov
А не надо бинарники устанавливать
Ок. Тогда как надо делать хардлинки и устанавливать их, чтобы они не отрывались от основного файла, на который ссылаются?
источник

DM

Dmitry Marakasov in freebsd_ru
Оно точно надо? Не все фс поддерживают хардлинки если что
источник

A

A in freebsd_ru
Точно. Я в курсе, что не все. Я для себя поделку делаю, которая только под фрёй, да линуксом работает.
источник

A

A in freebsd_ru
Из порта в post-install не получается их делать ${LN} -f src dst, т.к. почему-то post-install отрабатывает не после установки в ${LOCALBASE}, хотя мне казалось, что должно быть именно так.
источник

A

A in freebsd_ru
А если делать хардлинки до установки файлов, то оригинальный файл стрипается при установке, а все хардлинки не стрипнутые ставятся, да ещё и сами по себе (в смысле уже не хардлинки, а самостоятельные файлы).
источник

DM

Dmitry Marakasov in freebsd_ru
Тогда опять возвращаемся к install(code execute_command ...), только директории правильно указать
источник

DM

Dmitry Marakasov in freebsd_ru
Так а почему нужны хардлинки, почему не command idiom?
источник

A

A in freebsd_ru
Dmitry Marakasov
Так а почему нужны хардлинки, почему не command idiom?
Что такое command idiom?
Хардлинки для колхоза нужны, чувствую уже. Есть утилита, которая одним бинарником получает данные на вход, обрабатывает и складывает в БД. Утилита проверяет под каким именем её вызывают и в зависимости от этого немного меняет логику работы. Я пробовал вызывать её через симлинки, но они в argv[0] потом раскрываются в оригинальное имя файла и невозможно понять кто её вызывал. Решил попробовать хардлинки, т.к. подсмотрел, что так cc / c++ в базе стоят. Если не получится с ними, то буду через скрипт тогда вызывать с выставлением нужной переменной окружения.
источник

DM

Dmitry Marakasov in freebsd_ru
command idiom это как у git, svn и pkg - <бинарник> <команда>
источник

A

A in freebsd_ru
Вот я так и сделал. Есть основная программа - prog, допустим, а я сделал несколько симлинков prog-aaa, prog-bbb, prog-ccc.
источник

A

A in freebsd_ru
Сейчас посмотрю как в pkg это сделано.
источник

A

A in freebsd_ru
Вот странно, в man git полно команд git-*, а у меня стоит только:
% git<tab>
git                git-p4.py          git-receive-pack   git-shell          git-upload-archive git-upload-pack
Соответственно:
% git-mv
git-mv: Command not found.
источник

A

A in freebsd_ru
Это у меня что-то криво или я неправильно понял суть?
источник

A

A in freebsd_ru
Я понял. Надо git mv, а не git-mv. Таким образом, в argv[0] будет git, а в argv[1] будет mv.
источник

DM

Dmitry Marakasov in freebsd_ru
A
Вот я так и сделал. Есть основная программа - prog, допустим, а я сделал несколько симлинков prog-aaa, prog-bbb, prog-ccc.
Зачем prog-aaa? Смотри на argv[1] и выполняй нужный код. А бинарник один
источник

DM

Dmitry Marakasov in freebsd_ru
У гитп правда действительно есть куча git-foo, но это наверное потому что они могут быть на разных языках написаны
источник

A

A in freebsd_ru
Dmitry Marakasov
Зачем prog-aaa? Смотри на argv[1] и выполняй нужный код. А бинарник один
Да, я понял. Странно, что я сразу по такому пути не пошёл.
источник

M

MK in freebsd_ru
Dmitry Marakasov
Спросить - может быть, а читать можно только пока трафик не превысил определенный порог. Потом уже неихочется, ибо простыни обсуждений производительности ipsec мне например вообще не интересны. А разбивки на треды нет, так что отфильтровать не получится. Поэтому im и говно
+1
источник