昨天寫過一個使用rpm 打包分發pg 擴展的demo,今天使用deb 進行打包分發,同時使用checkinstall 生成咱們的deb包git
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
git clone https://github.com/rongfengliang/nvl-pg-extension.git
checkinstall
效果github
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.1sql
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 包生成日誌ubuntu
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 **********************************************************************
├── 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 擴展目錄app
find /usr/share/postgresql/10/extension/ -name nvlfunc.control /usr/share/postgresql/10/extension/nvlfunc.control
使用checkinstall 方式打包deb 包仍是很方便的,簡單,省事curl
https://www.ostechnix.com/create-deb-file-source-ubuntu-16-04/ide