这是我第二次创建deb文件的尝试 - 第一次是我使用FPM的C项目 - 这完美地工作,虽然是一个不可接受的包 - 它的工作原理。然而,这个是一个Python项目(GNS3),我更愿意这样做,因为如果我要这样做 - 它也可能是正确的。话虽如此,我现在已经找到了一个有效的.deb文件。
问题:我一直在修改GNS3作为一个项目,我需要做的最后一步是将它重新打包成.deb文件。我知道它可以完成,因为它在Ubuntu回购中,但是我的研究让我得知有人在Debian打电话给Erik Wenzel构建了deb并且他已经不再可用 - 而且GNS3的开发人员显然关注Windows并且没有当前的知识来打包它(“据称” - 我最近问过他们但还没有收到回复 - 如果我这样做,我会在这个问题上添加他们提供的任何信息。)
我尝试了各种不同的方法来获得debian软件包,但我尝试的最后一个方法似乎是最有希望的。我用过(来自:https://pypi.python.org/pypi/stdeb):
python setup.py --command-packages=stdeb.command bdist_deb
给了我tarball,然后尝试了:
dpkg-buildpackage -rfakeroot -uc -us
哪个不起作用。它输出失败(从末尾剪断):
...
dh_python2 -O--buildsystem=python_distutils
dh_usrlocal -O--buildsystem=python_distutils
dh_usrlocal: debian/python-gns3/usr/local/share/examples/gns3/baseconfig.txt is not a directory
dh_usrlocal: debian/python-gns3/usr/local/share/examples/gns3/baseconfig_sw.txt is not a directory
rmdir: failed to remove `debian/python-gns3/usr/local/share/examples/gns3': Directory not empty
dh_usrlocal: rmdir debian/python-gns3/usr/local/share/examples/gns3 returned exit code 1
make: *** [binary] Error 25
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
错误是正确的(?!) - 这两个文件不是目录 - 它们是文本文件 - 并且它们似乎没有任何不寻常的特征:
drwxr-xr-x 2 steved swdept 4096 Feb 27 16:57 ./
drwxr-xr-x 3 steved swdept 4096 Feb 27 16:57 ../
-rw-r--r-- 1 steved swdept 3146 Feb 26 15:00 baseconfig_sw.txt
-rw-r--r-- 1 steved swdept 257 Feb 26 15:00 baseconfig.txt
似乎STDEB正确地发挥了作用 - 但我不能肯定地说。它可能正在做一些导致dpkg-buildpackage失败的事情。我希望有人会看到这个并且去,“当然那不起作用 - 你需要做x和y,然后才能构建”。或者至少是“试试这个和这个”。
如果我能做到这一点,那么我也能够将这些知识贡献给GNS3项目,这将是很棒的。
任何帮助表示感谢。
干杯
史蒂夫
答案 0 :(得分:1)
将它放在你的debian / rules文件override_dh_usrlocal:
中,这将阻止dh_usrlocal运行,我认为这实际上会导致你的问题。我遇到了类似的情况,这帮助了我。
答案 1 :(得分:0)
请勿在{{1}}中安装任何内容。如果你想打包一个已经有官方软件包的新版本的软件,不要试图从头开始制作一个软件包,而是修改现有软件。