一般我们会通过configure,make 编译.但是为了替换版本的方便需要把他编译成deb的包,而且还需要自定义下包名.下面就记录下我的修改过程.

注:前面关于spice server的编译过程掠过

1.下载源码包.

  http://packages.ubuntu.com/yakkety/libspice-server-dev    上边下载spice_0.12.8-1.debian.tar.xz和spice_0.12.8.orig.tar.bz2.

2.解压

  tar xvf  spice_0.12.8-1.debian.tar.xz 和  tar xvf spice_0.12.8.orig.tar.bz2.

  之后将解压之后的debian/ 放入 spice-0.12.8/中.

3.编译

  dpkg-buildpackage -uc -b -j8 (参数自定)

最终在你的spice-0.12.8/的上层目录就会出现libspice-server-dev_0.12.8-1_amd64.deb,libspice-server1-dbg_0.12.8-1_amd64.deb,

libspice-server1_0.12.8-1_amd64.deb这三个deb的可直接安装的包了.

但是如果想使用自己定义的包名的话就要修改 debian/下的内容了,假如我想将生成的包名改为dh-libspice-server*

就需要做如下修改:

1.修改debian/下的

libspice-server-dev.install,libspice-server1.install,libspice-server1.symbols这三个文件的文件名,例如:mv

一般我们会通过configure,make 编译.但是为了替换版本的方便需要把他编译成deb的包,而且还需要自定义下包名.下面就记录下我的修改过程.

1.下载源码包.

  http://packages.ubuntu.com/yakkety/libspice-server-dev    上边下载spice_0.12.8-1.debian.tar.xz和spice_0.12.8.orig.tar.bz2.

2.解压

  tar xvf  spice_0.12.8-1.debian.tar.xz 和  tar xvf spice_0.12.8.orig.tar.bz2.

  之后将解压之后的debian/ 放入 spice-0.12.8/中.

3.编译

  dpkg-buildpackage -uc -b -j8 (参数自定)

最终在你的spice-0.12.8/的上层目录就会出现libspice-server-dev_0.12.8-1_amd64.deb,libspice-server1-dbg_0.12.8-1_amd64.deb,

libspice-server1_0.12.8-1_amd64.deb这三个deb的可直接安装的包了.

但是如果想使用自己定义的包名的话就要修改 debian/下的内容了,假如我想将生成的包名改为dh-libspice-server*

就需要做如下修改:

1.修改debian/下的

libspice-server-dev.install,libspice-server1.install,libspice-server1.symbols这三个文件的文件名,

例如:mv libspice-server1.symbols  dh-libspice-server1.symbols

2.修改debian/下的rules文件

#!/usr/bin/make -f

%:
    dh $@ --parallel --with autoreconf

override_dh_auto_configure:
    dh_auto_configure --  --disable-celt051 --disable-silent-rules \
        --enable-smartcard
# remove Requires.private defs from .pc file -- we're not building static libs
    sed -i '/^Requires\.private:/D' spice-server.pc

override_dh_strip:
    dh_strip -pdh-libspice-server1 --dbg-package=dh-libspice-server1-dbg
    dh_strip -Ndh-libspice-server1

override_dh_installdocs:
    dh_installdocs -pdh-libspice-server1-dbg --link-doc=dh-libspice-server1
    dh_installdocs -Ndh-libspice-server1-dbg
3.修改debian/下的control文件

Source: spice
Section: misc
Priority: optional
Maintainer: Liang Guo <guoliang@debian.org>
Uploaders: Michael Tokarev <mjt@tls.msk.ru>
Build-Depends: debhelper (>= 9), pkg-config,
 dh-autoreconf,
 python, python-six,
 libspice-protocol-dev (>= 0.12.10~),
 libopus-dev (>= 0.9.14),
 libpixman-1-dev (>= 0.17.7~),
 libasound2-dev,
 libssl-dev,
 libsasl2-dev,
 libjpeg-dev,
 python-pyparsing,
 libglib2.0-dev (>= 2.22~),
 libcacard-dev,
Standards-Version: 3.9.8
Homepage: http://spice-space.org/
Vcs-Git: https://anonscm.debian.org/git/collab-maint/spice.git
Vcs-Browser: https://anonscm.debian.org/gitweb/?p=collab-maint/spice.git

Package: dh-libspice-server1
Section: libs
Architecture: i386 amd64
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Breaks: spice-client-gtk (<= 0.12-2), python-spice-client-gtk (<= 0.12-2),
 libspice-client-glib-2.0-1 (<= 0.12-2), libspice-client-gtk-2.0-1 (<= 0.12-2),
 libspice-client-gtk-3.0-1 (<= 0.12-2)
Description: Implements the server side of the SPICE protocol
 The Simple Protocol for Independent Computing Environments (SPICE) is
 a remote display system built for virtual environments which allows
 you to view a computing 'desktop' environment not only on the machine
 where it is running, but from anywhere on the Internet and from a wide
 variety of machine architectures.
 .
 This package contains the run-time libraries for any application that
 wishes to be a SPICE server.

Package: dh-libspice-server1-dbg
Section: debug
Architecture: i386 amd64
Priority: extra
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends:dh-libspice-server1 (= ${binary:Version}), ${misc:Depends}
Description: Debugging symbols for libspice-server1
 The Simple Protocol for Independent Computing Environments (SPICE) is
 a remote display system built for virtual environments which allows
 you to view a computing 'desktop' environment not only on the machine
 where it is running, but from anywhere on the Internet and from a wide
 variety of machine architectures.
 .
 This package contains the debugging symbols for the libspice-server1
 library.

