1)重命名目标源码目录,目录名规则为文件名加大版本号,如下:
2)测试编译代码,清楚残余无用文件
安装libcurl开发包:
apt-get install libcurl4-gnutls-dev
清楚残余文件(bin/obj)
make clean
3)源码打包
2.制作deb包
1)利用dh_make生成debian模板文件
根据deb包类型选择对应的Type,-e 后跟包构建者E-mail.
2)修改控制文件
2.1)增加安装执行文件,如:libniscsdk.install
2.2)小版本更新,修改changelog文件
3)生成deb包:dpkg-buildpackage
root@liul-VirtualBox:~/tt/libniscsdk-1.0# dpkg-buildpackage
dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2
dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): -Wl,-Bsymbolic-functions -Wl,-z,relro
dpkg-buildpackage: 源码包 libniscsdk
dpkg-buildpackage: 源码版本 1.0-1
dpkg-buildpackage: 源码修改者 root <liul.stone@gmail.com>
dpkg-buildpackage: 主机架构 amd64
dpkg-source --before-build libniscsdk-1.0
debian/rules clean
dh clean
dh_testdir
dh_auto_clean
make[1]: 正在进入目录 `/root/tt/libniscsdk-1.0'
Cleaning libSDK_VerifyRegister.so ...
rm -fr libSDK_VerifyRegister.so
make[1]:正在离开目录 `/root/tt/libniscsdk-1.0'
dh_clean
dpkg-source -b libniscsdk-1.0
dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: info: building libniscsdk using existing ./libniscsdk_1.0.orig.tar.gz
dpkg-source: 警告: 忽略对文件 libSDK_VerifyRegister.
GitHub
Ubuntu
下
deb
包的方法详解
AderXCoding/system/tools/
build
_
deb
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可
1 认识
deb
包1.1 认识
deb
包
deb
是Unix系统(其实主要是Linux)下的
安装包
,基于 tar 包,因此本身会记录文件的权限(读/写/可执行)以及所有者/用户组。
5. 增加patch
Debian
系列系统制作或增加patch较为简单,即可以通过diff -Naur等指令制作patch,也可以直接修改
源码
,执行
dpkg
-
build
package
指定patc.
$ apt-get install dh-make
dpkg
-dev
deb
helper fakeroot
build
-essential
Docker中执行dh_make出现如下
错误
:
Cannot get username; neither LOGNAME nor USER is setin the environment!
解决方法:
$ export USER=root
2.制作tar包
$ tar --use-compres
From:http://yysfire.github.io/linux/%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%B6%E4%BD%9C
deb
%E5%8C%85%E7%9A%84%E4%B8%A4%E7%A7%8D%E6%96%B9%E6%B3%95%E4%BB%A5%E5%8F%8A%E4%BF%AE%E6%94%B9%E5%B7%B2%E6%9C%8...
apt-get:
apt-get 命令适用于
deb
包管理式的 Linux 操作系统(
Debian
、
Ubuntu
等),主要用于自动从互联网软件仓库中搜索、下载、
安装
、升级、卸载软件或操作系统。
Ubuntu
软件包查找: https://
package
s.
ubuntu
.com/
1.
安装
软件包
apt-get install
Package
Name // ...
autocon如何生成configure,以及如何最终生成Makefile(直接make即可完成编译)
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/autoconf.html
参考wiki:https://blog.csdn.net/SHRINKSHR/article/details/85835087
制作configure脚本
下面的图表演示了如何生成可在configure中使用的文件:
make[1]: 进入目录“/home/quantum6/tio-software/totem-3.30.0”
dh_auto_
build
-- src/Totem-1.0.gir
cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j4 -v src/Totem-1.0.gir
^Cmake[1]: *** [d...
1、编译机环境:Dell T30 塔式服务器
ubuntu
20.04 稳定版交叉编译2、编译
错误
(1)make[3]: *** [scripts/Makefile.
build
:309:net/ipv4/netfilter/ipt_ECN.o]
错误
1root@T30:/home/george/tx/version# /bin/bash mk.sh
build
uosdesktop 2>&a...