--- gnuift-0.1.14.orig/debian/Client.php
+++ gnuift-0.1.14/debian/Client.php
@@ -0,0 +1,939 @@
+
+
+
+
+/********PHP CODE START HERE*******/
+// PHP MRML Client to the GIFT system written by Nicolas Chabloz
+// Copyright (C) 2002 CUI, University of Geneva
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+// 02111-1307 USA
+//***************VARIABLES****************
+
+$tmp=explode('/',$phpurl);
+$phpname=$tmp[count($tmp)-1];
+$phppath=substr($phpurl,0,strlen($phpurl)-strlen($phpname));
+
+// Do you want to allow image upload? ("yes" or "no")
+$allowUpload="no";
+
+//Images Sizes
+$ImgHeight=120;
+$ImgWidth=120;
+//Nb Return Images
+$NbReturnImages="10,20,50,100,140";
+//xml version
+$xml='';
+//mrml dtd path
+$mrmldtd='';
+//path for image upload:
+$ImagePath="image/";
+//images extension:
+$ImagesExtension="gif,jpeg,jpg,tiff,tif,png,pict,pcx,bmp,pgm,ppm";
+//***************VARIABLES****************
+//global variable
+$Depth=0;
+$Collection=array();
+$NbCollection=-1;
+$Algorithm=array();
+$NbAlgorithm=-1;
+$Property=array();
+$NbProperty=-1;
+$NbPropertyAlgo=array();
+$Parent=array();
+
+
+//Javascript functions
+//to submit the form in case of algorithm change
+
+ echo "
+
+ ";
+
+
+
+//***********SOCKET FUNCTIONS************
+//Open a socket
+function connection($server,$port) {
+ $socket = fsockopen ($server,$port, &$errno, &$errstr, 30);
+ if (!$socket) {die("$errstr ($errno) \n");}
+ return $socket;
+}
+
+//Make a request to the server and return the answer
+function request($socket,$request) {
+ fputs ($socket, $request);
+ $answer="";
+ while (!feof($socket)) {
+ $buf = fgets($socket,1);
+ $answer .=$buf;
+ }
+ return $answer;
+}
+
+//***********REQUEST FUNCTIONS************
+function MakeRandom() {
+ //global variables
+ global $xml,$mrmldtd;
+ global $Algorithm,$NbAlgorithm;
+ global $AlgorithmId,$CollectionId,$SessionId;
+ global $server,$port,$Return;
+
+ //find the Algorithm Type
+ for ($i=0;$i<=$NbAlgorithm;$i++){
+ if ($Algorithm[$i]["ALGORITHM-ID"]==$AlgorithmId) {$AlgorithmType=$Algorithm[$i]["ALGORITHM-TYPE"];}
+ }
+
+ //The MRML request to fetch a random set of images
+ $RandomRequest= $xml . $mrmldtd .
+ "
+
+
+
+
+
+ ";
+
+
+ //Make the request
+ $socket=connection($server,$port);
+ $answer=request($socket,$RandomRequest);
+ fclose($socket);
+
+ //Create a xml parser, Parse the answer and free the parser
+ $MRML_parser = xml_parser_create();
+ xml_set_element_handler($MRML_parser, "MRMLstart", "MRMLend");
+ xml_parse($MRML_parser, $answer);
+ xml_parser_free($MRML_parser);
+}
+
+//make a query
+function MakeQuery() {
+ //global variables
+ global $HTTP_POST_VARS,$HTTP_POST_FILES;
+ global $xml,$mrmldtd,$ImagePath,$phppath;
+ global $Algorithm,$NbAlgorithm,$ImgHeight,$ImgWidth;
+ global $AlgorithmId,$CollectionId,$SessionId,$OldCollectionId;
+ global $server,$port,$Return,$url,$SERVER_NAME,$DOCUMENT_ROOT;
+ global $Property,$NbProperty,$NbPropertyAlgo,$OldAlgorithm;
+ global $imageloc,$imagerel,$nbimage,$QueryImgNb,$QueryImgRelLoc;
+
+ //get the upload file name
+ $NameImgUpload=$HTTP_POST_FILES['UserImage']['name'];
+
+ //if there is a upload file...
+ if ($NameImgUpload!="") {
+ //check if file exist
+ if ($HTTP_POST_FILES['UserImage']['tmp_name']=="none") {
+ die("
file upload error: $NameImgUpload ");
+ }
+
+ //check file extension
+ CheckExtension($NameImgUpload);
+
+ //move the file to $ImagePath directory
+ $temp=explode(".",$NameImgUpload);
+ $desti1=$ImagePath.$NameImgUpload;
+ $desti2 = $ImagePath . $temp[0] . ".jpg";
+ if ($desti1==$desti2) {$desti2=$ImagePath . "Thumb_".$temp[0] . ".jpg";}
+
+ if (!move_uploaded_file($HTTP_POST_FILES['UserImage']['tmp_name'],$desti1)) {die ("error in transfert");}
+
+ //convert image to jpg with "convert"
+ $command=escapeShellCmd("./convert -geometry $ImgWidthx$ImgHeight $desti1 $desti2");
+ system($command);
+ }
+
+
+
+ //check if the url and his extension is valid.
+ if ($url!="") {
+ if (!@fopen($url,"rb")){
+ die("Bad url: $url ");
+ }
+
+ //check file extension
+ CheckExtension($url);
+
+ //copy image from url
+ $urltmp=explode('/',$url);
+ $urltmp2=explode('.',$urltmp[count($urltmp)-1]);
+ $dest1=$ImagePath."tmp.".$urltmp2[1];
+ $dest2 = $ImagePath . $urltmp2[0] . ".jpg";
+ if (!($fp = fopen($url,"r"))) die("Could not open src");
+ if (!($fp2 = fopen($dest1,"w"))) die("Could not open dest");
+ while ($contents = fread( $fp,4096)) {
+ fwrite( $fp2, $contents);
+ }
+ fclose($fp);
+ fclose($fp2);
+
+ //convert image to jpg
+ $command=escapeShellCmd("./convert -geometry $ImgWidthx$ImgHeight $dest1 $dest2");
+ system($command);
+ }
+
+ //find the right algorithm
+ for ($i=0;$i<=$NbAlgorithm;$i++){
+ if ($Algorithm[$i]["ALGORITHM-ID"]==$AlgorithmId) {
+ $AlgorithmType=$Algorithm[$i]["ALGORITHM-TYPE"];
+ $algonum=$i;
+ }
+ }
+
+ $nbimage=0;
+ $nbrel=0;
+ $nbthumb=0;
+ //find image location,relevance and thumbnail location
+ while (list ($key, $val) = each ($HTTP_POST_VARS)) {
+ if (is_int(strpos($key,"image_"))){
+ $imageloc[$nbimage]=$val;
+ $nbimage++;
+ }
+ if (is_int(strpos($key,"rel_img_"))){
+ $imagerel[$nbrel]=$val;
+ $nbrel++;
+ }
+ if (is_int(strpos($key,"thumb_img_"))){
+ $imagethumb[$nbthumb]=$val;
+ $nbthumb++;
+ }
+
+ }
+
+ //find the query image
+ $QueryImgNb=0;
+ for ($i=0;$i<$nbimage;$i++){
+ if ($imagerel[$i]==-1 || $imagerel[$i]==1) {
+ $QueryImg[$QueryImgNb]=$imageloc[$i];
+ $QueryImgThumb[$QueryImgNb]=$imagethumb[$i];
+ $QueryImgRel[$QueryImgNb]=$imagerel[$i];
+ if ($imagerel[$i]==1) {
+ $QueryImgRelLoc[$QueryImg[$QueryImgNb]]=1;
+ }
+ $QueryImgNb++;
+ }
+ }
+
+ //The MRML request
+ $QueryRequest= $xml . $mrmldtd .
+ "
+
+
+
+ ";
+ //add the image location to the request
+ for ($i=0;$i<$nbimage;$i++){
+ $QueryRequest .= "\n";
+ }
+ //ad the image passed by url
+ if ($url!="") {
+ $QueryRequest .= "\n";
+ $QueryImg[$QueryImgNb]=$url;
+ $QueryImgThumb[$QueryImgNb]=$phppath.$dest2;
+ $QueryImgRel[$QueryImgNb]=1;
+ $QueryImgNb++;
+ }
+ //ad the image passed by file upload
+ if ($NameImgUpload!="") {
+ $NameImgUploadLoc= $phppath.$desti1;
+ $QueryRequest .= "\n";
+ $QueryImg[$QueryImgNb]=$NameImgUploadLoc;
+ $QueryImgThumb[$QueryImgNb]=$phppath.$desti2;
+ $QueryImgRel[$QueryImgNb]=1;
+ $QueryImgNb++;
+ }
+
+ $QueryRequest .= "
+ ";
+
+ //Display QueryImg
+ ShowQueryImg($QueryImgNb,$QueryImg,$QueryImgThumb,$QueryImgRel);
+
+ echo "QueryRequest: $QueryRequest ";
+
+ echo "Result: ";
+
+
+ //Make the request
+ $socket=connection($server,$port);
+ $answer=request($socket,$QueryRequest);
+ fclose($socket);
+
+ //Create a xml parser, Parse the answer and free the parser
+ $MRML_parser = xml_parser_create();
+ xml_set_element_handler($MRML_parser, "MRMLstart", "MRMLend");
+ xml_parse($MRML_parser, $answer);
+ xml_parser_free($MRML_parser);
+
+}
+
+//get info form server
+function GetInfo() {
+ global $xml,$mrmldtd,$allowUpload;
+ global $server,$port,$name;
+
+ //simple mrml request
+ $GetInfo= $xml . $mrmldtd .
+ "
+
+
+ ";
+
+ //Make the first request
+ $socket=connection($server,$port);
+ $answer=request($socket,$GetInfo);
+ fclose($socket);
+
+ //Create a xml parser, Parse the answer and free the parser
+ $MRML_parser = xml_parser_create();
+ xml_set_element_handler($MRML_parser, "MRMLstart", "MRMLend");
+ xml_parse($MRML_parser, $answer);
+ xml_parser_free($MRML_parser);
+
+ //show collections, algorithms and ...
+ echo "Do not save this page (see why ) ";
+ ShowCollection();
+ ShowAlgorithm();
+ ShowNumberReturn();
+ echo "Algorithm options: ";
+ ShowOptionAlgorithm();
+ if ($allowUpload == "yes")
+ ShowAddImage();
+ else
+ echo "Image uploading feature disabled ";
+ ShowButtons();
+}
+
+//***********PARSING FUNCTIONS************
+function MRMLstart($parser, $name, $attrs) {
+ global $Collection,$NbCollection;
+ global $Algorithm,$NbAlgorithm;
+ global $Property,$NbProperty,$NbPropertyAlgo;
+ global $SessionId,$Submit,$Depth,$Parent;
+
+ //parse MRML tag
+ switch ($name) {
+ case "ACKNOWLEDGE-SESSION-OP":
+ //Get session id
+ if ($SessionId=="") {
+ $SessionId=$attrs["SESSION-ID"];
+ }
+
+ echo " ";
+ break;
+
+ case "COLLECTION":
+ //Get Collection
+ $NbCollection++;
+ while (list ($key, $val) = each ($attrs)) {
+ $Collection[$NbCollection][$key]=$val;
+ }
+ break;
+
+ case "ALGORITHM":
+ //Get alorithm
+ if ($attrs["ALGORITHM-TYPE"]!="") {
+ $NbProperty=-1;
+ $Depth=0;
+ $NbAlgorithm++;
+ while (list ($key, $val) = each ($attrs)) {
+ $Algorithm[$NbAlgorithm][$key]=$val;
+ }
+ }
+ break;
+
+ case "PROPERTY-SHEET":
+ //Get alorithm property
+ if ($NbAlgorithm==-1) {$NbAlgorithm=0;}
+ $NbProperty++;
+ $NbPropertyAlgo[$NbAlgorithm]=$NbProperty;
+ while (list ($key, $val) = each ($attrs)) {
+ $Property[$NbAlgorithm][$NbProperty][$key]=$val;
+ }
+
+ //save Depth and parent from the property
+ $Property[$NbAlgorithm][$NbProperty]["DEPTH"]=$Depth;
+ $Property[$NbAlgorithm][$NbProperty]["PARENT"]=$Parent[$Depth];
+
+ //increase Depth
+ $Depth++;
+
+ $Parent[$Depth]=$NbProperty;
+
+ break;
+
+ case "QUERY-RESULT-ELEMENT":
+ //get image info
+ global $imageloc,$imagerel,$nbimage,$QueryImgRelLoc;
+ $ImgLoc=$attrs["IMAGE-LOCATION"];
+ $ImageThumb=$attrs["THUMBNAIL-LOCATION"];
+ $Similarity=$attrs["CALCULATED-SIMILARITY"];
+ //echo "ImgLoc: -$ImgLoc- , ImageThumb: -$ImageThumb- ";
+ if ($Submit=="Random") {ShowImage($ImgLoc,$ImageThumb,$Similarity,0);}
+ if ($Submit=="Query" && $QueryImgRelLoc[$ImgLoc]=="") {ShowImage($ImgLoc,$ImageThumb,$Similarity,0);}
+ if ($Submit=="Query" && $QueryImgRelLoc[$ImgLoc]!="") {ShowImage($ImgLoc,$ImageThumb,$Similarity,1);}
+
+ break;
+ }
+}
+
+function MRMLend($parser, $name) {
+ global $Depth;
+ switch ($name) {
+ case "PROPERTY-SHEET":
+ //decrease depth
+ $Depth--;
+ break;
+ }
+}
+
+//***********DISPLAY FUNCTIONS************
+
+
+//show the query images
+function ShowQueryImg($QueryImgNb,$QueryImg,$QueryImgThumb,$QueryImgRel) {
+ //global variable
+ global $SERVER_NAME,$DOCUMENT_ROOT,$ImgWidth,$ImgHeight;
+
+
+ $tr=0;
+ if ($QueryImgNb>0) {
+ echo "Query: ";
+ }
+}
+
+//same function but for result iamge
+function ShowImage($ImageLoc,$ImageThumb,$Similarity,$Rel) {
+ global $CollectionId,$QueryImgNb,$DOCUMENT_ROOT,$SERVER_NAME;
+ global $Return,$ImgWidth,$ImgHeight;
+ static $nbimage=0;
+ static $first=true;
+ static $tmp=0;
+
+ //get name of the image form his url
+ //and use it for the "alt" tag
+ $extmp=explode('/',$ImageLoc);
+ $alt=$extmp[count($extmp)-1];
+
+ if ($first) {$tmp=$QueryImgNb;$first=false;}
+ if ($nbimage==0) {echo "";}
+}
+
+//show collection
+function ShowCollection(){
+ global $Collection,$NbCollection,$CollectionId;
+ echo "Collection (details ): ";
+
+ //get collection name and collection ID
+ //and show all collections
+ if ($CollectionId!="") {
+ for ($i=0;$i<=$NbCollection;$i++){
+ if ($Collection[$i]["COLLECTION-ID"]==$CollectionId) {
+ $CollectionName=$Collection[$i]["COLLECTION-NAME"];
+ echo " ";
+ }
+ }
+ echo '';
+ echo "$CollectionName ";
+ }
+ else {echo '';}
+
+ for ($i=0;$i<=$NbCollection;$i++){
+ $value=$Collection[$i]["COLLECTION-ID"];
+ $name=$Collection[$i]["COLLECTION-NAME"];
+ if ($CollectionId!=$value) {echo "$name ";}
+ }
+ echo ' ';
+
+}
+
+//Display algorithm
+function ShowAlgorithm(){
+ global $Algorithm,$NbAlgorithm,$AlgorithmId;
+ echo "Algorithm: ";
+
+ //get algorithm name and algorithm ID
+ //and show all algorithms
+ if ($AlgorithmId!="") {
+ for ($i=0;$i<=$NbAlgorithm;$i++){
+ if ($Algorithm[$i]["ALGORITHM-ID"]==$AlgorithmId) {
+ $AlgorithmName=$Algorithm[$i]["ALGORITHM-NAME"];
+ echo " ";
+ }
+ }
+ echo '';
+ echo "$AlgorithmName ";
+ }
+ else {echo '';}
+
+ for ($i=0;$i<=$NbAlgorithm;$i++){
+ $value=$Algorithm[$i]["ALGORITHM-ID"];
+ $name=$Algorithm[$i]["ALGORITHM-NAME"];
+ if ($AlgorithmId!=$value) {echo "$name ";}
+ }
+ echo ' ';
+}
+
+
+// show property of algorithm
+function ShowOptionAlgorithm($Depth=0,$Parent="",$visibility="visible",$IdLayer=0){
+ global $Algorithm,$NbAlgorithm,$AlgorithmId;
+ global $Property,$NbProperty,$NbPropertyAlgo,$OldAlgorithm;
+ static $Option=0;
+
+ //get algorithmID
+ if ($AlgorithmId!="") {
+ for ($i=0;$i<=$NbAlgorithm;$i++){
+ if ($Algorithm[$i]["ALGORITHM-ID"]==$AlgorithmId) {$algonum=$i;}
+ }
+ }
+ else {$algonum=0;}
+
+ $j=0;
+ $InLayer="";
+ //for each property of the algorithm
+ for ($i=0;$i<=$NbPropertyAlgo[$algonum];$i++){
+ //if depth is the actual Depth and parent are the actual parent
+ //(mean that they are in the same "group")
+ if ($Property[$algonum][$i]["DEPTH"]==$Depth && $Property[$algonum][$i]["PARENT"]==$Parent) {
+
+ //switch the different type of property
+ switch ($Property[$algonum][$i]["PROPERTY-SHEET-TYPE"]) {
+
+ //in case of subset, go to the next depth
+ //and set the subset as parent
+ case "subset":
+ $tempDepth[$j]=$Depth+1;
+ $tempParent[$j]=$i;
+ $j++;
+ $visibility2=$visibility;
+ break;
+
+ //in case of pannel, go to the next depth
+ //and set the pannel as parent
+ case "pannel":
+ $tempDepth[$j]=$Depth+1;
+ $tempParent[$j]=$i;
+ $j++;
+ $visibility2=$visibility;
+ break;
+
+ //in case of set-element...
+ case "set-element":
+ $option="AlgoOption".$Option;
+ global $$option;
+ if ($OldAlgorithm!=$algonum) $$option="";
+
+ //get property's name
+ $name=$Property[$algonum][$i]["CAPTION"];
+ $InLayer.="$name: ";
+ $sendname=$Property[$algonum][$i]["SEND-NAME"];
+ $InLayer.= " ";
+
+
+ //if the property value is yes
+ if ($$option=="yes" || ($Property[$algonum][$i]["SEND-VALUE"]=="yes" && $$option=="") ) {
+ //save the next depth and set the set-element as parent
+
+ $tempDepth[$j]=$Depth+1;
+ $tempParent[$j]=$i;
+ $j++;
+
+
+ $visibility2="visible";
+
+ //If the property have children
+ //add the option to show/hide children
+ if ($Property[$algonum][$i+1]["PARENT"]==$i) {
+ $InLayer.= "";
+ }
+ //else just display the property
+ else {
+ $InLayer.= "";
+ }
+ $InLayer.= "yes ";
+ $InLayer.= "no ";
+ $InLayer.=' ';
+ }
+ //if the property value is no
+ //make nearly the same as yes
+ else {
+ if ($$option=="" || $$option=="no" || ($Property[$algonum][$i]["SEND-VALUE"]=="no" && $$option=="")) {
+ $visibility2="visible";
+
+ //If the property have children
+ //add the option to show/hide children
+ if ($Property[$algonum][$i+1]["PARENT"]==$i) {
+ $visibility2="hidden";
+ $InLayer.= "";
+ }
+ //else just display the property
+ else {
+ $InLayer.= "";
+ }
+ $InLayer.="no ";
+ $InLayer.= "yes ";
+ $InLayer.= ' ';
+ }
+ }
+
+ //go to the next property
+ $Option++;
+ break;
+
+ //in case of numeric property
+ case "numeric":
+
+ $option="AlgoOption".$Option;
+ global $$option;
+
+ //get the value
+ $InLayer.= " ";
+ $sendname=$Property[$algonum][$i]["SEND-NAME"];
+ $InLayer.= " ";
+ if ($$option=="" || $OldAlgorithm!=$algonum) {$value=$Property[$algonum][$i]["SEND-VALUE"];}
+ else {
+ $optionb="AlgoOptionb".$Option;
+ global $$optionb;
+ $value=$$optionb;
+ }
+
+ //get name, from , to and step
+ $name=$Property[$algonum][$i]["CAPTION"];
+ $InLayer.= "$name: ";
+ $from=$Property[$algonum][$i]["FROM"];
+ $to=$Property[$algonum][$i]["TO"];
+ $step=$Property[$algonum][$i]["STEP"];
+
+ //display property
+ $InLayer.= "";
+ $InLayer.= "$value ";
+ for ($k=$from;$k<=$to;$k=$k+$step){
+ if ($k!=$value) {$InLayer.="$k ";}
+ }
+ $InLayer.= " ";
+
+ $Option++;
+ break;
+ }
+
+ }
+ }
+
+
+
+ //Display property
+ if ($InLayer!="") {
+ echo $InLayer." ";
+ $IdLayer++;
+ }
+
+ //make recursion
+ for ($i=0;$i<$j;$i++) ShowOptionAlgorithm($tempDepth[$i],$tempParent[$i], $visibility2,$IdLayer);
+
+}
+
+//display the number of images the script must return
+function ShowNumberReturn(){
+ global $Return,$NbReturnImages;
+ echo "Return ";
+ echo "";
+ if ($Return!="") {echo "$Return ";}
+
+ $NbReturn=explode(",",$NbReturnImages);
+
+ for ($i=0;$i$NbReturn[$i]";}
+ }
+
+ echo " images ";
+}
+
+//diplay two text input for file upload and url image
+function ShowAddImage() {
+ echo " Url of a relevant image:";
+ echo " ";
+ echo ' Other relevant image: ';
+}
+
+
+//show tree buttons: Random, Query and Clear
+function ShowButtons() {
+global $server,$port,$name;
+ echo '
+ ';
+ echo " ";
+ echo " ";
+ echo " ";
+}
+
+
+//asking for server and port
+function AskConnection () {
+ echo 'Connection with a GIFT server ';
+ echo '(You may like to start with this tutorial ) ';
+ echo '
+
+By connecting to this service, you implicitly affirm that you have read and accepted our disclaimer
+
+
+ ';
+}
+
+//**********Other Function*******************
+//create a directory
+function CreateDir($dir) {
+ if (!is_dir($dir)){
+ $oldumask = umask(0);
+ mkdir ($dir,0777);
+ umask($oldumask);
+ }
+}
+
+//check if is $name have valid image extension
+function CheckExtension($name) {
+ global $ImagesExtension;
+
+ //get image Extension
+ $temp=explode(".",$name);
+ $n=count($temp);
+ $extension=strtolower(trim($temp[$n-1]));
+ $type=explode(",",$ImagesExtension);
+
+ //check if it's a valid one
+ $valid=false;
+ for ($i=0;$ierror: $name bad extension: $extension this script supports: $ImagesExtension ");
+ }
+}
+
+//******************MAIN*******************
+//Form
+echo "
+ ';
+/******************END OF PHP******************/
+?>
--- gnuift-0.1.14.orig/debian/README.Debian
+++ gnuift-0.1.14/debian/README.Debian
@@ -0,0 +1,28 @@
+gnuift and libmrml for Debian
+-----------------------------
+
+GIFT is quite a beast. You should install gnuift-doc and read
+/usr/share/doc/gnuift-doc/configuring-and-hacking-the-gift.dvi.gz and
+/usr/share/doc/gnuift-doc/gift-guide.dvi.gz
+
+The PHP client ist included as an example in
+/usr/share/doc/gnuift/examples it works right out of the box.
+
+
+So in short you could do the following:
+
+ * mkdir gift-data
+ * cd gift-data
+ * cp /usr/share/libmrml1/gift-config.mrml .
+ * export GIFT_HOME=`pwd`
+ * gift-add-collection.pl /path/to/your/huge/collection/of/images
+ * gift & # and hope it runs
+ * gunzip < /usr/share/doc/gnuift/examples/Client.php.gz > \
+ /path/to/a/webserver/accessible/directory/Client.php
+ * access the url with a browser and enter the host where gift is
+ running
+ * be happy
+
+
+ -- Robert Jordens , Sat, 16 Nov 2002 12:24:52 +0100
+
--- gnuift-0.1.14.orig/debian/TODO.Debian
+++ gnuift-0.1.14/debian/TODO.Debian
@@ -0,0 +1,18 @@
+TODO
+
+Robert Jordens
+
+This software may be used and distributed according to the terms
+of the GNU General Public License, incorporated herein by reference.
+
+$Id: TODO.Debian 92 2003-09-04 13:59:38Z rj $
+
+To be done. In order of importance and annoyance
+
+ * bad hardcoded stuff
+ * java client
+ * php client
+ * global collection
+ * conffiles
+
+
--- gnuift-0.1.14.orig/debian/changelog
+++ gnuift-0.1.14/debian/changelog
@@ -0,0 +1,288 @@
+gnuift (0.1.14-12.1ubuntu1) wily; urgency=medium
+
+ * Rename library packages for g++5 ABI transition.
+
+ -- Steve Langasek Tue, 04 Aug 2015 04:33:25 +0000
+
+gnuift (0.1.14-12.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * debian/control: Switch to automake1.11. (Closes: #724380)
+
+ -- Eric Dorland Thu, 06 Mar 2014 23:57:49 -0500
+
+gnuift (0.1.14-12) unstable; urgency=low
+
+ * QA upload
+ * Fix build failure with GCC 4.7. Closes: #667185.
+
+ -- Matthias Klose Mon, 28 May 2012 12:11:38 +0200
+
+gnuift (0.1.14-11) unstable; urgency=low
+
+ * QA upload
+ * Transition to libmagick4 (closes: #625546, #629769):
+ - replace build-dependency on "libmagick9-dev | libmagick-dev" by
+ libmagickcore-dev
+ - replace dependency of libgnuift0-dev on "libmagick9-dev | libmagick-dev"
+ by libmagickcore-dev
+ * Bump debhelper compat level to 5.
+ - remove entry usr/share/libmrml1/gift*.mrml from gnuift-perl.install
+ since wildcard expands to nothing.
+
+ -- Ralf Treinen Wed, 08 Jun 2011 20:19:04 +0200
+
+gnuift (0.1.14-10) unstable; urgency=low
+
+ * QA upload
+ * Patch 11_duplicate_install copied from ubuntu: do not try to install
+ twice the same file (closes: #620912).
+ * Add --install to the libtoolize call in debian/rules so that all
+ scripts get installed, rather than just a select few. Patch
+ provided by James Westby - thanks! (closes: #506500).
+ * debian/libgnuift0-dev.install, debian/libmrml1-dev.install: do not
+ install *.la files per Policy 10.2. Thanks to Andreas Moog for the
+ patch! (closes: #620755).
+ * replace build-dependencies on doxygen, texlive-* by doxygen-latex
+ (closes: #616251).
+ * debian/rules: Packages depend on ${misc:Depends}.
+ * debian/copyright: update FSF address, symbolic-link to GPL-2 text
+ * Fix capitalization in some doc-base files.
+ * Upgraded build-dependency on automake from 1.7 to 1.9 as compilation
+ with 1.7 fails.
+
+ -- Ralf Treinen Wed, 06 Apr 2011 07:46:38 +0200
+
+gnuift (0.1.14-9) unstable; urgency=high
+
+ * QA Upload.
+ * Fix problem in the dependencies of gnuift-perl I introduced.
+ Still wonder why I could successfully install it here on
+ my system, though. (Closes: #494869)
+ * 05_add-doxy-header-and-footer.diff: Specify DPATCHLEVEL so that
+ the patch gets correctly applied.
+ * Add texlive-extra-utils to build-depends for epstopdf.
+
+ -- Frank Lichtenheld Tue, 12 Aug 2008 18:33:29 -0300
+
+gnuift (0.1.14-8) unstable; urgency=high
+
+ * QA upload.
+ * Fix build problem when built in parallel. (Closes: #494233)
+ * Apply patch by Lior Kaplan to make package binNMU safe.
+ (Closes: #435943, #481052)
+ * Do not allow a random automake version. (Closes: #398503)
+ * Update libmagick-dev dependency.
+ * Move homepage to dedicated field.
+ * Fix some lintian warnings:
+ + Remove empty directory usr/sbin
+ + Fix doc-base sections
+
+ -- Frank Lichtenheld Mon, 11 Aug 2008 20:45:09 -0300
+
+gnuift (0.1.14-7) unstable; urgency=low
+
+ * QA upload.
+ * Set the maintainer to QA group.
+ * Fix build problem due to existant, but inaccessible home directory.
+ (Closes: #471487)
+
+ -- Philipp Kern Fri, 06 Jun 2008 13:41:21 +0200
+
+gnuift (0.1.14-6.3) unstable; urgency=low
+
+ * Non-maintainer upload for the gcc-4.3 release goal, with a
+ patch by Cyril Brulebois. (Closes: #417212)
+
+ -- Philipp Kern Sun, 16 Mar 2008 22:44:27 +0100
+
+gnuift (0.1.14-6.2) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * 09_gcc-4.1.diff: Patch from Martin Michlmayr, fixes several instances of
+ extra qualification in class declarations, causing FTBFS with gcc 4.1.
+ Michlmayr. (Closes: #356540)
+
+ -- Steinar H. Gunderson Sat, 10 Jun 2006 21:24:30 +0200
+
+gnuift (0.1.14-6.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Renamed for C++ allocator change (Closes: #339177).
+
+ -- Luk Claes Wed, 28 Dec 2005 23:14:45 +0100
+
+gnuift (0.1.14-6) unstable; urgency=low
+
+ * debian/control: libmysql++-dev as Build-Depends; closes: Bug#272004
+ (FTBFS: Unsatisfiable build-dependency on libsqlplus-dev)
+
+ -- Robert Jordens Thu, 20 Oct 2005 14:25:14 +0200
+
+gnuift (0.1.14-5) unstable; urgency=high
+
+ * debian/control: Build-Depends: libmagick9-dev |
+ libmagick-dev to do the imagemagick transition; closes: Bug#332450
+ (FTBFS: libmagick transition)
+ * also rebuilding to fix mis-build on m68k; closes: Bug#330640 (gnuift needs
+ to be rebuilt on m68k for C++ transition)
+ * urgency high because both block a transition
+
+ -- Robert Jordens Fri, 7 Oct 2005 12:10:36 +0200
+
+gnuift (0.1.14-4) unstable; urgency=medium
+
+ * debian/control: conflict with libmrml_1_;
+ closes: Bug#325284 (libmrml1c2: overlapping files with libmrml1)
+ * urgency medium because this is RC
+
+ -- Robert Jordens Fri, 9 Sep 2005 21:33:36 +0200
+
+gnuift (0.1.14-3) unstable; urgency=medium
+
+ * debian/{control,rules,libmrml1c2.install,libgnuift0c2.install}: CXX
+ transition; rename libgnuift0 to libgnuift0c2 and libmrml1 to libmrml1c2
+ * urgency medium because this is RC
+
+ -- Robert Jordens Tue, 9 Aug 2005 11:56:22 +0200
+
+gnuift (0.1.14-2) unstable; urgency=medium
+
+ * fix missing header includes leading to pointer truncation on 64 bit
+ archs. Patch from David Mosberger ; thanks
+ closes: Bug#308582
+
+ -- Robert Jordens Wed, 11 May 2005 20:52:02 +0200
+
+gnuift (0.1.14-1) unstable; urgency=low
+
+ * new upstream release
+ * 06_gcc-3.4.diff: applied upstream; 06_gcc-4.0.diff: fixed
+ * libmrml0 -> libmrml1, SONAME change.
+
+ -- Robert Jordens Sat, 7 May 2005 15:00:35 +0200
+
+gnuift (0.1.13-2) unstable; urgency=low
+
+ * debian/patches/06_gcc-3.4.diff: gcc-3.4 fixes from Andreas Jochens
+ : closes: Bug#266259
+ * debian/patches/07_gcc_4.0.diff: gcc-4.0 and amd64 fixes from Andreas
+ Jochens closes: Bug#286878
+
+ -- Robert Jordens Mon, 3 Jan 2005 20:19:01 +0100
+
+gnuift (0.1.13-1) unstable; urgency=high
+
+ * urgency-high upload because the version in testing does not work at all
+ * debian/patches/07_fixup-for-g++-3.4.diff: added;
+ closes: Bug#258761: gnuift: FTBFS with gcc-3.4
+ * debian/watch: updated to version=2
+ * new upstream release
+ + gift has been producing wrong indexing data; all wrong indexed data has
+ to be reindexed or fixed with a script that will be sent to
+ ;
+ closes: Bug#216398
+ + debian/patches/06_look-for-so-0.diff,
+ debian/patches/05_fixup-hardcoded-dirs-makefiles.diff,
+ debian/patches/05_fixup-hardcoded-dirs-sources.diff,
+ debian/patches/05_fixup-sgml-docs.diff,
+ debian/patches/07_fixup-for-g++-3.4.diff deleted: incorporated
+ upstream
+
+ -- Robert Jordens Mon, 16 Aug 2004 18:11:37 +0200
+
+gnuift (0.1.9+3epsilon+cvs030915-4) unstable; urgency=low
+
+ * debian/patches/06_look-for-so-0.diff: added, closes: Bug#216398
+
+ -- Robert Jordens Fri, 11 Jun 2004 17:30:28 +0200
+
+gnuift (0.1.9+3epsilon+cvs030915-3) unstable; urgency=low
+
+ * debian/control: (Build-)Depend on libmagick6-dev; closes: Bug#248222
+
+ -- Robert Jordens Mon, 10 May 2004 01:40:37 +0200
+
+gnuift (0.1.9+3epsilon+cvs030915-2) unstable; urgency=low
+
+ * debian/control: made all descriptions more descriptive; closes: Bug#213404
+
+ -- Robert Jordens Tue, 30 Sep 2003 10:31:50 +0200
+
+gnuift (0.1.9+3epsilon+cvs030915-1) unstable; urgency=low
+
+ * Built a new upstream tarball from CVS with the note about military use
+ removed; closes: Bug#210868
+ * debian/rules: uses tarball and simple-patchsys now
+
+ -- Robert Jordens Mon, 15 Sep 2003 14:15:42 +0200
+
+gnuift (0.1.9+3epsilon-3) unstable; urgency=low
+
+ * Doc/gift-guide.sgml: licensing problem resolved with Wolfgang Mueller
+ ; see the bug for details;
+ closes: Bug#210868
+ * changed Wolfgangs e-mail address accordingly.
+ * debian/gnuift.sgml is now GPL
+
+ -- Robert Jordens Sun, 14 Sep 2003 19:03:11 +0200
+
+gnuift (0.1.9+3epsilon-2) unstable; urgency=low
+
+ * debian/rules
+ + don't let binary/gnuift depend on binary/gnuift-perl; breaks
+ autobuilding.
+ + new format for parallel building via DEB_BUILD_OPTIONS
+
+ -- Robert Jordens Thu, 11 Sep 2003 09:18:38 +0200
+
+gnuift (0.1.9+3epsilon-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/rules:
+ + switched to cdbs
+ + use dh_buildinfo
+ + enabled parallel building if USE_NJOBS set in the
+ environment
+ * debian/control
+ + changed rjo@gmx.de to jordens@debian.org
+ + Build-Depends: libmysqlclient-dev, emacsen
+ + updated descriptions
+ + fixed lib*-dev Conflicts and Depends
+ + added Build-Depends-Indep to Build-Depends
+ + gnuift-perl contains all perl modules
+ + suggest kmrml
+ * libtoolized anew
+ * g++/gcc 3.3:
+ + a few header files: #include
+ + line-join multiline mysql-statements
+ * fixed web pubblishing locations
+ * doxygen headers added from CVS
+ * fixed DESTDIR in libMRML/include/Makefile.am
+ * debian/gnuift.sgml: written manpage
+
+ -- Robert Jordens Thu, 4 Sep 2003 12:42:29 +0200
+
+gnuift (0.1.9-2) unstable; urgency=low
+
+ * notes from Bart Schuller :
+ * fill libgnuift0
+ * don't run doxygen twice
+ * moved the definitions of the hardcoded paths to configure.in
+ * export LIBRARY_PATH=`pwd`/debian/tmp/usr/lib; befor install
+
+ -- Robert Jordens Tue, 2 Sep 2003 22:18:01 +0200
+
+gnuift (0.1.9-1) unstable; urgency=low
+
+ * Initial Release.
+ * renamed to gnuift to evade clash with a FastTrack client named "gift"
+ * work on ACX_PTHREAD
+ * killed rpath in libtool
+ * fhs compliance (perl modules, libraries, executables, dtds)
+ * split off the libraries
+ * made the documentation work
+ * upload to Debian, which closes: Bug#137472
+
+ -- Robert Jordens Sat, 16 Nov 2002 12:24:52 +0100
+
--- gnuift-0.1.14.orig/debian/compat
+++ gnuift-0.1.14/debian/compat
@@ -0,0 +1 @@
+5
--- gnuift-0.1.14.orig/debian/control
+++ gnuift-0.1.14/debian/control
@@ -0,0 +1,203 @@
+Source: gnuift
+Section: graphics
+Priority: optional
+Maintainer: Ubuntu Developers
+XSBC-Original-Maintainer: Debian QA Group
+Build-Depends: cdbs, dh-buildinfo, debhelper (>= 5), docbook-to-man, autoconf (>= 2.52), automake1.11, pkg-config, libtool, m4, flex, libexpat1-dev, libmysql++-dev, libmagickcore-dev, perl, libperl-dev, libtext-iconv-perl, libxml-handler-trees-perl, libxml-sax-expat-perl, libxml-sax-perl, libxml-libxml-perl, libxml-parser-perl, libhtml-parser-perl, libxml-writer-perl, libparse-yapp-perl, libxml-xql-perl, libxml-dom-perl, libwww-perl
+Build-Depends-Indep:
+# for doxygen
+ doxygen-latex, ghostscript,
+# for documentation
+ linuxdoc-tools, linuxdoc-tools-info, linuxdoc-tools-latex,
+ linuxdoc-tools-text, ldp-docbook-dsssl
+Standards-Version: 3.6.1
+Homepage: http://www.gnu.org/software/gift/
+
+Package: gnuift
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, gnuift-perl (= ${source:Version})
+Suggests: gnuift-doc, kmrml
+Description: GNU Image Finding Tool - index and search images by content
+ The GIFT (the GNU Image-Finding Tool) is a Content Based Image
+ Retrieval System (CBIRS). It enables you to do Query By Example on
+ images, giving you the opportunity to improve query results by
+ relevance feedback. For processing your queries the program relies
+ entirely on the content of the images, freeing you from the need to
+ annotate all images before querying the collection.
+ .
+ The GIFT comes with a tool which lets you index whole directory trees
+ containing images in one go. You then can use the GIFT server and its
+ client, to browse your own image collections.
+ .
+ The GIFT is an open framework. The developers explicitly have taken
+ into account the possibility of adding new ways of querying to the
+ framework. The communication protocol for client-server communication,
+ MRML, is XML based and fully documented (http://www.mrml.net). This
+ aims at promoting code reuse among researchers and application
+ developers.
+ .
+ The current version of the GIFT can be seen in action at
+ http://viper.unige.ch/demo/
+ .
+ The GIFT (ex Viper) is the result of a research effort at the Vision
+ Group at the CUI (computer science center) of the University of Geneva
+ (see http://vision.unige.ch/). This cutting-edge research has been the
+ subject of several publications and conference talks. Details can be
+ found at http://viper.unige.ch/.
+ .
+ To avoid a name clash with the "gift" package (a fasttrack filesharing
+ client), these packages have been named "gnuift" (also to stress that
+ gnuift is a GNU project).
+
+Package: gnuift-doc
+Architecture: all
+Depends: ${misc:Depends}
+Description: Documentation for gnuift
+ This package includes gift-guide, configuring-and-hacking-the-gift and
+ the doxygen reference tree. The application is contained in the gnuift
+ package.
+ .
+ The GIFT (the GNU Image-Finding Tool) is a Content Based Image
+ Retrieval System (CBIRS). It enables you to do Query By Example on
+ images, giving you the opportunity to improve query results by
+ relevance feedback. For processing your queries the program relies
+ entirely on the content of the images, freeing you from the need to
+ annotate all images before querying the collection.
+ .
+ The GIFT comes with a tool which lets you index whole directory trees
+ containing images in one go. You then can use the GIFT server and its
+ client, to browse your own image collections.
+ .
+ The GIFT is an open framework. The developers explicitly have taken
+ into account the possibility of adding new ways of querying to the
+ framework. The communication protocol for client-server communication,
+ MRML, is XML based and fully documented (http://www.mrml.net). This
+ aims at promoting code reuse among researchers and application
+ developers.
+ .
+ To avoid a name clash with the "gift" package (a fasttrack filesharing
+ client), these packages have been named "gnuift" (also to stress that
+ gnuift is a GNU project).
+
+Package: libgnuift0v5
+Replaces: libgnuift0c2a, libgnuift0, libgnuift0c2
+Conflicts: libgnuift0c2a, libgnuift0, libgnuift0c2
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Suggests: libgnuift0-dev (= ${binary:Version}), gnuift, gnuift-doc
+Description: GNU Image Finding Tool - libraries
+ The GIFT (the GNU Image-Finding Tool) is a Content Based Image
+ Retrieval System (CBIRS). It enables you to do Query By Example on
+ images, giving you the opportunity to improve query results by
+ relevance feedback. For processing your queries the program relies
+ entirely on the content of the images, freeing you from the need
+ to annotate all images before querying the collection.
+ .
+ The GIFT is an open framework. The communication protocol for
+ client-server communication, MRML, is XML based and fully documented
+ (http://www.mrml.net).
+ .
+ To avoid a name clash with the "gift" package (a fasttrack filesharing
+ client), these packages have been named "gnuift" (also to stress that
+ gnuift is a GNU project).
+
+Package: libgnuift0-dev
+Architecture: any
+Provides: libgnuift-dev
+Conflicts: libgnuift-dev
+Section: libdevel
+Depends: libgnuift0v5 (= ${binary:Version}), libexpat1-dev,
+ libmagickcore-dev, ${misc:Depends}
+Description: libgnuift development files
+ The GIFT (the GNU Image-Finding Tool) is a Content Based Image
+ Retrieval System (CBIRS). It enables you to do Query By Example on
+ images, giving you the opportunity to improve query results by
+ relevance feedback. For processing your queries the program relies
+ entirely on the content of the images, freeing you from the need
+ to annotate all images before querying the collection.
+ .
+ The GIFT is an open framework. The communication protocol for
+ client-server communication, MRML, is XML based and fully documented
+ (http://www.mrml.net).
+ .
+ To avoid a name clash with the "gift" package (a fasttrack filesharing
+ client), these packages have been named "gnuift" (also to stress that
+ gnuift is a GNU project).
+
+Package: libmrml1v5
+Replaces: libmrml1c2a, libmrml1, libmrml1c2
+Conflicts: libmrml1c2a, libmrml1, libmrml1c2
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Suggests: gnuift, libmrml1-dev (= ${binary:Version})
+Homepage: http://www.mrml.net/
+Description: Multimedia Retrieval Markup Language
+ MRML's aims are to unify access to multimedia retrieval and management
+ software component in order to extend their capabilities. The success
+ of such a context has already been demonstrated via the development of
+ the GNU Image Finding Tool (GIFT).
+ .
+ The GIFT (the GNU Image-Finding Tool) is a Content Based Image
+ Retrieval System (CBIRS). It enables you to do Query By Example on
+ images, giving you the opportunity to improve query results by
+ relevance feedback. For processing your queries the program relies
+ entirely on the content of the images, freeing you from the need
+ to annotate all images before querying the collection.
+ .
+ The GIFT is an open framework. The communication protocol for
+ client-server communication, MRML, is XML based and fully documented.
+
+Package: libmrml1-dev
+Architecture: any
+Provides: libmrml-dev
+Conflicts: libmrml-dev
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libmrml1v5 (= ${binary:Version}), libexpat1-dev
+Section: libdevel
+Homepage: http://www.mrml.net/
+Description: libmrml development files
+ MRML's aims are to unify access to multimedia retrieval and management
+ software component in order to extend their capabilities. The success
+ of such a context has already been demonstrated via the development of
+ the GNU Image Finding Tool (GIFT).
+ .
+ The GIFT (the GNU Image-Finding Tool) is a Content Based Image
+ Retrieval System (CBIRS). It enables you to do Query By Example on
+ images, giving you the opportunity to improve query results by
+ relevance feedback. For processing your queries the program relies
+ entirely on the content of the images, freeing you from the need
+ to annotate all images before querying the collection.
+ .
+ The GIFT is an open framework. The communication protocol for
+ client-server communication, MRML, is XML based and fully documented.
+
+Package: gnuift-perl
+Architecture: all
+Depends: gnuift (>= ${source:Version}), gnuift (<< ${source:Version}.1~), ${perl:Depends}, imagemagick, libtext-iconv-perl, libxml-handler-trees-perl, libxml-sax-expat-perl, libxml-sax-perl, libxml-libxml-perl, libxml-parser-perl, libhtml-parser-perl, libxml-writer-perl, libparse-yapp-perl, libxml-xql-perl, libxml-dom-perl, libwww-perl, ${misc:Depends}
+Description: GNU Image Finding Tool - perl modules
+ Architecture independent perl modules of gnuift. The application is
+ contained in the gnuift package.
+ .
+ The GIFT (the GNU Image-Finding Tool) is a Content Based Image
+ Retrieval System (CBIRS). It enables you to do Query By Example on
+ images, giving you the opportunity to improve query results by
+ relevance feedback. For processing your queries the program relies
+ entirely on the content of the images, freeing you from the need to
+ annotate all images before querying the collection.
+ .
+ The GIFT comes with a tool which lets you index whole directory trees
+ containing images in one go. You then can use the GIFT server and its
+ client, to browse your own image collections.
+ .
+ The GIFT is an open framework. The developers explicitly have taken
+ into account the possibility of adding new ways of querying to the
+ framework. The communication protocol for client-server communication,
+ MRML, is XML based and fully documented (http://www.mrml.net). This
+ aims at promoting code reuse among researchers and application
+ developers.
+ .
+ To avoid a name clash with the "gift" package (a fasttrack filesharing
+ client), these packages have been named "gnuift" (also to stress that
+ gnuift is a GNU project).
--- gnuift-0.1.14.orig/debian/copyright
+++ gnuift-0.1.14/debian/copyright
@@ -0,0 +1,27 @@
+This package was debianized by Robert Jordens on
+Thu, 4 Sep 2003 12:42:29 +0200.
+
+It was downloaded from ftp://ftp.gnu.org/gnu/gift
+
+Upstream Author: Wolfgang Müller
+ New address:
+
+Copyright:
+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 dated June, 1991.
+
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this package; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301, USA.
+
+On Debian systems, the complete text of the GNU General Public
+License, version 2, can be found in `/usr/share/common-licenses/GPL-2'.
+
--- gnuift-0.1.14.orig/debian/docs
+++ gnuift-0.1.14/debian/docs
@@ -0,0 +1,4 @@
+build-tree/gift-*/NEWS
+build-tree/gift-*/README
+build-tree/gift-*/THANKS
+build-tree/gift-*/AUTHORS
--- gnuift-0.1.14.orig/debian/gnuift-doc.doc-base.conf
+++ gnuift-0.1.14/debian/gnuift-doc.doc-base.conf
@@ -0,0 +1,16 @@
+Document: gnuift-conf
+Title: Configuring and hacking the GIFT
+Author: Wolfgang Mueller
+Section: Graphics
+Abstract: Guide for the advanced user and the programmer
+ The GIFT has been designed to maximize flexibility, both for users and
+ developers. This document explains, how GIFT can be configured
+ (levering this flexibility), and how the configuration files are
+ digested in the interior workings of GIFT.
+
+Format: text
+Files: /usr/share/doc/gnuift-doc/configuring-and-hacking-the-gift.txt.gz
+
+Format: dvi
+Files: /usr/share/doc/gnuift-doc/configuring-and-hacking-the-gift.dvi.gz
+
--- gnuift-0.1.14.orig/debian/gnuift-doc.doc-base.doxygen
+++ gnuift-0.1.14/debian/gnuift-doc.doc-base.doxygen
@@ -0,0 +1,14 @@
+Document: gnuift-doxygen
+Title: GNU Image Finding Tool - Doxygen source documentation
+Author: Wolfgang Mueller
+Section: Graphics
+Abstract: Doxygen source documentation for the GIFT
+ GIFT is a content based image retrieval system (CBIRS). It gives the
+ user the possibility to index and search images without having to
+ annotate them first. Indexing is done using image properties such as
+ color and texture.
+
+Format: HTML
+Index: /usr/share/doc/gnuift-doc/html/index.html
+Files: /usr/share/doc/gnuift-doc/html/*
+
--- gnuift-0.1.14.orig/debian/gnuift-doc.doc-base.guide
+++ gnuift-0.1.14/debian/gnuift-doc.doc-base.guide
@@ -0,0 +1,16 @@
+Document: gnuift-guide
+Title: GNU Image Finding Tool - Guide
+Author: Wolfgang Mueller
+Section: Graphics
+Abstract: User's guide to the GIFT
+ GIFT is a content based image retrieval system (CBIRS). It gives the
+ user the possibility to index and search images without having to
+ annotate them first. Indexing is done using image properties such as
+ color and texture.
+
+Format: text
+Files: /usr/share/doc/gnuift-doc/gift-guide.txt.gz
+
+Format: dvi
+Files: /usr/share/doc/gnuift-doc/gift-guide.dvi.gz
+
--- gnuift-0.1.14.orig/debian/gnuift-doc.docs
+++ gnuift-0.1.14/debian/gnuift-doc.docs
@@ -0,0 +1,4 @@
+build-tree/gift-*/Doc/gift-guide.txt
+build-tree/gift-*/Doc/configuring-and-hacking-the-gift.txt
+build-tree/gift-*/Doc/gift-guide.dvi
+build-tree/gift-*/Doc/configuring-and-hacking-the-gift.dvi
--- gnuift-0.1.14.orig/debian/gnuift-doc.install
+++ gnuift-0.1.14/debian/gnuift-doc.install
@@ -0,0 +1 @@
+build-tree/gift-*/Doc/autoDoc/HTML/* /usr/share/doc/gnuift-doc/html
--- gnuift-0.1.14.orig/debian/gnuift-doc.manpages
+++ gnuift-0.1.14/debian/gnuift-doc.manpages
@@ -0,0 +1 @@
+Doc/autoDoc/man/man3/*
--- gnuift-0.1.14.orig/debian/gnuift-perl.install
+++ gnuift-0.1.14/debian/gnuift-perl.install
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/C*.pm usr/share/perl5/GIFT
+debian/tmp/usr/bin/C*.pl usr/share/gnuift
+debian/tmp/usr/bin/gift*.pl
+# debian/tmp/usr/share/libmrml1/gift*.mrml
--- gnuift-0.1.14.orig/debian/gnuift-perl.links
+++ gnuift-0.1.14/debian/gnuift-perl.links
@@ -0,0 +1,10 @@
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-add-collection.pl.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-diagnose-print-all-ADI.pl.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-dtd-to-keywords.pl.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-dtd-to-tex.pl.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-mrml-client.pl.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-old-to-new-url2fts.pl.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-perl-example-server.pl.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-remove-collection.pl.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-start.pl.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-url-to-fts.pl.1.gz
--- gnuift-0.1.14.orig/debian/gnuift.examples
+++ gnuift-0.1.14/debian/gnuift.examples
@@ -0,0 +1 @@
+debian/Client.php
--- gnuift-0.1.14.orig/debian/gnuift.init.d-disabled
+++ gnuift-0.1.14/debian/gnuift.init.d-disabled
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/bin/gift
+NAME=gnuift
+DESC="the Gnu Image Finding Tool daemon"
+GIFT_HOME=/var/lib/gnuift
+
+
+test -f $DAEMON || exit 0
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
+ --background --chuid nobody --exec $DAEMON \
+ >/dev/null 2>&1
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --oknodo --stop --quiet --user nobody \
+ --exec $DAEMON
+ echo "$NAME."
+ ;;
+ restart|force-reload)
+ echo "Restarting $DESC: "
+ /etc/init.d/$NAME stop && /etc/init.d/$NAME start
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
--- gnuift-0.1.14.orig/debian/gnuift.install
+++ gnuift-0.1.14/debian/gnuift.install
@@ -0,0 +1,7 @@
+debian/tmp/usr/bin/gift
+debian/tmp/usr/bin/gift-endianize
+debian/tmp/usr/bin/gift-extract-features
+debian/tmp/usr/bin/gift-generate-inverted-file
+debian/tmp/usr/bin/gift-modify-distance-matrix
+debian/tmp/usr/bin/gift-one-minus
+debian/tmp/usr/bin/gift-write-feature-descs
--- gnuift-0.1.14.orig/debian/gnuift.links
+++ gnuift-0.1.14/debian/gnuift.links
@@ -0,0 +1,7 @@
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-endianize.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-extract-features.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-generate-inverted-file.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-modify-distance-matrix.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-one-minus.1.gz
+usr/share/man/man1/gnuift.1.gz usr/share/man/man1/gift-write-feature-descs.1.gz
--- gnuift-0.1.14.orig/debian/gnuift.manpages
+++ gnuift-0.1.14/debian/gnuift.manpages
@@ -0,0 +1 @@
+debian/gnuift.1
--- gnuift-0.1.14.orig/debian/gnuift.sgml
+++ gnuift-0.1.14/debian/gnuift.sgml
@@ -0,0 +1,117 @@
+Robert">
+ Jordens">
+ Sep 4, 2003">
+ 1">
+ jordens@debian.org">
+
+ gnuift">
+
+
+ Debian">
+ GNU">
+ GPL">
+]>
+
+
+
+
+ &dhemail;
+
+
+ &dhfirstname;
+ &dhsurname;
+
+
+ 2003
+ &dhusername;
+
+ &dhdate;
+
+
+ &dhucpackage;
+
+ &dhsection;
+
+
+ &dhpackage;
+
+ GNU Image Finding Tool - index and search images by
+ content
+
+
+ DESCRIPTION
+
+ This manual page documents briefly the
+ &dhpackage; and gift-*
+ commands.
+
+ This manual page was written for the &debian; distribution
+ because the original program does not have a manual page.
+
+
+ The GIFT (the GNU Image-Finding Tool) is a Content Based Image
+ Retrieval System (CBIRS). It enables you to do Query By Example on
+ images, giving you the opportunity to improve query results by
+ relevance feedback. For processing your queries the program relies
+ entirely on the content of the images, freeing you from the need to
+ annotate all images before querying the collection.
+
+ The GIFT comes with a tool which lets you index whole directory trees
+ containing images in one go. You then can use the GIFT server and its
+ client, to browse your own image collections.
+
+ The GIFT is an open framework for content-based image retrieval. We
+ explicitly have taken into account the possibility of adding new ways
+ of querying to the framework. Our communication protocol for
+ client-server communication, MRML, is XML based and fully documented
+ (http://www.mrml.net). This aims at promoting code reuse among
+ researchers and application developers.
+
+ The current version of the GIFT can be seen in action at
+ http://viper.unige.ch/demo/
+
+ The GIFT (ex Viper) is the result of a research effort at the Vision
+Group at the CUI (computer science center) of the University of Geneva
+ (see http://vision.unige.ch/). This cutting-edge research has been the
+ subject of several publications and conference talks. Details can be
+ found at http://viper.unige.ch/.
+
+
+
+
+ SEE ALSO
+
+ The gnuift-doc package contains reference manuals, configuration
+ hints and further information.
+
+
+ AUTHOR
+ This manual page was written by &dhusername; &dhemail; for the
+ &debian; system (but may be used by others). Permission is granted
+ to copy, distribute and/or modify this document under the terms of
+ the GNU General Public License, Version 2. On
+ Debian systems, the full text of this license can be found in the
+ file /usr/share/common-licenses/GPL-2.
+
+
+
+
+
+
--- gnuift-0.1.14.orig/debian/libgnuift0-dev.install
+++ gnuift-0.1.14/debian/libgnuift0-dev.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/lib/libGIFT*.a
+debian/tmp/usr/lib/libGIFT*.so
+debian/tmp/usr/include/libGIFT*
--- gnuift-0.1.14.orig/debian/libgnuift0v5.install
+++ gnuift-0.1.14/debian/libgnuift0v5.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/libGIFT*.so.*
+
--- gnuift-0.1.14.orig/debian/libgnuift0v5.lintian-overrides
+++ gnuift-0.1.14/debian/libgnuift0v5.lintian-overrides
@@ -0,0 +1,2 @@
+# G++5 ABI transition
+libgnuift0v5: package-name-doesnt-match-sonames libgnuift0c2a
--- gnuift-0.1.14.orig/debian/libmrml1-dev.install
+++ gnuift-0.1.14/debian/libmrml1-dev.install
@@ -0,0 +1,5 @@
+debian/tmp/usr/lib/libMRML*.a
+debian/tmp/usr/lib/libMRML*.so
+debian/tmp/usr/include/libMRML
+debian/tmp/usr/bin/libMRML-config
+
--- gnuift-0.1.14.orig/debian/libmrml1v5.install
+++ gnuift-0.1.14/debian/libmrml1v5.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/libMRML*.so.*
+debian/tmp/usr/share/* usr/share/libmrml1
--- gnuift-0.1.14.orig/debian/libmrml1v5.lintian-overrides
+++ gnuift-0.1.14/debian/libmrml1v5.lintian-overrides
@@ -0,0 +1,2 @@
+# G++5 ABI transition
+libmrml1v5: package-name-doesnt-match-sonames libmrml1c2a
--- gnuift-0.1.14.orig/debian/patches/01_libSquirePPM-dependencies.diff
+++ gnuift-0.1.14/debian/patches/01_libSquirePPM-dependencies.diff
@@ -0,0 +1,11 @@
+--- libSquirePPM/Makefile.am.orig 2008-08-11 23:24:39.000000000 -0300
++++ libSquirePPM/Makefile.am 2008-08-11 23:25:08.000000000 -0300
+@@ -15,6 +15,8 @@
+
+ ppm_new_executable_LDADD= -L. -lSquirePPM -lm
+
++ppm_new_executable_DEPENDENCIES= libSquirePPM.a
++
+ ppm_new_executable_SOURCES= new_executable.c
+
+
--- gnuift-0.1.14.orig/debian/patches/05_add-doxy-header-and-footer.diff
+++ gnuift-0.1.14/debian/patches/05_add-doxy-header-and-footer.diff
@@ -0,0 +1,21 @@
+#DPATCHLEVEL=0
+--- Doc/HTML/DoxygenFooter.html
++++ Doc/HTML/DoxygenFooter.html
+@@ -0,0 +1,5 @@
++
++
++ Need for discussion? Want to contribute? Contact help-gift@gnu.org Generated using Doxygen
++