Table of Contents

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.

TODO FIXME

THIS STEP NOT INCLUDED …. did not provide clear results, docs not clear

   $ dpkg -S libfoo.so.6

Then you just take -dev version of every package as Build-Depends entry.

TODO FIXME

Minor changes to the “rules” file, and added some flag spec from the synopd case

compat echo 7 > debian/compat

/ not available on the ubuntu system … so this went back to 5 Now try to make a package by writing in . the source directory:

$ dpkg-buildpackage

Now try to sort out all the dependencies … many errors:

	dpkg-shlibdeps -Tdebian/kvqc2.substvars debian/kvqc2/usr/local/bin/kvqc2
dpkg-shlibdeps: failure: no dependency information found for /metno/kvalobs/lib/libkvalobs_dnmithread.so.1 (used by debian/kvqc2/usr/local/bin/kvqc2).
dh_shlibdeps: command returned error code 512
make: *** [binary-arch] Error 1
dpkg-buildpackage: failure: fakeroot debian/rules binary gave error exit status 2

I would like to include items such as metlibs-putools-dev but caanot get access to the internal met sources from my external machine, i.e. such like:

$ apt-get update
...
W: Failed to fetch http://mirror.oslo.dnmi.no/development/dists/etch/contrib/i18n/Translation-en_US.bz2  Could not connect to mirror.oslo.dnmi.no:80 (157.249.16.70). - connect (111 Connection refused)
...

http://mirror.oslo.dnmi.no/development

Switching to Internal Test Machine

Work has been switched to an internal virtual machine where package dependencies are more easily met. Since the machine wants to remain confidential she is hereafter referred to as AGNES.

The following are addiitonal libraries installed on AGNES to compile Qc2:

 apt-get install libgsl0-dbg
 apt-get install libgsl0-dev
 apt-get install proj
 apt-get install netcdfg-dev

Then test the build:

 autoreconf -i
./configure --prefix=$MY-DIRS/deploy
 make
 make install

Afterwards ran as kvalobs: $MY-DIRS/deploy/bin/kvqc2 OUTPUT as follows:

INFO: 
-- Reading configuration from file </etc/kvalobs/kvalobs.conf>!
INFO: 
-- Configuration file loaded!
INFO: 
-- Using 'database.dbconnect' from configuration file
FROM CONFIGURATION FILE: pgdriver.so
FROM CONFIGURATION FILE: 
HTMLPATH
HTMLPATH
Logging to file </var/log/kvalobs/Qc2.log>!
HTMLPATH/var/log/kvalobs/html
INFO: (Qc2 ...)
-- Qc2: starting ....
INFO: (Qc2 ...)
-- Using <kvtest-dev-vm101-test/> as path in CORBA nameserver
INFO: (Qc2 ...)
-- Using CORBA nameserver at: corbans.met.no
INFO: (Qc2 ...)
-- Soup
arg 0: /home/paulee/deploy/bin/kvqc2
INFO: (Qc2 ...)
-- Loading driver for database engine </usr/lib/kvalobs/db/pgdriver.so>!
INFO: (Qc2 ...)
-- Driver <PostgreSQL> loaded!
INFO: (Qc2 ...)
-- Writing pid to file </var/run/kvalobs/kvQc2-dev-vm101.pid>!
INFO: 
-- Qc2Work: starting work thread!
INFO: 
-- New database connection (PostgreSQL) created!
DEBUG: 
-- Created a new connection to the database!
INFO: 
-- %%%%%%%%%%%%%%%%%%%%%%%%
Scanning For Files
Does not exist: /etc/kvalobs/Qc2Config
INFO: (Qc2 ...)
-- Writing pid to file </var/run/kvalobs/Qc2-dev-vm101.pid>!
Scanning For Files
Does not exist: /etc/kvalobs/Qc2Config

First debian package construction ...

 mkdir DEBIAN-SANDBOX
 cd DEBIAN-SANDBOX/
svn co https://svn.met.no/kvoss/kvQc2/trunk/
mv trunk kvqc2-0.9.0
tar cvf kvqc2-0.9.0.tar kvqc2-0.9.0/
gzip kvqc2-0.9.0.tar

