Сегодня имел неосторожность обновить порты ports-all.
Установка портов стала невозможной с ошибкой sed illegal option --i.
Проверил bsd.port.mk на предмет REINPLACE_CMD
Вот содержимое.
# Special macro for doing in-place file editing using regexps
.if defined(USE_REINPLACE)
REINPLACE_ARGS?=-i.bak
.if ${OSVERSION} < 460101 || ( ${OSVERSION} >= 500000 && ${OSVERSION} < 500036 )
BUILD_DEPENDS+=${LOCALBASE}/bin/sed_inplace:${PORTSDIR}/textproc/sed_inplace
REINPLACE_CMD?=${LOCALBASE}/bin/sed_inplace ${REINPLACE_ARGS}
.else
REINPLACE_CMD?=${SED} ${REINPLACE_ARGS}
.endif
.endifИ у меня и на ftp://ftp.freebsd.org одинаково
Вызывает сомнения строка REINPLACE_ARGS?=-i.bak
sed не понимает аргумент -i.bak
После изменения строки
REINPLACE_ARGS?=-i.bak
на
REINPLACE_ARGS?=#-i.bak
Все заработало но....
Хотелось бы услышать мнения!!!
>Сегодня имел неосторожность обновить порты ports-all.
>Установка портов стала невозможной с ошибкой sed illegal option --i.
>Проверил bsd.port.mk на предмет REINPLACE_CMD
>Вот содержимое.
># Special macro for doing in-place file editing using regexps
>.if defined(USE_REINPLACE)
>REINPLACE_ARGS?=-i.bak
>.if ${OSVERSION} < 460101 || ( ${OSVERSION} >= 500000 && ${OSVERSION} < 500036 )
>BUILD_DEPENDS+=${LOCALBASE}/bin/sed_inplace:${PORTSDIR}/textproc/sed_inplace
>REINPLACE_CMD?=${LOCALBASE}/bin/sed_inplace ${REINPLACE_ARGS}
>.else
>REINPLACE_CMD?=${SED} ${REINPLACE_ARGS}
>.endif
>.endif
>
>И у меня и на ftp://ftp.freebsd.org одинаково
>Вызывает сомнения строка REINPLACE_ARGS?=-i.bak
>sed не понимает аргумент -i.bak
>После изменения строки
>REINPLACE_ARGS?=-i.bak
>на
>REINPLACE_ARGS?=#-i.bak
>Все заработало но....
>Хотелось бы услышать мнения!!!ну так там же явно видно - идет проверка OS и в зависимости от этого
используется или /usr/bin/sed или из портов sed_inplace
посмотри свою версию OS и если нужно поставь /usr/ports/textproc/sed_inplace, верни настройки взад и попробуй снова
тот же порт скомпилить
>ну так там же явно видно - идет проверка OS и в
>зависимости от этого
>используется или /usr/bin/sed или из портов sed_inplace
>посмотри свою версию OS и если нужно поставь /usr/ports/textproc/sed_inplace, верни настройки взад
>и попробуй снова
>тот же порт скомпилитьВерсия 47000
Значит работает строка:
REINPLACE_CMD?=${SED} ${REINPLACE_ARGS}
Но по умолчанию,тут же видно:
REINPLACE_ARGS?=-i.bak
получаем:
sed -i.bak .......
В ответ sed illegal option --i.
Я выше написал что мне помогло, но хотелось бы знать это ошибка у них или ручки кривые!!!