我的版本是 Ubuntu 14.04
用例
我正在尝试创建自己的打包 nginx,名为“custom-nginx”。它需要自行安装到其他目录中,以免干扰 nginx 的正常运行。“custom-nginx”将监听不同的端口号并提供 API 请求。
我用来准备的一些命令
apt-get install dpkg-dev
wget -O - http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
echo "deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx" | sudo tee -a /etc/apt/sources.list
echo "deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx" | sudo tee -a /etc/apt/sources.list
apt-get update
apt-get source nginx
apt-get build-dep nginx
我们现在有一个nginx-1.9.5
包含编译 nginx 所需的所有内容的目录。
里面nginx-1.9.5
有debian
一个control
文件,打开它,我可以看到在第 9 行哪里可以更改包名称
Package: nginx
到
Package: custom-nginx
我一步一步尝试编译它,不做任何其他更改,但编译在最后失败,因为它抱怨某些目录不存在。这些目录是在文件末尾rules
名为的部分中列出的目录覆盖_dh_auto_install:
dpkg-buildpackage
...
/usr/bin/install -m 644 debian/nginx.conf debian/nginx/etc/nginx/
/usr/bin/install: target ‘debian/nginx/etc/nginx/’ is not a directory: No such file or directory
make[1]: *** [override_dh_auto_install] Error 1
make[1]: Leaving directory `/root/custom-nginx/nginx-1.9.5'
make: *** [binary] Error 2
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
有人能帮我解释一下吗?在这个阶段(不太关注可执行文件的指定路径等),我只想使用自定义名称进行编译。
谢谢