macOS 上的 Pacman 分支

Pacman fork on macOS

我正在做一个项目,它是一个 pacman 分支。我正在尝试为 macOS 和 Linux 开发这个项目。到目前为止,在 macOS 上编译我的项目是成功的,但是我遇到了一些目录问题。在 Makefile.am 中,应该创建数据库和缓存的目录:.

# create the meme DB, cache, makepkg-template and system hook directories upon install
install-data-local:
    for dir in "$(DESTDIR)$(localstatedir)/lib/meme" "$(DESTDIR)$(localstatedir)/cache/meme/pkg" \
               "$(DESTDIR)$(datarootdir)/makepkg-template" "$(DESTDIR)$(datarootdir)/libalpm/hooks"; do \
    test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done

在 mac 上安装后这些目录丢失了OS,所以我通过 pacman 得到以下错误:

error: failed to initialize alpm library
(could not find or read directory: /usr/local/Cellar/meme/0.0.8.2/var/lib/meme/)

我正在使用 Homebrew 来编译、装瓶和安装包管理器。你可以在 GitHub 上找到我的公式:https://github.com/kenokenobingo/homebrew-memetap.

你知道如何解决这个问题吗?这是 OS 特有的问题吗?

正如在 Freenode 上的 #archlinux-pacman IRC 频道(官方 pacman 开发频道)中所讨论的,pacman 安装了几个空目录,这些目录似乎在手动 make install 上成功创建,但 brew 却没有它。

Brew 可能正在删除这些目录,因为它认为您不需要它们。这也类似于 makepkg 中的一个特性——如果在 makepkg.conf(5) 或 PKGBUILD 中指定了 !emptydirs 选项,空目录将被删除。默认情况下禁用此选项,因为当合法需要这些目录时它可能会导致问题。