使用deb 打包开发的postgres extension
昨天写过一个使用rpm 打包分发pg 扩展的demo,今天使用deb 进行打包分发,同时使用checkinstall 生成我们的deb包
安装deb 依赖
sudo apt-get install checkinstall build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev libevent-dev
clone pg 扩展代码
git clone https://github.com/rongfengliang/nvl-pg-extension.git
使用checkinstall 生成deb 包
- 命令
checkinstall
效果
checkinstall
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: y
Preparing package documentation...OK
Please write a description for the package.
End your description with an empty line or EOF.
>> this is a oracel like nvl function for pg
修改Version 的名称,使用数字开头,这个是约定,按照以下提示输入3操作即可,比如0.1
This package will be built according to these values:
0 - Maintainer: [ root@iZ2zec9crwxl1n9hb7hxgpZ ]
1 - Summary: [ demo ]
2 - Name: [ nvl-pg ]
3 - Version: [ extension ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ nvl-pg-extension ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ nvl-pg ]
12 - Conflicts: [ ]
13 - Replaces: [ ]
deb 包生成日志
nter a number to change any of them or press ENTER to continue:
Installing with make install...
========================= Installation results ===========================
/bin/mkdir -p '/usr/share/postgresql/10/extension'
/bin/mkdir -p '/usr/share/postgresql/10/extension'
/usr/bin/install -c -m 644 .//nvlfunc.control '/usr/share/postgresql/10/extension/'
/usr/bin/install -c -m 644 .//nvlfunc--1.0.sql '/usr/share/postgresql/10/extension/'
======================== Installation successful ==========================
Copying documentation directory...
./
./README.md
Copying files to the temporary directory...OK
Stripping ELF binaries and libraries...OK
Compressing man pages...OK
Building file list...OK
Building Debian package...OK
Installing Debian package...OK
Erasing temporary files...OK
Writing backup package...OK
OK
Deleting temp dir...OK
**********************************************************************
Done. The new package has been installed and saved to
/opt/deb-app/nvl-pg-extension/nvl-pg_0.1-1_amd64.deb
You can remove it from your system anytime using:
dpkg -r nvl-pg
**********************************************************************
- 说明
需要删除copy的文件,这点不如rpm 好(rpm 有一个buildroot 的目录),checkinstall 直接就安装了 - 生成的文件
├── Makefile
├── README.md
├── backup-040420191431-pre-nvl-pg.tgz
├── description-pak
├── doc-pak
│ └── README.md
├── nvl-pg_0.1-1_amd64.deb
├── nvlfunc--1.0.sql
└── nvlfunc.control
安装
- 安装
dpkg -i nvl-pg_0.1-1_amd64.deb
- 效果
(Reading database ... 115363 files and directories currently installed.)
Preparing to unpack nvl-pg_0.1-1_amd64.deb ...
Unpacking nvl-pg (0.1-1) over (0.1-1) ...
Setting up nvl-pg (0.1-1) ...
Processing triggers for postgresql-common (199.pgdg18.04+1) ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:
pg 扩展目录
find /usr/share/postgresql/10/extension/ -name nvlfunc.control
/usr/share/postgresql/10/extension/nvlfunc.control
说明
使用checkinstall 方式打包deb 包还是很方便的,简单,省事
参考资料
https://www.ostechnix.com/create-deb-file-source-ubuntu-16-04/
使用deb 打包开发的postgres extension的更多相关文章
- 使用deb 打包开发的postgres extension 另外一种方法
已经写过一个deb 包打包的方法,我们同时也可以使用dpkg-deb 命令 安装依赖工具包 推荐安装全点的 sudo apt-get install build-essential autoconf ...
- 使用rpm 打包开发的postgres extension
环境准备 安装依赖包 rpmdevtools rpm-build yum install -y rpm-build rpmdevtools 初始化rpm pacakge 项目 主要是rpm 打包的 ...
- linux软件deb打包及开机管理员自启动
环境:Ubuntu 18.04/16.04 Qt:5.12.6 一 deb打包 1.建立目录结构 2.目录内容 1) 子目录DC520: Get以上内容步骤: (1) 创建目录DC520(自己软 ...
- Swift开发第二篇——extension及fatalError
本篇分两部分: 一.extension在 Swift 中的使用 二.Swift 中的 fatalError 一.extension在 Swift 中的使用 在 swift 中我们可以通过 extens ...
- ubuntu deb pacakge 开发
安装构建工具 apt-get install pbuilder 推荐安装 sudo apt-get install build-essential autoconf automake \ autoto ...
- 树莓派.Qt.打包开发好的程序并运行的方法
Qt开发的软件, 想要部署在树莓派上运行, 需要进行打包和发布 主要步骤如下: 1. 找1个树莓派用于开发与打包, 所以需要在它上面安装Qt开发环境 树莓派上安装Qt的方法, 可以看这里>> ...
- SAP成都研究院安德鲁:自己动手开发一个Chrome Extension
各位好,我叫何金鑫(He Andrew), 团队同事亲切地称呼在下为安德鲁.如果你在附近找到wifi热点名为 「安德鲁森面包房5g」,可能是我就在附近,我们可以去喝杯咖啡,聊聊最近有趣的东西. 鄙人现 ...
- [nghttp2]压测工具,源码编译并进行deb打包过程
编译环境:deepin 15.11桌面版 nghttp2下载地址:https://github.com/nghttp2/nghttp2 环境要求 emm只能在类Linux环境才能完整编译,想在Wind ...
- VUE 如何分环境打包(开发/测试/生产)配置
前言 之前小玲一直处于更新,迭代项目的状态,开发环境.测试环境.生产环境都是前辈配置好的,自己几乎没有配置过,这次做几个新项目时,面临着上线,需要分环境打包配置,于是在网上遨游了一会会,摸索着按照网上 ...
随机推荐
- yii2解决资源插件路径不对应问题
//本人ubuntu系统 composer self-update //升级到最新 //官网找到最新下面的这行执行. composer global require "fxp/compose ...
- 《剑指offer》总结二 之二叉树
目录 17.树的子结构(27ms,5836k) 18.二叉树的镜像(38ms) 22.从上往下打印二叉树(50ms,5832k) 24.二叉树中和为某一值的路径(26ms,5728k) 38.二叉树的 ...
- python学习(六)
- Hyperledger fabric-sdk-java Basics Tutorial(转)
原文地址:Hyperledger fabric-sdk-java Basics Tutorial This quick tutorial is for all Java developers, who ...
- 新一代的json--fetch
fetch( "http://jsontest.bceapp.com/hi", { method:"POST", mode:"core", ...
- Python *Mix_w5
1. 字典dict dict 用{}来表示 ,键值对数据{key:value} key具有唯一性 键:都必须是可哈希的,除了列表,不可变的数据类型都可以当做字典中的键 值 没有任何限制 2. 字 ...
- SSH Struts2+hiberante+Spring整合
使用SSH框架编写学生信息: 一.新建Java工程: (1)建立好Java各层级之间的结构:业务处理层dao,数据模型层domain,页面请求处理层(Struts2 MVC层)action,servi ...
- 在数据库中sql查询很快,但在程序中查询较慢的解决方法
在写java的时候,有一个方法查询速度比其他方法慢很多,但在数据库查询很快,原来是因为程序中使用参数化查询时参数类型错误的原因 select * from TransactionNo, fmis_Ac ...
- [Codeforces613E]Puzzle Lover
Problem 给你2*n的格子,每个格子有一个字母,从任意一点出发,不重复的经过上下左右,生成要求的字符串.问有几种不同的走法. Solution 分三段,左U型.中间.右U型. 分别枚举左边和右边 ...
- squid代理
概念 高性能dialing服务软件,作为前置缓存服务,用于替代用户向网站服务器请求页面数据并进行缓存. 默认占用端口3128.3401.4827 分类 从作用分类 ...