Package: dh-libspice-server-dev
Section: libdevel
Architecture: i386 amd64
Depends: dh-libspice-server1 (= ${binary:Version}), ${misc:Depends}, libspice-protocol-dev (>= 0.12.10~)
Suggests: pkg-config
Description: Header files and development documentation for spice-server
 The Simple Protocol for Independent Computing Environments (SPICE) is
 a remote display system built for virtual environments which allows
 you to view a computing 'desktop' environment not only on the machine
 where it is running, but from anywhere on the Internet and from a wide
 variety of machine architectures.
 .
 This package contains the header files, static libraries and development
 documentation for spice-server.

修改内容不多主要是修改包名.

之后在通过dpkg-buildpackage 命令编译之后就会出现dh-libspice-server-dev_0.12.8-1_amd64.deb,dh-libspice-server1-dbg_0.12.8-1_amd64.deb

dh-libspice-server1_0.12.8-1_amd64.deb.

spice server dpkg-buildpackage 打包编译备忘的更多相关文章

  1. opencv-2.4.11编译备忘

    编译完成后,想测试example中例子,但是由于没有sudo权限,不能运行pkg-config查看opencv的--cflags和--libs. 记录一下,备忘: pkg-config --libs ...

  2. UE4 window打包ios备忘

    1.生成SHH key 2.安装证书 *.cer,*.p12 以下转自:http://wangjie.rocks/2017/11/30/ue4-ios-build-on-windows/ 问题一 12 ...

  3. SQL server数据库备份还原问题备忘(亲测有效)

    问题一:SQL server数据库备份还原方法 http://www.cnblogs.com/zgqys1980/archive/2012/07/04/2576382.html 问题二:无法执行 BA ...

  4. SQL Server 并发死锁解决案例备忘

    SET @sql = ' SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; SET DEADLOCK_PRIORITY 10 BEGIN TRAN DE ...

  5. Bonobo Git Server (Simple git server for Windows.) 测试备忘

    Bonobo Git Server是一款Windows上的Git Server,它使用IIS即可,走的是Http协议,只要简单的安装就能使用,但是因为我的项目大小有1.35GB在 push 的时候一直 ...

  6. SQL Server修改标识列方法(备忘)

    原文:SQL Server修改标识列方法(备忘) SQL Server修改标识列方法 ----允许对系统表进行更新 exec sp_configure 'allow updates',1 reconf ...

  7. Nmap备忘单:从探索到漏洞利用(Part 5)

    这是备忘单的最后一部分,在这里主要讲述漏洞评估和渗透测试. 数据库审计 列出数据库名称 nmap -sV --script=mysql-databases 192.168.195.130 上图并没有显 ...

  8. Nmap备忘单:从探索到漏洞利用(Part 2)

    这是我们的第二期NMAP备忘单(第一期在此).基本上,我们将讨论一些高级NMAP扫描的技术,我们将进行一个中间人攻击(MITM).现在,游戏开始了. TCP SYN扫描 SYN扫描是默认的且最流行的扫 ...

  9. Socket网络通讯开发总结之:Java 与 C进行Socket通讯 + [备忘] Java和C之间的通讯

    Socket网络通讯开发总结之:Java 与 C进行Socket通讯 http://blog.sina.com.cn/s/blog_55934df80100i55l.html (2010-04-08 ...

随机推荐

  1. MyISAM和InnoDB

    MyISAM和InnoDB MyISAM MyISAM使用B+tree作为索引结构,叶节点存放的是数据地址. MyISAM不支持事务和外键. MyISAM是表锁,对数据库写操作时会锁住整个表,效率低. ...

  2. 一则spring容器启动死锁问题(DefaultListableBeanFactory/DefaultSingletonBeanRegistry)

    线上发现一个问题,应用在启动时会卡死,log上并没有什么异常输出,初判应该是死锁问题. 抓现场的thread dump文件, 确实是有两个线程有deadlock问题. 线程一 "HSFBiz ...

  3. 前端构建工具gulpjs的使用介绍及技巧

    gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速 ...

  4. Yii2-多表关联的用法示例

    本篇博客是基于<活动记录(Active Record)>中对于AR表关联用法的介绍. 我会构造一个业务场景,主要是测试我比较存疑的各种表关联写法,而非再次介绍基础用法. 构造场景 订单ar ...

  5. invalidate()和postInvalidate() 的区别及使用

    Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中 ...

  6. Android之TextView的样式类Span的使用详解

           Android中的TextView是个显示文字的的UI类,在现实中的需求中,文字有各式各样的样式,TextView本身没有属性去设置实现,我们可以通过Android提供的 Spannab ...

  7. 延时调用--deferred.js原码分析

    有些时候,我们需要等待上一个操作完成之后,才能进行下一步的操作.比如Ajax实现自动提交表单操作的时候,程序需要等待,一旦有返回结果了,则继续进行一下步操作. 这时deferred.js这个库就产生了 ...

  8. (翻译)Angular.js为什么如此火呢?

    在本文中让我们来逐步发掘angular为什么如此火: Angular.js 是一个MV*(Model-View-Whatever,不管是MVC或者MVVM,统归MDV(model Drive View ...

  9. php文件扩展名判断

    <!DOCTYPE> <html> <head> <meta http-equiv="Content-type" content=&quo ...

  10. AOP的实现机制--转

    原文地址:http://www.iteye.com/topic/1116696 1 AOP各种的实现 AOP就是面向切面编程,我们可以从几个层面来实现AOP. 在编译器修改源代码,在运行期字节码加载前 ...