Создаем порт для FreeBSD своими руками. Часть II   ::   Ачилов Рашид

Страница: 10 из 18

 



Mountsmb2



Набор скриптов mountsmb2 (там их три) был написан мной достаточно давно и преследовал тольк одну цель – автоматически монтировать SMB/CIFS-сетевые ресурсы от других Samba-серверов и компьютеров под управлением Windows. Поскольку это скрипт, написанный на языке командной оболочки sh, то никакой сборки порта не требуется и именно поэтому этот порт будет рассмотрен в качестве примера.

PORTNAME= mountsmb2

PORTVERSION= 0.90.1

CATEGORIES= sysutils net

MASTER_SITES= ftp://ftp.granch.ru/pub/other/

MAINTAINER= [email protected]

COMMENT= SMB/CIFS shares mounting scripts to do it at login

RUN_DEPENDS= findsmb:${PORTSDIR}/net/samba3 \

sudo:${PORTSDIR}/security/sudo \

gawk:${PORTSDIR}/lang/gawk

USE_BZIP2= yes

NO_BUILD= yes

.include

do-install:

.for i in smb2awk smb2nsmbrc mountsmb2

${INSTALL_SCRIPT} ${WRKSRC}/${i} ${PREFIX}/bin

.endfor

-@${MKDIR } ${EXAMPLESDIR}

.for i in sudoers .login .nsmbrc .mssmbrc

${INSTALL_DATA} ${WRKSRC}/${i} ${EXAMPLESDIR}

.endfor

-@${MKDIR } ${DOCSDIR}

${INSTALL_DATA} ${WRKSRC}/README.FreeBSD

${DOCSDIR}

@${SED} -e "s,%%EXAMPLESDIR%%,${EXAMPLESDIR},g" -i .old ${PKGMESSAGE}

@${CAT} ${PKGMESSAGE}

@${RM} -f ${PKGMESSAGE}

@${MV} ${PKGMESSAGE}.old ${PKGMESSAGE}

.include

В RUN_DEPENDS перечисляются все порты, от которых зависит данный скрипт, а именно GNU AWK, sudo и Samba, из которой на самом деле нужна только программа findsmb. «USE_BZIP2=yes» указывает на то, что дистрибутив упакован программой bzip2. «NO_BUILD=yes» указывает на то, что программа не требует сборки. Если этого не указать, то система будет пытаться выполнить команду make в каталоге порта, не найдет Makefile и аварийно завершится.

Инсталляцией порт управляет самостоятельно – в Makefile присутствует заменяющая подмишень do-install. Здесь хорошо видно, как можно организовать цикл, который установит несколько файлов, перечисленных в списке, в указанное место.

|< Пред. 8 9 10 11 12 След. >|

Java книги

Контакты: [email protected]