metaclass: (Default)
[personal profile] metaclass
Есть одна вещь, которая меня смущает - это популярность прибивания гвоздями абсолютных путей в разного рода конфигах.
Вот сейчас мигрирую исходники и сборку софта, использующего mono, на убунте. Сборка скачивает, конфигурирует и собирает моно.
Первый раз расположил рабочую копию не совсем верно, переместил в правильное место - и все, xbuild не работает, потому что в нем гвоздями прибито место, откуда запускать моно. С абсолютным путем. Зачем это так?
Лежит оно все рядом, можно тупо использовать относительный путь, используя путь, с которого запущен скрипт, папку с собранным софтом в таком варианте можно переносить куда угодно, ничего не сломается. Но почему-то так не делают, надо переконфигурировать и пересобирать.

Date: 2014-10-07 09:29 am (UTC)
From: [identity profile] vit-r.livejournal.com
В данном случае чем меньше свободы, тем лучше. Фиг знает, куда шаловливые ручки его закинут. А профи поправят в исходном коде.

Date: 2014-10-07 09:40 am (UTC)
From: [identity profile] volodymir-k.livejournal.com
Зачем это так? Потому что если задать относительный, то другие метаклассы будут ныть, что их заставляют "всё складывать в приколоченное гвоздями место рядом, а хотелось бы совсем другого, у нас там лежит". Вам не угодишь.

Потом, если это моно, то значит опенсорц и вы, лично вы, можете запатчить и опубликовать. Людям будет полезно -- внедрят.

Как правило, есть такой подход (попробуйте например Х собрать) -- configure, make, make install
и у configure классическая опция --prefix or --with-dir=/foo которая в точности про это, и есть какой-то дефолт
а вы просто не знаете

Date: 2014-10-07 10:33 am (UTC)
From: [identity profile] justy-tylor.livejournal.com
Для "там лежит" есть симлинки.

Date: 2014-10-07 01:20 pm (UTC)
From: [identity profile] volodymir-k.livejournal.com
за что купил, за то продаю -- так никто не делает
почему, точно не знаю
наверное dlopen() такого не любит как один из резонов

Date: 2014-10-07 02:26 pm (UTC)
From: [identity profile] justy-tylor.livejournal.com
О проблемах с dlopen не слышал.

Вот в виндах (до висты) было ограничение - только junction на директории, но без симлинков на индивидуальные файлы.

Date: 2014-10-07 10:07 am (UTC)
From: [identity profile] berezovsky.livejournal.com
"Program Files" в убунте? Оригинально.

Date: 2014-10-07 10:18 am (UTC)
From: [identity profile] metaclass.livejournal.com
Не, его configure генерит, этот путь.

Date: 2014-10-07 10:35 am (UTC)
From: [identity profile] victorgr.livejournal.com
Convention over configuration — когда всё аккуратненько должно лежать на своих местах, тогда и относительные пути можно применять.

Date: 2014-10-07 12:18 pm (UTC)
From: [identity profile] ext_1684112 (from livejournal.com)
С относительными путями до сих пор есть ад с кавычками, пробелами, слэше в конце и не-ascii символами в именах.

Date: 2014-10-07 12:23 pm (UTC)
From: [identity profile] metaclass.livejournal.com
А с абсолютными же вроде то же самое?

Date: 2014-10-07 12:40 pm (UTC)
From: [identity profile] berezovsky.livejournal.com
да, я с этим в мсбилд затрахался, но с полными то же самое будет

Date: 2014-10-07 01:00 pm (UTC)
From: [identity profile] altmind.livejournal.com
меня удивляет что абсолютные пути попадают в итоговый бинарь. не хочется видеть "d:\проекты того мудака\libговно\win32\operden.lib" в символах.

Date: 2014-10-07 01:18 pm (UTC)
From: [identity profile] sbj-ss.livejournal.com
Кстати, да. Мерзость.

Date: 2014-10-09 07:12 pm (UTC)
From: [identity profile] cottidianus.livejournal.com
С абсолютными путями проблема такая, что абсолютные пути диктуют структуру иерархии директорий. Что блядь примерно как если доктор приедет ко мне на дом укол мне сделать и приймется от меня требовать, чтобы я дверь в подъезде перекрасил из коричневого в в зелёный. Потому, что у него в родном селе дверь дома была зелёная.

Скажем так всё, что не касается проекта скрипты ебать не должно вообще. Это не их собачье дело как у меня обустроена иерархия директорий. У них есть каталог, в каталоге проект. Там пусть диктуют. И то там тоже желательно не размахиваться, чтобы не уничтожать гибкость по глупости.
Edited Date: 2014-10-09 07:13 pm (UTC)

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 7th, 2025 03:23 pm
Powered by Dreamwidth Studios