Кто-нибудь знает, как создать deb-пакет Ubuntu 7.1 с виртуозным открытым исходным кодом из исходного кода, который включает isql?
Если я сделаю make install
из источника, virtuoso-t
и isql
установлены в /usr/local/virtuoso-opensource/bin
папка, однако, если я dpkg-buildpackage
из того же источника он устанавливает только /usr/bin/virtuoso-t
но 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
Результаты bin
каталог с virtuoso-t
, isql
, isqlw
, и т.д:
/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
isql
)Однако, если я соберу пакет deb из того же источника, что и выше, и установлю его, я получу только /usr/bin/virtuoso-t
и нет isql
, isqlw
, и т.д.
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
НОТА: Нолан Николс опубликовал dockerfile который создает виртуозный сервер 7.1 с открытым исходным кодом (хотя и не имеет isql
).
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, я смог скомпилировать виртуозно-открытый исходный код 7.2 из исходного кода, используя следующее на чистой серверной системе Ubuntu 14.04:
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
Когда сборка завершится, в /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
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