Now I would do something like the following if from scratch … but this has already been done and the “debain” directory exists in the svn repositpory. But I just add this box here for reference (note my paths were a little different on pak (extra kvqc2):

###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$ 
cd kvqc2-0.9.0
dpkg-buildpackage -rfakeroot

Some useful commands:

 dpkg --get-selections # see what is installed
 dpgk -s kvalobs # get all the details on a package

Running “dpgk -s kvalobs” one can see all the dependencies defined for kvalobs, jolly useful for building like packages. For kvqc2 .. just need to add “kvalobs” to the control:

 cat kvqc2-0.9.0/debian/control 
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), kvalobs (>=2.1.2)
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 space.

See the svn repository https://svn.met.no/viewvc/kvoss/kvQc2/ Revision 1551 for the debian “control” and “rules” specified.

And is does seem to install:

User@AGNES:~/DEBIAN-SANDBOX$ sudo dpkg -i kvqc2_0.9.0-1_i386.deb
Selecting previously deselected package kvqc2.
(Reading database ... 43963 files and directories currently installed.)
Unpacking kvqc2 (from kvqc2_0.9.0-1_i386.deb) ...
Setting up kvqc2 (0.9.0-1) ...
User@AGNES:~/DEBIAN-SANDBOX$ which kvqc2
/usr/bin/kvqc2

ToDos

Make New Package

1. First prepare the source. Make a new branch in the svn distribution. Copy the development tree. Actually not a branch but a tagged version!!!

Make a copy of the development directory … first to a branch:

svn copy https://svn.met.no/kvoss/kvQc2/trunk/ https://svn.met.no/kvoss/kvQc2/branches/kvqc2-1.0.1/ -m 'branch for preparation of version 1.0.1 for debianisation'

Check out:

$ # On the development machine:
$ cd $HOME
$ svn co https://svn.met.no/kvoss/kvQc2/branches/kvqc2-1.0.1

platform)

CHANGES: To make a clean/safe distribution:

When work is finished for the release then I copy to the tags!

svn copy https://svn.met.no/kvoss/kvQc2/branches/kvqc2-1.0.1/ https://svn.met.no/kvoss/kvQc2/tags/kvqc2-1.0.1/ -m 'finalised version'

kvqc2-1.0.0

8-O … on dev-vm101: 8-O

  $ cd  /home/paulee/kvqc2-1.0.0
  $ svn co https://svn.met.no/kvoss/kvQc2/branches/kvqc2-1.0.0/
  $ tar cvf kvqc2-1.0.0.tar kvqc2-1.0.0/
  $ gzip kvqc2-1.0.0.tar
  $ cd kvqc2-1.0.0/
  $ dh_make -f ../kvqc2-1.0.0.tar.gz
  $ cd debian
  $ vi control
  $ vi rules
  $ vi copyright 
  $ vi changelog 
  $ vi compat
  $ cd .. 
  $ dpkg-buildpackage -rfakeroot
  
  $ svn add debian
  $ svn revert debian/kvqc2 --recursive
  $ svn commit -m 'kvqc2-1.0.0 debian files'

  $~/kvqc2-1.0.0$ lintian kvqc2_1.0.0-1_i386.deb 
    W: kvqc2: binary-without-manpage kvqc2
    W: kvqc2: zero-byte-file-in-doc-directory usr/share/doc/kvqc2/changelog.gz
    E: kvqc2: copyright-should-refer-to-common-license-file-for-gpl
    W: kvqc2: description-synopsis-might-not-be-phrased-properly
    W: kvqc2: maintainer-not-full-name kvalobs

  $  sudo dpkg -i kvqc2_1.0.0-1_i386.deb 
    (Reading database ... 44109 files and directories currently installed.)
    Preparing to replace kvqc2 0.9.0-1 (using kvqc2_1.0.0-1_i386.deb) ...
    Unpacking replacement kvqc2 ...
    Setting up kvqc2 (1.0.0-1) ...

To run

!!! Is this a problem:

