Andy писал(а):Гость писал(а):если файл отсутствует/удален, то в diff'е будут одни `+' (плюсы) или одни `-' (минусы).
я этого не знал.
в man, или точнее в info чаще заглядывай
не зря ж text/x-patch и text/x-diff - одно и то же. Есть еще бинарные патчи от bsdiff(1), но это удел проприетарщиков.
Andy писал(а):иными словами, применять rcsdiff?
я использую CVS, ибо порты уже в ней и у меня не так много изменений
Andy писал(а):Игнорирует тем, что подставляет свои?
есть такое слово override, вот это он и делает. А теперь попробуй найти порт, кой такое делает? libiconv, gettext, bash, zsh, perl, wesnoth, rocskndiamonds... большинство их не трогает, но добавляет свои.
Andy писал(а):Хорошо, что же тогда использовать?
оставить в покое CFLAGS и поменять `=' на `+=', например как сделано в
ports/133261 (на DEBUG_LEVEL не смотри, это хак). Таким образом если я сделаю
, то порт соберется с символами (с опцией `-g' согласно DEBUG_FLAGS) и
*без* оптимизации (что бывает важно при отладке). DEBUG определен в Mk/bsd.port.mk.
Andy писал(а):Есть сомнения, если порт откомпилирован gcc, где гарантии, что на выходе я получу такой же код в llvm?
если он написан в соответствии со стандартом (c89, c99..), то проблем быть не должно. А так тебе гарантий никто не даст даже при переходе с gcc42 на gcc43.
Вообще надо отдать должно разрабам за то, что они обвесили CPUTYPE костылями. Теперь чтобы использовать -march=core2 на gcc43 надо ставить CPUTYPE?=native (-march=native), ибо
core2 автоматом заменяется либо на
nocona (amd64) или
prescott (i386). Логика в /usr/share/mk/bsd.cpu.mk. Впрочем, судя по строковому сравнению, можно заключить core2 в кавычки - "core2".
Andy писал(а):Тем паче, если я верно понимаю, этот llvm виртуальная машина, транслирующая код в "средний уровень" (свой набор регистров и команд), как результат - just in time compilation.
http://en.wikipedia.org/wiki/Llvm
ты как-то криво википедию читал
LLVM
allows code to be compiled statically, as it is under the traditional GCC system, or left
for late-compiling from the IF to machine code in a just-in-time compiler (JIT) in a
fashion similar to Java.
ну так clang по дефолту так и делает, если не врубать -emit-llvm и не использовать lli. elf-файлы (точнее .o) можно статически линковать с скомпиленными в gcc.
Andy писал(а):В OPTIONS ее я добавил, дабы такая возможность была видна.
ага и убил NOPORTDOCS в пользу WITH_/WITHOUT_NOPORTDOCS.
Andy писал(а):Как я уже говорил, я противник установки порта без документации.
ну так по дефолту NOPORTDOCS не включена и порт ставитс
*с* доками. Еще одна сломанная вещь в Mk/bsd.port.mk
Код: Выделить всё
.if defined(NOPORTDOCS)
PLIST_SUB+= PORTDOCS="@comment "
.else
PLIST_SUB+= PORTDOCS=""
.endif
Код: Выделить всё
# включаем NOPORTDOCS в make config
$ make install PREFIX=/var/tmp/aaa
...
$ make deinstall PREFIX=/var/tmp/aaa
===> Deinstalling for www/free-sa
===> Deinstalling free-sa-1.6.0
pkg_delete: file '/var/tmp/aaa/share/doc/free-sa-1.6.0/COPYING' doesn't exist
pkg_delete: file '/var/tmp/aaa/share/doc/free-sa-1.6.0/INSTALL' doesn't exist
pkg_delete: file '/var/tmp/aaa/share/doc/free-sa-1.6.0/README' doesn't exist
pkg_delete: file '/var/tmp/aaa/share/doc/free-sa-1.6.0/README.DEV' doesn't exist
pkg_delete: file '/var/tmp/aaa/share/doc/free-sa-1.6.0/ChangeLog' doesn't exist
pkg_delete: file '/var/tmp/aaa/share/doc/free-sa-1.6.0/FAQ' doesn't exist
pkg_delete: file '/var/tmp/aaa/share/doc/free-sa-1.6.0/THANKS' doesn't exist
pkg_delete: file '/var/tmp/aaa/share/doc/free-sa-1.6.0' doesn't exist
pkg_delete: unable to completely remove directory '/var/tmp/aaa/share/doc/free-sa-1.6.0'
pkg_delete: couldn't entirely delete package (perhaps the packing list is
incorrectly specified?)
все еще будешь настаивать на WITH_/WITHOUT_NOPORTDOCS?
Andy писал(а):Так Вы говорили о том, что опция отменяет заданное в /etc/make.conf?
опция нет, но благодаря ей NOPORTDOCS превращается в WITH_/WITHOUT_NOPORTDOCS, а сам NOPORTDOCS исчезает, что ломает bsd.port.mk и конфигурацию с NOPORTDOCS=yes в make.conf у людей.
Andy писал(а):Тогда, конечно, ее стоит переименовать.
может ее лучше просто оставить в покое, NOPORTDOCS-то? ;)
Andy писал(а):Гость писал(а):gcc будет доступен из портов
Телепатирую, в bsd он помешал тем, что он gnu. :)
никто не хочет поддерживать gcc42, кой в недалеком будущем уйдет в
EOL, а ближайший апдейт, gcc43, уже под GPLv3. Если исключить плюсы перехода на clang/llvm (оптимизация, более подробные сообщения об ошибках, etc.), то... Впрочем лучше прочесть весь тред
Alternatives to gcc (was Re: gcc 4.3: when will it become standard compiler?)Andy писал(а):Итак, давайте резюмируем фронт работы с целью изменения порта, что бы он удовлетворял
полиси и пожеланиям радиослушателей:
я не использую www/free-sa, меня можно игнорить