kvalobs:kvoss:system:qc2:8hdk376snf09zj37dk82s92:debian-build-notes

This is an old revision of the document!


Debian Build Notes

### some debian environment pieces:
$ cat >>~/.bashrc <<EOF
     DEBEMAIL=your.email.address@example.org
     DEBFULLNAME="Firstname Lastname"
     EOF

### Setup a crystal clean source package, with lower program name and version number
$ svn co https://svn.met.no/kvoss/kvQc2/trunk/kvqc2-0.9.0
$ tar cvf kvqc2-0.9.0.tar kvqc2-0.9.0/
$ gzip kvqc2-0.9.0.tar

### For this sandbox exercise I made up the 0.9.0 version number ... but Debian likes that and needs it!

###Initial debianisation
$ cd  kvqc2-0.9.0/
pak@pak:~/DEBIAN-SANDBOX/kvqc2/kvqc2-0.9.0$ dh_make -f ../kvqc2-0.9.0.tar.gz

Type of package: single binary, multiple binary, library, kernel module or cdbs?
 [s/m/l/k/b] s

Maintainer name : emilssen
Email-Address   : pak@pak 
Date            : Sun, 25 Apr 2010 17:21:34 +0200
Package Name    : kvqc2
Version         : 0.9.0
License         : blank
Type of Package : Single
Hit <enter> to confirm: 
Currently there is no top level Makefile. This may require additional tuning.
Done. Please edit the files in the debian/ subdirectory now. You should also
check that the kvqc2 Makefiles install into $DESTDIR and not in / .
pak@pak:~/DEBIAN-SANDBOX/kvqc2/kvqc2-0.9.0$ 

Lets look now into the debian directory and see what needs to be done:

pak@pak:~/DEBIAN-SANDBOX/kvqc2/kvqc2-0.9.0$ pwd
/home/pak/DEBIAN-SANDBOX/kvqc2/kvqc2-0.9.0
pak@pak:~/DEBIAN-SANDBOX/kvqc2/kvqc2-0.9.0$ ls debian
changelog  emacsen-install.ex  manpage.1.ex     preinst.ex
compat     emacsen-remove.ex   manpage.sgml.ex  prerm.ex
control    emacsen-startup.ex  manpage.xml.ex   README.Debian
copyright  init.d.ex           menu.ex          rules
cron.d.ex  init.d.lsb.ex       patches          watch.ex
dirs       kvqc2-default.ex    postinst.ex
docs       kvqc2.doc-base.EX   postrm.ex
pak@pak:~/DEBIAN-SANDBOX/kvqc2/kvqc2-0.9.0$ 

control

Some initial minor mods:

Source: kvqc2
Section: science
Priority: extra
Maintainer: kvalobs <kvalobs@met.no>
Build-Depends: debhelper (>= 5)
Standards-Version: 3.7.2

Package: kvqc2
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
 <insert long description, indented with spaces>

How to find what to put in Build-Depends, go to an autobuilt version of kvqc2:

kvalobs@pak:~/kvQc2-svn/trunk$ objdump -p /metno/kvalobs/bin/kvqc2 | grep NEEDED
  NEEDED      libkvalobs_kvcpp.so.1
  NEEDED      libpuTools.so.3
  NEEDED      libboost_thread-gcc42-mt-1_34_1.so.1.34.1
  NEEDED      libboost_regex-gcc42-1_34_1.so.1.34.1
  NEEDED      libboost_filesystem-gcc42-1_34_1.so.1.34.1
  NEEDED      libboost_program_options-gcc42-1_34_1.so.1.34.1
  NEEDED      libomniDynamic4.so.1
  NEEDED      libomniORB4.so.1
  NEEDED      libomnithread.so.3
  NEEDED      libperl.so.5.8
  NEEDED      libpthread.so.0
  NEEDED      libcrypt.so.1
  NEEDED      libproj.so.0
  NEEDED      libnetcdf.so.4
  NEEDED      libnetcdf_c++.so.4
  NEEDED      libgsl.so.0
  NEEDED      libgslcblas.so.0
  NEEDED      libdl.so.2
  NEEDED      libstdc++.so.6
  NEEDED      libm.so.6
  NEEDED      libc.so.6
  NEEDED      libgcc_s.so.1
  NEEDED      libkvalobs_kvalobs.so.1
  NEEDED      libkvalobs_kvdb.so.1
  NEEDED      libkvalobs_fileutil.so.1
  NEEDED      libkvalobs_milog.so.1
  NEEDED      libkvalobs_kvskel.so.1
  NEEDED      libkvalobs_dnmithread.so.1
  NEEDED      libkvalobs_miconfparser.so.1

Or …

kvalobs@pak:~/kvQc2-svn/trunk$  dpkg-depcheck -d ./configure
...
...
Packages needed:
  postgresql-server-dev-8.3
  m4
  libc6-i686
  libomniorb4-dev
  gcc-3.4
  libboost-filesystem-dev
  libboost-thread-dev
  flex
  libsqlite3-dev
  locales
  cpp-3.4
  g77
  r-base-core
  libxml++2.6-dev
  libboost-program-options-dev
  libboost-regex-dev
  g77-3.4
  libcppunit-dev
  gawk

This leads to a first guess of (probably over the top):

Source: kvqc2
Section: science
Priority: extra
Maintainer: kvalobs <kvalobs@met.no>
Build-Depends: debhelper (>= 5), autotools-dev, lsb-base, g++ (>= 4.1.1), debconf,
 automake, libtool,  sqlite3 (>= 3.3.8), libsqlite3-dev (>= 3.3.8),
 libboost-dev (>= 1.33.1), libboost-thread-dev (>= 1.33.1),
 libboost-regex-dev (>= 1.33.1), libboost-filesystem-dev (>= 1.33.1),
 libboost-program-options-dev (>= 1.33.1), libomniorb4-dev (>= 4.0.6),
 omniidl4 (>= 4.0.6), metlibs-putools-dev (>= 3.0), libproj (>= 0.0.0),
 libperl (>= 5.8), libnetcdf (>= 4.0.0), libnetcf_c++ (>= 4.0.0), libgsl (>= 0.0.0),
 libgslcblas (>= 0.0.0), libkvalobs_kvcpp (>= 1.0.0), libkvalobs_kvalobs (>= 1.0.0),
 libkvalobs_kvdb (>= 1.0.0), libkvalobs_fileutil (>= 1.0.0),
 libkvalobs_milog (>= 1.0.0), libkvalobs_kvskel (>= 1.0.0),
 libkvalobs_dnmithread (>= 1.0.0), libkvalobs_miconfparser (>= 1.0.0)
Standards-Version: 3.7.2

Package: kvqc2
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, sqlite3
Description: Non-real-time and geo-statistical quality controls.                       
The geo-statistical algorithms will make up the QC2-ROM (space-control) 
 and will rely on: handling of data-sets comprising points from the 
 whole station network of interest, filtering of uncertain values before 
 and after checks, gridding of data and iterative techniques, 
 kriging interpolation and cross-validation, as well as the additional 
 user-defined algorithms performing specific checks on data selected 
 by the QC2-ROM engine in both time and/or space.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • kvalobs/kvoss/system/qc2/8hdk376snf09zj37dk82s92/debian-build-notes.1272316887.txt.gz
  • Last modified: 2022-05-31 09:23:18
  • (external edit)