7.2. Пустые каталоги
Пред. | Глава 7. Продвинутые практики `pkg-plist` | След.

## 7.2. Пустые каталоги

### 7.2.1. Очистка пустых каталогов

Заставьте ваш порты удалять пустые каталоги при удалении. Обычно это достигается добавлением строк `@dirrm` для всех каталогов, которые создаются этим портом. Вам нужно удалить подкаталоги до того, как вы сможете удалить родительские каталоги.

: lib/X11/oneko/pixmaps/cat.xpm lib/X11/oneko/sounds/cat.au : @dirrm lib/X11/oneko/pixmaps @dirrm lib/X11/oneko/sounds @dirrm lib/X11/oneko

Однако, иногда `@dirrm` будет выдавать ошибки, потому что другие порты используют тот же самый подкаталог. Вы можете использовать `@dirrmtry` для удаления только пустых каталогов без выдачи предупреждений.

@dirrmtry share/doc/gimp

Эта команда не выведет никаких сообщений об ошибках и не вызовет аварийного завершения работы pkg_delete(1), даже если каталог ``${PREFIX}`/share/doc/gimp` не пуст из-за того, что другие порты установили сюда какие-то файлы.

### 7.2.2. Создание пустых каталогов

Пустым каталогам, создаваемым во время установки порта, нужно особое внимание. Они не будут созданы при установке пакета, потому что пакеты содержат только файлы, а pkg_add(1) создает для них каталоги по мере надобности. Чтобы убедиться, что пустой каталог создается при установке пакета, добавьте эту строку в `pkg-plist` перед соответствующей строкой `@dirrm`:

@exec mkdir -p %D/share/foo/templates

Пред. | Наверх | След.
Глава 7. Продвинутые практики `pkg-plist` | Начало | 7.3. Конфигурационные файлы

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.