kvalobs@dev-vm101:~$ ls -l /usr/bin/kvQabased 
-rwxrwxr-- 1 root kvalobs 6564612 May 21 15:13 /usr/bin/kvQabased
kvalobs@dev-vm101:~$ ls -l /usr/bin/kvqc2     
-rwxr-xr-x 1 root root 937716 May 30 23:41 /usr/bin/kvqc2

Results of test run:

ONE TIME SERIES:

kvalobs=# select * from data where obstime>'2010-05-29 05:00:00' and  obstime<'2010-05-29 12:00:00'  and stationID=24710 and paramid=211;
 stationid |       obstime       | original | paramid |       tbtime        | typeid | sensor | level | corrected |   controlinfo    |     useinfo      |             cfailed             
-----------+---------------------+----------+---------+---------------------+--------+--------+-------+-----------+------------------+------------------+---------------------------------
     24710 | 2010-05-29 06:00:00 |      5.9 |     211 | 2010-05-29 05:57:26 |    342 | 0      |     0 |       5.9 | 1111000000000010 | 7000000000000000 | 
     24710 | 2010-05-29 07:00:00 |      7.4 |     211 | 2010-05-29 19:57:21 |    342 | 0      |     0 |       7.4 | 1111000000100010 | 7100000400000000 | 
     24710 | 2010-05-29 08:00:00 |   -32767 |     211 | 2010-05-29 08:30:09 |    342 | 0      |     0 |      11.2 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     24710 | 2010-05-29 09:00:00 |     12.9 |     211 | 2010-05-29 19:57:21 |    342 | 0      |     0 |      12.9 | 1110000000100010 | 7100000400000000 | 
     24710 | 2010-05-29 10:00:00 |   -32767 |     211 | 2010-05-29 10:30:13 |    342 | 0      |     0 |    -32767 | 0000003000000000 | 9899900000000000 | 
     24710 | 2010-05-29 11:00:00 |   -32767 |     211 | 2010-05-29 11:30:07 |    342 | 0      |     0 |    -32767 | 0000003000000000 | 9899900000000000 | 
(6 rows)

OTHER EXAMPLES CAN BE FOUND HERE:

kvalobs=# select * from data where cfailed like '%Qc2%' and obstime>'2010-05-28';
 stationid |       obstime       | original | paramid |       tbtime        | typeid | sensor | level | corrected |   controlinfo    |     useinfo      |             cfailed             
-----------+---------------------+----------+---------+---------------------+--------+--------+-------+-----------+------------------+------------------+---------------------------------
     72580 | 2010-05-30 21:00:00 |   -32767 |     211 | 2010-05-30 21:30:04 |    311 | 0      |     0 |       7.6 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     72580 | 2010-05-30 19:00:00 |   -32767 |     211 | 2010-05-30 19:30:11 |    311 | 0      |     0 |       8.6 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     99754 | 2010-05-30 18:00:00 |   -32767 |     211 | 2010-05-30 18:30:09 |    330 | 0      |     0 |       0.6 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     25110 | 2010-05-30 03:00:00 |   -32767 |     211 | 2010-05-30 03:30:04 |    311 | 0      |     0 |      -1.3 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     10380 | 2010-05-29 10:00:00 |   -32767 |     211 | 2010-05-29 10:30:11 |    311 | 0      |     0 |       5.7 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     47260 | 2010-05-29 10:00:00 |   -32767 |     211 | 2010-05-29 10:30:10 |    311 | 0      |     0 |      11.2 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     99754 | 2010-05-29 09:00:00 |   -32767 |     211 | 2010-05-29 09:30:07 |    330 | 0      |     0 |       0.8 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     24710 | 2010-05-29 08:00:00 |   -32767 |     211 | 2010-05-29 08:30:09 |    342 | 0      |     0 |      11.2 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     90490 | 2010-05-29 07:00:00 |   -32767 |     211 | 2010-05-29 07:30:11 |    311 | 0      |     0 |      12.8 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     18500 | 2010-05-29 05:00:00 |   -32767 |     211 | 2010-05-29 05:30:07 |    342 | 0      |     0 |       6.3 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     96310 | 2010-05-29 03:00:00 |   -32767 |     211 | 2010-05-29 03:30:09 |    311 | 0      |     0 |       2.9 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     18500 | 2010-05-28 20:00:00 |   -32767 |     211 | 2010-05-28 20:30:08 |    342 | 0      |     0 |       5.9 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     29720 | 2010-05-28 17:00:00 |   -32767 |     211 | 2010-05-28 17:30:04 |    311 | 0      |     0 |       3.4 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     29720 | 2010-05-28 13:00:00 |   -32767 |     211 | 2010-05-28 13:30:11 |    311 | 0      |     0 |       5.4 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     98580 | 2010-05-28 10:00:00 |   -32767 |     211 | 2010-05-28 10:30:10 |    311 | 0      |     0 |       2.4 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     93900 | 2010-05-28 04:00:00 |   -32767 |     211 | 2010-05-28 04:30:14 |    330 | 0      |     0 |       0.3 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
     90490 | 2010-05-28 04:00:00 |   -32767 |     211 | 2010-05-28 04:30:12 |    311 | 0      |     0 |         9 | 0000001100000000 | 9894900000000000 |  Qc2 UnitT corrected was:-32767
