virtuoso-opensource 7.1:我如何从github源码(包括isql)构buildubuntu deb软件包?

有谁知道如何创build一个virtuoso-opensource 7.1 ubuntu deb包,从源代码,包括isql?

如果我从源代码make installvirtuoso-tisql会安装到/usr/local/virtuoso-opensource/bin文件夹中,但是如果我在同一个源上执行dpkg-buildpackage ,则只安装/usr/bin/virtuoso-t但不包括isql

安装7.1(包含isql)

  apt-get install -y bison libtool flex gperf autoconf gawk make libssl-dev wget unzip wget --no-check-certificate -q https://github.com/openlink/virtuoso-opensource/archive/develop/7.zip -O virtuoso-opensource.zip unzip -q virtuoso-opensource.zip cd virtuoso-opensource ./autogen ./configure make sudo make install 

结果是带有virtuoso-tisqlisqlw等的bin目录:

 /usr/local/virtuoso-opensource/bin/: total 13544 -rw-r--r-- 1 95 Sep 8 12:06 backup.sql -rwxr-xr-x 1 31840 Jun 18 15:39 inifile -rwxr-xr-x 1 518984 Jun 18 15:39 isql -rwxr-xr-x 1 649128 Jun 18 15:39 isqlw -rwxr-xr-x 1 439856 Jun 18 15:39 virt_mail -rwxr-xr-x 1 12214992 Jun 18 15:39 virtuoso-t 

7.1(不包含isql )的打包和安装

但是,如果我从上面的源创build一个deb包并安装它,我只会得到/usr/bin/virtuoso-t而不是isqlisqlw等。

  apt-get install -y bison libtool flex gperf autoconf gawk make libssl-dev wget unzip apt-get install -y build-essential debhelper autotools-dev automake net-tools m4 libreadline-dev openssl wget --no-check-certificate -q https://github.com/openlink/virtuoso-opensource/archive/develop/7.zip -O virtuoso-opensource.zip unzip -q virtuoso-opensource.zip cd virtuoso-opensource dpkg-buildpackage -us -uc -rfakeroot cd .. dpkg -i virtuoso-opensource_7.1_amd64.deb 

注意: Nolan Nichols发布了一个构buildvirtuoso-opensource 7.1服务器的dockerfile (尽pipe它也没有isql )。

6.1服务器包(包括isql

Openlink有关于做我正想做的事情的说明,但是对于一个老版本 ,我还没有弄清楚如何使这些指令适应7.1。

  sudo apt-get update sudo aptitude install dpkg-dev build-essential mkdir C cd C apt-get source virtuoso-opensource cd virtuoso-opensource-6.1.2+dfsg1/ sudo aptitude build-dep virtuoso-opensource dpkg-buildpackage -rfakeroot ls libvirtodbc0_6.1.2+dfsg1-1ubuntu4_amd64.deb libvirtuoso5.5-cil_6.1.2+dfsg1-1ubuntu4_amd64.deb virtuoso-minimal_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-nepomuk_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-opensource-6.0_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-opensource-6.1.2+dfsg1 virtuoso-opensource_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-opensource_6.1.2+dfsg1-1ubuntu4_amd64.changes virtuoso-opensource_6.1.2+dfsg1-1ubuntu4.diff.gz virtuoso-opensource_6.1.2+dfsg1-1ubuntu4.dsc virtuoso-opensource_6.1.2+dfsg1.orig.tar.gz virtuoso-opensource-6.1_6.1.2+dfsg1-1ubuntu4_amd64.deb virtuoso-opensource-6.1-bin_6.1.2+dfsg1-1ubuntu4_amd64.deb virtuoso-opensource-6.1-common_6.1.2+dfsg1-1ubuntu4_amd64.deb virtuoso-server_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vad-bpel_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vad-conductor_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vad-demo_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vad-doc_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vad-isparql_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vad-ods_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vad-cartridges_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vad-sparqldemo_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vad-syncml_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vad-tutorial_6.1.2+dfsg1-1ubuntu4_all.deb virtuoso-vsp-startpage_6.1.2+dfsg1-1ubuntu4_all.deb 

从github源代码构buildvirtuoso-opensource 7.2 DEB包

感谢Jan-Marcek和Stain ,他们都发布在github上,我可以在一个干净的Ubuntu 14.04服务器系统上使用以下源代码编译virtuoso-opensource 7.2:

 apt-get update apt-get install -y openjdk-6-jdk git build-essential automake mkdir -p /tmp/build && cd /tmp/build git clone https://github.com/openlink/virtuoso-opensource.git cd /tmp/build/virtuoso-opensource git checkout v7.2.0.1 deps=$(dpkg-checkbuilddeps 2>&1 | sed 's/.*: //' | sed 's/([^)]*)//g') && apt-get install -y $deps fakeroot debian/rules clean binary 

构build完成后,将在/tmp/build/

 libvirtjdbc0_7.2_amd64.deb virtuoso-vad-bpel_7.2_all.deb libvirtodbc0_7.2_amd64.deb virtuoso-vad-conductor_7.2_all.deb libvirtuoso5.5-cil_7.2_amd64.deb virtuoso-vad-demo_7.2_all.deb virtuoso-minimal_7.2_all.deb virtuoso-vad-doc_7.2_all.deb virtuoso-nepomuk_7.2_all.deb virtuoso-vad-isparql_7.2_all.deb virtuoso-opensource virtuoso-vad-ods_7.2_all.deb virtuoso-opensource_7.2_all.deb virtuoso-vad-rdfmappers_7.2_all.deb virtuoso-opensource-7_7.2_amd64.deb virtuoso-vad-sparqldemo_7.2_all.deb virtuoso-opensource-7-bin_7.2_amd64.deb virtuoso-vad-syncml_7.2_all.deb virtuoso-opensource-7-common_7.2_amd64.deb virtuoso-vad-tutorial_7.2_all.deb virtuoso-server_7.2_all.deb virtuoso-vsp-startpage_7.2_all.deb 

从DEB包安装

 dpkg -i *.deb # might fail because of missing dependencies apt-get -f install -y # fixes dependencies and continues installation 

现在isql在/usr/bin/可用!

用法

 /etc/init.d/virtuoso-opensource-7 {start|stop|force-stop|restart|force-reload|status} /usr/bin/isql-vt <HOST>[:<PORT>] <UID> <PWD> file1 file2 ... 

从回购安装

我还发现, Virtuoso 7.2是OpenDataNode的一部分,可以从他们的回购安装。

 echo "deb http://packages.comsode.eu/debian wheezy main" > /etc/apt/sources.list.d/odn.list wget -O - http://packages.comsode.eu/key/odn.gpg.key | apt-key add - apt-get update apt-get install -y virtuoso-opensource=7.2