我正在尝试按照本指南创建 Debian 软件包。我的makefile是这样的:
prefix = /usr/local
includedir = $(prefix)/include
install:
cp -r ./Include/* $(DESTDIR)$(includedir)
uninstall:
rm -rf $(DESTDIR)$(includedir)/ftz/Console
Run Code Online (Sandbox Code Playgroud)
我的debian/rules是这个:
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_install:
$(MAKE) DESTDIR=$$(pwd)/debian/libftzconsole prefix=/usr install
Run Code Online (Sandbox Code Playgroud)
我正在运行debuild -us -uc,我的构建日志是这样的:
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: info: source package libftzconsole
dpkg-buildpackage: info: source version 2016.06.03-1
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by FaTony <fatony@fatony.net>
dpkg-source --before-build fTzConsole
dpkg-buildpackage: info: host architecture amd64
fakeroot debian/rules clean
dh clean
dh_testdir
dh_auto_clean
dh_clean
dpkg-source -b fTzConsole
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building libftzconsole using existing ./libftzconsole_2016.06.03.orig.tar.gz
dpkg-source: info: building libftzconsole in libftzconsole_2016.06.03-1.debian.tar.xz
dpkg-source: info: building libftzconsole in libftzconsole_2016.06.03-1.dsc
debian/rules build
dh build
dh_testdir
dh_update_autotools_config
dh_auto_configure
dh_auto_build
make -j1
make[1]: Entering directory '/home/fatony/Stuff/C++/fTzConsole'
cp -r -i ./Include/* /usr/local/include
cp: './Include/ftz/Console' and '/usr/local/include/ftz/Console' are the same file
Makefile:5: recipe for target 'install' failed
make[1]: *** [install] Error 1
make[1]: Leaving directory '/home/fatony/Stuff/C++/fTzConsole'
dh_auto_build: make -j1 returned exit code 2
debian/rules:4: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
Run Code Online (Sandbox Code Playgroud)
它看起来override_dh_auto_install没有运行,它尝试将软件包直接安装到我的系统。cp 错误是因为我对目录进行了符号链接。
我不知道如何解决它。帮助?
小智 3
好的,所以debuild调用dh build哪个调用dh_auto_build哪个调用make -j1哪个选择第一个目标,即install。
当我添加后
all:
Run Code Online (Sandbox Code Playgroud)
之前installmakefile,问题就解决了。
| 归档时间: |
|
| 查看次数: |
2692 次 |
| 最近记录: |