(17 rows)

Dupload the Package

Some first steps:

FIXME THat which follows is a debian hardy dupload … should be etch. This is corrected at the bottom of this documentation!

From the met.no pc:
$ ssh-copy-id repo.met.no
$ ssh 'repo.met.no'   # to check

... on dev-vm101

$  sudo apt-get install dupload
# I then had to edit the conf file as root (dodgy) perhaps I should have made a local one??

$ sudo vi /etc/dupload.conf 

and sneaked the following info in:

$cfg{'hardy-devel'} = {
	fqdn => "repo.met.no",
	method => "scpb",
	incoming => "/incoming/devel/hardy/main",
	dinstall_runs => 1,
	preupload=> {
		changes=>'sed -i "s/^Distribution:.*$/Distribution: hardy/g" %1',
	},
};

See https://dokit.met.no/sysdok/linux/server/utviklingsspeil_reprepro for wonderful documentation on this!

And now the actual DupLoad

… the following was all done on dev-vm101

NB NB first good to use the "--no" option that will tell you the results without
doing anything!!!
paule@dev-vm101:~/kvqc2-1.0.0$ sudo dupload --no --to hardy-devel /home/paulee
...
...

And now lets go for it ...

paule@dev-vm101:~/kvqc2-1.0.0$ sudo dupload --to hardy-devel /home/paulee/kvqc2-1.0.0/kvqc2_1.0.0-1_i386.changes 
dupload note: no announcement will be sent.
Uploading (scpb) to repo.met.no:/incoming/devel/hardy/main
[ job kvqc2_1.0.0-1_i386 from kvqc2_1.0.0-1_i386.changes
 kvqc2_1.0.0-1_i386.deb, md5sum ok
 kvqc2_1.0.0.orig.tar.gz, md5sum ok
 kvqc2_1.0.0-1.diff.gz, md5sum ok
 kvqc2_1.0.0-1.dsc, md5sum ok
 kvqc2_1.0.0-1_i386.changes ok ]
Uploading (scp) to hardy-devel (repo.met.no)
[ Uploading job kvqc2_1.0.0-1_i386
 kvqc2_1.0.0-1_i386.deb 269.3 kB, ok
 kvqc2_1.0.0.orig.tar.gz 410.9 kB, ok
 kvqc2_1.0.0-1.diff.gz 8.1 kB, ok
 kvqc2_1.0.0-1.dsc 0.7 kB, ok
 kvqc2_1.0.0-1_i386.changes 0.7 kB, ok
The authenticity of host 'repo.met.no (157.249.16.133)' can't be established.
RSA key fingerprint is b5:6a:9d:fb:37:1d:8c:13:b7:ef:f2:d8:0e:07:60:86.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'repo.met.no,157.249.16.133' (RSA) to the list of known hosts.
paule@repo.met.no's password: 
Permission denied, please try again.
paule@repo.met.no's password: 
kvqc2_1.0.0-1_i386.deb                                                                                             100%  269KB 269.3KB/s   00:00    
kvqc2_1.0.0.orig.tar.gz                                                                                            100%  411KB 410.9KB/s   00:00    
kvqc2_1.0.0-1.diff.gz                                                                                              100% 8297     8.1KB/s   00:00    
kvqc2_1.0.0-1.dsc                                                                                                  100%  692     0.7KB/s   00:00    
kvqc2_1.0.0-1_i386.changes                                                                                         100%  704     0.7KB/s   00:00    
 ]
