一、打包步骤
前提:
安装工具 apt install dh-make
1 cd /项目目录
2 echo "s" | dh_make --packagename <项目的包名>_<项目的版本> -n #如果你的项目中存在debian目录,则先备份到其他目录,因为当前目录将生成debian目录。
3 现在您可以修改或使用您自己的覆盖debian目录下文件。
4 dpkg-buildpackage #可能出现错误排除错误将在项目上层目录生成.deb文件。
二、构建中出现问题
我正在为我的服务器编译一个deb包。当我去构建时,一切都看起来很好,直到它达到dh_usrlocal构建停止并返回错误。
make[1]: Leaving directory `/usr/local/test_lib/ck-0.5.2'
dh_installdocs
dh_installchangelogs
dh_perl
dh_usrlocal
dh_usrlocal: debian/libck/usr/local/lib/libck.so.0.5.2 is not a directory
dh_usrlocal: debian/libck/usr/local/lib/libck.a is not a directory
dh_usrlocal: debian/libck/usr/local/lib/libck.so is not a directory
dh_usrlocal: debian/libck/usr/local/lib/libck.so.0 is not a directory
dh_usrlocal: debian/libck/usr/local/lib/pkgconfig/ck.pc is not a directory
rmdir: failed to remove 'debian/libck/usr/local/lib/pkgconfig': Directory not empty
dh_usrlocal: rmdir debian/libck/usr/local/lib/pkgconfig returned exit code 1
make: *** [binary] Error 1
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
(一)我的解决方法
你应该跳过运行dhusrlocal。要做到这一点,你只需要添加到debian / rules:override_dh_usrlocal:
通常,如果您对特定目标有问题,您只需在debian / rules中添加override {target}即可覆盖它。
例如,你有一个dh_icons的问题。您只需将其添加到您的debian /规则中即可。想跳过那么留空即可。
override_dh_icons:
{insert your processing commands or do nothing to skip it when building package}
三、验证文件
dpkg -c x.deb
四、安装
(一)安装软件
dpkg -i *.deb