已经写过一个deb 包打包的方法,我们同时也可以使用dpkg-deb 命令

安装依赖工具包

  • 推荐安装全点的
sudo apt-get install build-essential autoconf automake \
autotools-dev dh-make debhelper devscripts fakeroot \
xutils lintian pbuilder

项目结构

可以参考github项目https://github.com/rongfengliang/nvl-pg-extension

  • 项目代码结构
├── DEBIAN
│ └── control
├── Makefile
├── README.md
├── nvlfunc--1.0.sql
├── nvlfunc.control
└── usr
└── share
└── postgresql
└── 10
└── extension
├── nvlfunc--1.0.sql
└── nvlfunc.control
  • 说明
    DEBIAN/control 以及usr/ 目录内容是核心

打包说明

  • control 文件
Package: nvl-pg-extension
Version: 0.2
Maintainer: dalongrong
Architecture: all
Description: nvl-pg-extension
  • deb 包内容
    手工创建 usr/share/postgresql/10/extension 目录并添加deb包需要的文件,实际上需要的就是nvlfunc--1.0.sql nvlfunc.control

  • 打包

dpkg-deb --build nvl-pg-extension/

效果

dpkg -i nvl-pg-extension.deb
(Reading database ... 115428 files and directories currently installed.)
Preparing to unpack nvl-pg-extension.deb ...
Unpacking nvl-pg-extension (0.2) over (0.2) ...
Setting up nvl-pg-extension (0.2) ...
Processing triggers for postgresql-common (199.pgdg18.04+1) ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:

效果

dpkg-deb --build nvl-pg-extension/
dpkg-deb: building package 'nvl-pg-extension' in 'nvl-pg-extension.deb'.
  • 安装包
dpkg -i nvl-pg-extension.deb

说明

此种方法比较简单,实际上control 文件可以做好多事情,比如make build。。。,可以参考下面的连接

参考资料

https://coderwall.com/p/urkybq/how-to-create-debian-package-from-source
https://github.com/rongfengliang/nvl-pg-extension
http://www.king-foo.com/2011/11/creating-debianubuntu-deb-packages/
https://www.debian.org/doc/debian-policy/ch-controlfields.html

 
 
 
 

使用deb 打包开发的postgres extension 另外一种方法的更多相关文章

  1. 使用deb 打包开发的postgres extension

    昨天写过一个使用rpm 打包分发pg 扩展的demo,今天使用deb 进行打包分发,同时使用checkinstall 生成我们的deb包 安装deb 依赖 sudo apt-get install c ...

  2. 使用rpm 打包开发的postgres extension

      环境准备 安装依赖包 rpmdevtools rpm-build yum install -y rpm-build rpmdevtools 初始化rpm pacakge 项目 主要是rpm 打包的 ...

  3. IOS开发中数据持久化的几种方法--NSUserDefaults

    IOS开发中数据持久化的几种方法--NSUserDefaults IOS 开发中,经常会遇到需要把一些数据保存在本地的情况,那么这个时候我们有以下几种可以选择的方案: 一.使用NSUserDefaul ...

  4. iOS开发之动画编程的几种方法

    iOS开发之动画编程的几种方法 IOS中的动画总结来说有五种:UIView<block>,CAAnimation<CABasicAnimation,CATransition,CAKe ...

  5. (OPC Client .NET 开发类库)网上很多网友都有提过,.NET开发OPC Client不外乎下面三种方法

    1. 背景 OPC Data Access 规范是基于COM/DCOM定义的,因此大多数的OPC DA Server和client都是基于C++开发的,因为C++对COM/DCOM有最好的支持.现在, ...

  6. 树莓派.Qt.打包开发好的程序并运行的方法

    Qt开发的软件, 想要部署在树莓派上运行, 需要进行打包和发布 主要步骤如下: 1. 找1个树莓派用于开发与打包, 所以需要在它上面安装Qt开发环境 树莓派上安装Qt的方法, 可以看这里>> ...

  7. iOS开发进阶-实现多线程的3种方法

    相关文章链接: 1.多线程简介 2.实现多线程的3种方法 ......待续 前言 在多线程简介中,我已经说明过了,为了提高界面的流畅度以及用户体验.我们务必要把耗时的操作放到别的线程中去执行,千万不要 ...

  8. Hive开发中使用变量的两种方法

    在使用hive开发数据分析代码时,经常会遇到需要改变运行参数的情况,比如select语句中对日期字段值的设定,可能不同时间想要看不同日期的数据,这就需要能动态改变日期的值.如果开发量较大.参数多的话, ...

  9. (转载)Eclipse将引用了第三方jar包的Java项目打包成可执行jar的两种方法

    转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 "MA ...

随机推荐

  1. jquery 获取当前点击的是谁

    //今天早上有人问这个问题 想着没写过jquery的笔记 //那就随便写一下吧 下面两个方法 根据不同情况而定用哪种方法$(".class").click(function(){ ...

  2. 理解SSL、HTTPS原理中的对称加密与非对称加密

    1.对称性加密 双方使用的同一个密钥,既可以加密又可以解密,这种加密方法称为对称加密,也称为单密钥加密. 简单来说就是:加密与解密都是同一个秘钥.   优点:通常在消息发送方需要加密大量数据时使用,算 ...

  3. pytest文档14-函数传参和firture传参数request

    前言 为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数. 比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登陆函数就行. ...

  4. JS封装addClass、removeClass

    addClass封装:1.先把原有的类名和需要添加的类名用“”切割.拼接. 2.查重,把所有类名遍历,重复的去掉. 3.“”拼接. function addClass(ele , cName) { v ...

  5. 两道面试题,带你解析Java类加载机制

    文章首发于[博客园-陈树义],点击跳转到原文<两道面试题,带你解析Java类加载机制> 在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: class Gr ...

  6. xftp免费版使用

    转自https://www.jb51.net/softs/621774.html

  7. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.3 Displaying Classes in a Layer

    MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.3 Displaying Classes in a Layer 一.前言 关于第一节的 ...

  8. HTML DOM 属性

    innerHTML 属性 获取元素内容的最简单方法是使用 innerHTML 属性. innerHTML 属性对于获取或替换 HTML 元素的内容很有用. 实例 下面的代码获取 id="in ...

  9. python 多个脚本

    1.增删改查haproxy.conf配置文件 1.查询输入:www.oldboy1.com 2.删除输入:{'backend': 'www.oldboy2.org','record':{'server ...

  10. HDFS二.HDFS实现分布式文件存储---体系结构

    单击模式(Standalone): 单机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置.在这种默认模式下所有3个XML文件均为 ...