paule@dev-vm101:~/kvqc2-1.0.0$ 

Yiiippeeee

The above was a little weird

paule@dev-vm101:~/kvqc2-1.0.0$ dupload --no --to etch-devel /home/paulee/kvqc2-1.0.0/kvqc2_1.0.0-1_i386.changes
dupload note: no announcement will be sent.
Uploading (scpb) to repo.met.no:/incoming/devel/etch/main
[ job kvqc2_1.0.0-1_i386 from kvqc2_1.0.0-1_i386.changes
 kvqc2_1.0.0-1_i386.deb, md5sum ok
 kvqc2_1.0.0.orig.tar.gz, md5sum ok
 kvqc2_1.0.0-1.diff.gz, md5sum ok
 kvqc2_1.0.0-1.dsc, md5sum ok
 kvqc2_1.0.0-1_i386.changes ok ]
Uploading (scp) to etch-devel (repo.met.no)
[ Uploading job kvqc2_1.0.0-1_i386
 kvqc2_1.0.0-1_i386.deb 269.3 kB, ok
 kvqc2_1.0.0.orig.tar.gz 410.9 kB, ok
 kvqc2_1.0.0-1.diff.gz 8.1 kB, ok
 kvqc2_1.0.0-1.dsc 0.7 kB, ok
 kvqc2_1.0.0-1_i386.changes 0.7 kB, ok
+ scp  kvqc2_1.0.0-1_i386.deb kvqc2_1.0.0.orig.tar.gz kvqc2_1.0.0-1.diff.gz kvqc2_1.0.0-1.dsc kvqc2_1.0.0-1_i386.changes  paule@repo.met.no:/incoming/devel/etch/main
+ ssh -x -l paule repo.met.no 'cd /incoming/devel/etch/main;'
+ log to kvqc2_1.0.0-1_i386.upload

+ log successful upload
 ]
paule@dev-vm101:~/kvqc2-1.0.0$ dupload --to etch-devel /home/paulee/kvqc2-1.0.0/kvqc2_1.0.0-1_i386.changes
dupload note: no announcement will be sent.
Uploading (scpb) to repo.met.no:/incoming/devel/etch/main
[ job kvqc2_1.0.0-1_i386 from kvqc2_1.0.0-1_i386.changes
 kvqc2_1.0.0-1_i386.deb, md5sum ok
 kvqc2_1.0.0.orig.tar.gz, md5sum ok
 kvqc2_1.0.0-1.diff.gz, md5sum ok
 kvqc2_1.0.0-1.dsc, md5sum ok
 kvqc2_1.0.0-1_i386.changes ok ]
Uploading (scp) to etch-devel (repo.met.no)
[ Uploading job kvqc2_1.0.0-1_i386
 kvqc2_1.0.0-1_i386.deb 269.3 kB, ok
 kvqc2_1.0.0.orig.tar.gz 410.9 kB, ok
 kvqc2_1.0.0-1.diff.gz 8.1 kB, ok
 kvqc2_1.0.0-1.dsc 0.7 kB, ok
 kvqc2_1.0.0-1_i386.changes 0.7 kB, ok
Enter passphrase for key '/home/paulee/.ssh/id_dsa': 
kvqc2_1.0.0-1_i386.deb                        100%  269KB 269.3KB/s   00:00    
kvqc2_1.0.0.orig.tar.gz                       100%  411KB 410.9KB/s   00:00    
kvqc2_1.0.0-1.diff.gz                         100% 8297     8.1KB/s   00:00    
kvqc2_1.0.0-1.dsc                             100%  692     0.7KB/s   00:00    
kvqc2_1.0.0-1_i386.changes                    100%  703     0.7KB/s   00:00    
 ]
paule@dev-vm101:~/kvqc2-1.0.0$ 

And Bob is once more your Uncle!

Note: the kvqc2 package is debian etch and not hardy!!!!!