Update debian directory

74 views
Skip to first unread message

Nobuhiro Iwamatsu

unread,
Jan 21, 2013, 6:31:36 PM1/21/13
to nfc-too...@googlegroups.com
Hi, all.

I ITPed libnfc in Debian project[1].
I've updated the debian directory accordingly, and I attached.
Please check and apply?

BTW, there was a story that you want to delete the debian directory to about six months ago. 
Is there any progress? 
I think its difficult to maintain the two code here and alioth, and want to either.

Best regards,
  Nobuhiro

0010-Add-debian-s-changelog.patch
0002-Enable-varbose-build-log.patch
0003-Update-debhelper-version-to-8.patch
0008-Change-Maintainer-filed-to-myself.patch
0004-Add-support-multiarch.patch
0005-Remove-libusb-0.1-4-from-Depends.patch
0009-Add-myself-to-copyright.patch
0007-Fix-package-version-for-debian-changelog.patch
0006-Remove-.la-from-debian-libnfc-dev.install.patch
0001-Update-Standards-Version-to-3.9.4.patch

Ludovic Rousseau

unread,
Jan 22, 2013, 4:11:09 PM1/22/13
to nfc-too...@googlegroups.com
2013/1/22 Nobuhiro Iwamatsu <iwam...@gmail.com>:
> Hi, all.

Hello,

> I ITPed libnfc in Debian project[1].
> I've updated the debian directory accordingly, and I attached.
> Please check and apply?

I will test them a bit later.

> BTW, there was a story that you want to delete the debian directory to about
> six months ago.
> Is there any progress?
> I think its difficult to maintain the two code here and alioth, and want to
> either.

Exact.
I proposed to remove the debian/* files since Oxan van Leeuwen wanted
to package the software for Debian. He then stopped working on the
packaging.

If you are active maintaining the Debian package that is different.
I got no real objection the last time I proposed the idea of removing
the debian/* files from the libnfc repository.

The debian/ directory is not present in the stables archives. It is
not present in libnfc-1.7.0-rc2.tar.gz [1] for example. So you should
not have problems using a debian/ directory from alioth.
Are you using the files at [2]?.
Do you plan to also package "unreleased" version of libnfc?

Bye

[1] http://code.google.com/p/libnfc/downloads/list
[2] http://anonscm.debian.org/viewvc/collab-maint/deb-maint/libnfc/trunk/debian/

--
Dr. Ludovic Rousseau

Philippe Teuwen

unread,
Jan 22, 2013, 4:54:37 PM1/22/13
to nfc-too...@googlegroups.com
Hi all

I've no objection with steps bringing us closer to a proper Debian
packaging of course :-) but as developer I've some practical questions.
I'm used to create regularly my own debian packages for snapshot
versions, just not to mess up my config while developing.

So now if debian/* is gone, what would be the standard way/commands for
a developer to make his own package from the git repo + alioth debian/?

Of course I could maintain a local git branch but that's cheating ;-)
and I'm willing to learn

I discovered previous packager wanted to get rid of libnfc-examples and
libnfc-pn53x-examples just because it sounded too much "just examples
users don't care" but IMHO (some of) those tools have value, maybe
packaged under another name, and I'd like to see more collaboration &
sharing with the upstream development team than "it's just what I think"
decisions.

Occasionally we do changes that require changes in the debian/* files too.
How would that work then? How do we communicate needed/desired changes?

Thanks
Phil

Ludovic Rousseau

unread,
Jan 22, 2013, 5:18:26 PM1/22/13
to nfc-too...@googlegroups.com
2013/1/22 Philippe Teuwen <ph...@teuwen.org>:
> Hi all

Hello,

> I've no objection with steps bringing us closer to a proper Debian
> packaging of course :-) but as developer I've some practical questions.
> I'm used to create regularly my own debian packages for snapshot
> versions, just not to mess up my config while developing.
>
> So now if debian/* is gone, what would be the standard way/commands for
> a developer to make his own package from the git repo + alioth debian/?

What I do in the other projects I have as an upstream author and also
as a Debian maintainer is that I use the alioth debian/ directory in
the project repository.

WIth that setup:
- you have an up to date debian packaging
- you can have your own local modification to debian files if needed
(like a debug mode by default)

If the debian/ files on alioth are managed in git (that is not yet the
case) we could even use them as a git sub-module [1]

Nobuhiro, do you mind if the debian/ files on alioth are managed by
git? Now that I use git I prefer it over svn, especially to maintain
local changes in a branch.

> Of course I could maintain a local git branch but that's cheating ;-)
> and I'm willing to learn
>
> I discovered previous packager wanted to get rid of libnfc-examples and
> libnfc-pn53x-examples just because it sounded too much "just examples
> users don't care" but IMHO (some of) those tools have value, maybe
> packaged under another name, and I'd like to see more collaboration &
> sharing with the upstream development team than "it's just what I think"
> decisions.

If they are real tools the names *-example are misleading.

> Occasionally we do changes that require changes in the debian/* files too.
> How would that work then? How do we communicate needed/desired changes?

I think Nobuhiro is on this list now so just publish your changes
here. If Nobuhiro is not available I can push the changes to alioth.

Bye

[1] http://git-scm.com/book/en/Git-Tools-Submodules

--
Dr. Ludovic Rousseau

Thomas Hood

unread,
Jan 23, 2013, 7:20:44 AM1/23/13
to nfc-too...@googlegroups.com
In the past upstream maintained a debian/ subdirectory for the purpose of building usable (if perhaps not entirely policy-compliant) Debian packages. That's fine. Upstream debian/ included a changelog file where changes to upstream debian/ were documented. That's fine too. But if the package is now going to be packaged for Debian then Debian can just ignore the whole upstream debian/ subdirectory and substitute its own. I do hope we don't have to worry about licensing issues with respect to things copied from upstream debian/. :)

Question remains: How to "contribute back"? Either upstream can just start using Debian's debian/ (via git submodule or some such, as just mentioned) or relevant patches can be sent back upstream. The latter makes more sense if upstream needs to build packages differently from how Debian does.
-- 
Thomas

Thomas Hood

unread,
Jan 23, 2013, 7:43:10 AM1/23/13
to nfc-too...@googlegroups.com
I notice that debian/ is not included in the (1.7.0-rc1) tarball anyway.
-- 
Thomas

Nobuhiro Iwamatsu

unread,
Jan 23, 2013, 7:56:56 PM1/23/13
to nfc-too...@googlegroups.com
Hi, all.

2013年1月23日水曜日 7時18分26秒 UTC+9 Ludovic Rousseau:
2013/1/22 Philippe Teuwen <ph...@teuwen.org>:
> Hi all

Hello,

> I've no objection with steps bringing us closer to a proper Debian
> packaging of course :-) but as developer I've some practical questions.
> I'm used to create regularly my own debian packages for snapshot
> versions, just not to mess up my config while developing.
>
> So now if debian/* is gone, what would be the standard way/commands for
> a developer to make his own package from the git repo + alioth debian/?

What I do in the other projects I have as an upstream author and also
as a Debian maintainer is that I use the alioth debian/ directory in
the project repository.

WIth that setup:
- you have an up to date debian packaging
- you can have your own local modification to debian files if needed
(like a debug mode by default)

If the debian/ files on alioth are managed in git (that is not yet the
case) we could even use them as a git sub-module [1]

I dont like git sub-modules....
 

Nobuhiro, do you mind if the debian/ files on alioth are managed by
git? Now that I use git I prefer it over svn, especially to maintain
local changes in a branch.


I do not mind either.
However, I think as you said, to make a smooth update of Debian package, the better to maintain the debian directory package maintainers in alioth free access is good.
 
> Of course I could maintain a local git branch but that's cheating ;-)
> and I'm willing to learn
>
> I discovered previous packager wanted to get rid of libnfc-examples and
> libnfc-pn53x-examples just because it sounded too much "just examples
> users don't care" but IMHO (some of) those tools have value, maybe
> packaged under another name, and I'd like to see more collaboration &
> sharing with the upstream development team than "it's just what I think"
> decisions.

If they are real tools the names *-example are misleading.

> Occasionally we do changes that require changes in the debian/* files too.
> How would that work then? How do we communicate needed/desired changes?

I think Nobuhiro is on this list now so just publish your changes
here. If Nobuhiro is not available I can push the changes to alioth.

I will do.
But I want to use same VCS with upstream.
 

Bye

[1] http://git-scm.com/book/en/Git-Tools-Submodules

--
 Dr. Ludovic Rousseau


Nobuhiro 

Nobuhiro Iwamatsu

unread,
Jan 23, 2013, 8:05:27 PM1/23/13
to nfc-too...@googlegroups.com
I also thought that tar-ball has debian deirectory, because git repository had debian directory.

Thanks!

2013年1月23日水曜日 21時43分10秒 UTC+9 Thomas Hood:

Ludovic Rousseau

unread,
Jan 25, 2013, 8:46:07 AM1/25/13
to nfc-too...@googlegroups.com
Hello,

I pushed the changes proposed by Nobuhiro.

Nobuhiro, I have some lintian warnings you may want to fix.
W: libnfc-bin: binary-without-manpage usr/bin/nfc-scan-device
I: libnfc-bin: extended-description-is-probably-too-short
I: libnfc-pn53x-examples: extended-description-is-probably-too-short
I: libnfc4: no-symbols-control-file usr/lib/x86_64-linux-gnu/libnfc.so.4.0.0


2013/1/24 Nobuhiro Iwamatsu <iwam...@gmail.com>:
>> > Occasionally we do changes that require changes in the debian/* files
>> > too.
>> > How would that work then? How do we communicate needed/desired changes?
>>
>> I think Nobuhiro is on this list now so just publish your changes
>> here. If Nobuhiro is not available I can push the changes to alioth.
>
>
> I will do.
> But I want to use same VCS with upstream.

The same VCS tool or the same VCS repository?

Bye

--
Dr. Ludovic Rousseau

Philippe Teuwen

unread,
Jan 25, 2013, 10:10:58 AM1/25/13
to nfc-too...@googlegroups.com
On 01/25/2013 02:46 PM, Ludovic Rousseau wrote:
> Hello,
>
> I pushed the changes proposed by Nobuhiro.
>
> Nobuhiro, I have some lintian warnings you may want to fix.
> W: libnfc-bin: binary-without-manpage usr/bin/nfc-scan-device

Ref was missing in debian/libnfc-bin.install
I've pushed it now.

Phil

Ludovic Rousseau

unread,
Jan 25, 2013, 10:57:43 AM1/25/13
to nfc-too...@googlegroups.com
2013/1/25 Philippe Teuwen <ph...@teuwen.org>:
'git push' failed? I can't find your change.

Philippe Teuwen

unread,
Jan 25, 2013, 12:07:36 PM1/25/13
to nfc-too...@googlegroups.com
On 01/25/2013 04:57 PM, Ludovic Rousseau wrote:
> 'git push' failed? I can't find your change.

git push forgotten, ahem...

Nobuhiro Iwamatsu

unread,
Jan 31, 2013, 7:40:30 PM1/31/13
to nfc-too...@googlegroups.com
Hi,

2013年1月25日金曜日 22時46分07秒 UTC+9 Ludovic Rousseau:
Hello,

I pushed the changes proposed by Nobuhiro.

Nobuhiro, I have some lintian warnings you may want to fix.
W: libnfc-bin: binary-without-manpage usr/bin/nfc-scan-device
I: libnfc-bin: extended-description-is-probably-too-short
I: libnfc-pn53x-examples: extended-description-is-probably-too-short
I: libnfc4: no-symbols-control-file usr/lib/x86_64-linux-gnu/libnfc.so.4.0.0


 
OK, I did not check with -I option of lintian.
I attached patches.

0001-Add-symbols-file-for-libnfc4.patch
0002-Update-package-description.patch
0003-Add-support-libnfc4-dbg-package.patch
0004-install-nfc-emulate-forum-tag2.1-to-libnfc-examples.patch
0005-Update-to-1.7.0-rc3.patch

And I found a problem about man installation.
Please apply 0001-Add-man-of-nfc-emulate-forum-tag2-to-the-installatio.patch.

2013/1/24 Nobuhiro Iwamatsu <iwam...@gmail.com>:
>> > Occasionally we do changes that require changes in the debian/* files
>> > too.
>> > How would that work then? How do we communicate needed/desired changes?
>>
>> I think Nobuhiro is on this list now so just publish your changes
>> here. If Nobuhiro is not available I can push the changes to alioth.
>
>
> I will do.
> But I want to use same VCS with upstream.

The same VCS tool or the same VCS repository?


 VCS tools. About VCS repository, either one will be fine.

 
Bye

--
 Dr. Ludovic Rousseau


best regards,
  Nobuhiro 
0001-Add-symbols-file-for-libnfc4.patch
0002-Update-package-description.patch
0003-Add-support-libnfc4-dbg-package.patch
0004-install-nfc-emulate-forum-tag2.1-to-libnfc-examples.patch
0005-Update-to-1.7.0-rc3.patch
0001-Add-man-of-nfc-emulate-forum-tag2-to-the-installatio.patch

Philippe Teuwen

unread,
Jan 31, 2013, 7:59:05 PM1/31/13
to nfc-too...@googlegroups.com


On 02/01/2013 01:40 AM, Nobuhiro Iwamatsu wrote:
> I attached patches.

Applied.
I removed also some trailing spaces in provided patches.

Phil

Philippe Teuwen

unread,
Jan 31, 2013, 8:02:34 PM1/31/13
to nfc-too...@googlegroups.com
On 02/01/2013 01:40 AM, Nobuhiro Iwamatsu wrote:
> 0005-Update-to-1.7.0-rc3.patch

=> shouldn't be the symbols adapted too in debian/libnfc4.symbols?
1.7.0~rc2

Nobuhiro Iwamatsu

unread,
Feb 3, 2013, 6:54:33 PM2/3/13
to nfc-too...@googlegroups.com
Hi,

2013年2月1日金曜日 10時02分34秒 UTC+9 Yobi Byte:
library ABI does not change from rc2 to rc3. I did not update.
But It is good to match a version.
I attached a patch for  debian/libnfc4.symbols.
0001-Update-libnfc4.symbols-to-1.7.0-rc3.patch

Thomas Hood

unread,
Feb 4, 2013, 6:04:24 AM2/4/13
to nfc-too...@googlegroups.com
Have you guys made binary packages available somewhere?

My PPA (https://launchpad.net/~jdthood/+archive/nfc-tools) contains binary packages of libnfc 1.7.0rc2 built using the last debian materials supplied by the former (now resigned) ITPer. These packages aren't perfect but they are better than nothing.

I'd prefer to start using, and thus testing, packages built using your latest debian materials.

If you haven't made binaries available, can I please have instructions for building such binaries, using your debian materials?
-- 
Thomas

Philippe Teuwen

unread,
Feb 4, 2013, 7:29:28 AM2/4/13
to nfc-too...@googlegroups.com
On 02/04/2013 12:04 PM, Thomas Hood wrote:
> Have you guys made binary packages available somewhere?

Hi Thomas,
No.

> My PPA (https://launchpad.net/~jdthood/+archive/nfc-tools) contains
> binary packages of libnfc 1.7.0rc2 built using the last debian
> materials supplied by the former (now resigned) ITPer. These packages
> aren't perfect but they are better than nothing.
>
> I'd prefer to start using, and thus testing, packages built using your
> latest debian materials.

It's better indeed, as our debian/ is now in sync with the official one
on Alioth


> If you haven't made binaries available, can I please have instructions
> for building such binaries, using your debian materials?

Personally I just do a "fakeroot debian/rules binary" in a clean git
workdir.
It leaves the created *deb in the parent repository

Alternative used by Ludovic:

make dist # to generate libnfc-1.7.0-rc4.tar.gz
mkdir foo
cp libnfc-1.7.0-rc4.tar.gz foo
cd foo
tar xzvf libnfc-1.7.0-rc4.tar.gz
cp -a [...]/debian libnfc-1.7.0-rc4 # debian/ directory from git repo
mv libnfc-1.7.0-rc3.tar.gz libnfc_1.7.0~rc3.orig.tar.gz
cd libnfc-1.7.0-rc3
debuild

Cheers
Phil


Thomas Hood

unread,
Feb 4, 2013, 8:32:07 AM2/4/13
to nfc-too...@googlegroups.com
Thanks!

As I want to work from the release tarball and from the official debian materials I have just generated a new package for the PPA as follows.

$ tar zxf libnfc_1.7.0~rc4.orig.tar.gz
$ svn export svn+ssh://svn.debian.org/svn/collab-maint/deb-maint/libnfc/trunk/debian libnfc-1.7.0-rc4/debian
$ cd libnfc-1.7.0-rc4
$ vi debian/changelog # Edit changelog entry appropriately
$ debuild -S
$ dput ppa:jdthood/nfc-tools libnfc_1.7.0~rc4-0ppa1_source.changes

BTW, you should do something about the following at some point.  ;)

dh_autoreconf -a
sh: 1: git: not found
sh: 1: git: not found

Nobuhiro Iwamatsu

unread,
Feb 4, 2013, 7:52:40 PM2/4/13
to nfc-too...@googlegroups.com
Hi,

2013年2月4日月曜日 22時32分07秒 UTC+9 Thomas Hood:
I attached a patch which reivise this problem.

Best regards,
  Nobuhiro

 
0001-Debian-Add-patches-0001-fix-version-export.patch.patch

Ludovic Rousseau

unread,
Feb 5, 2013, 3:22:04 AM2/5/13
to nfc-too...@googlegroups.com
2013/2/5 Nobuhiro Iwamatsu <iwam...@gmail.com>:
I don't like the idea to have to patch configure.ac to build a Debian package.
The ./configure script should be smart enough to detect that git is
not available.

I will try to work on that.

Thomas Hood

unread,
Feb 5, 2013, 8:38:02 AM2/5/13
to nfc-too...@googlegroups.com
In order to build mfoc 0.10.5 against libnfc 1.7.0~rc4 I discovered that I had to add Build-Dependencies on libpcsclite-dev and libusb-dev (in addition to the obvious one on libnfc-dev). I believe that these should actually be Dependencies of libnfc-dev.

$ pkg-config --print-requires libnfc
libusb
libpcsclite

-- 
Thomas

Ludovic Rousseau

unread,
Feb 5, 2013, 8:39:14 AM2/5/13
to nfc-too...@googlegroups.com
2013/2/5 Ludovic Rousseau <ludovic....@gmail.com>:
Proposed patch:
--- /tmp/uu8lhe_configure.ac 2013-02-05 14:35:05.043624791 +0100
+++ configure.ac 2013-02-05 14:34:18.519624535 +0100
@@ -8,9 +8,10 @@ AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADER(config.h)

# GIT revison
-define([git_revision], esyscmd([sh -c "git describe"]))
-GIT_REVISION=git_revision
-AC_DEFINE_UNQUOTED([GIT_REVISION], ["$GIT_REVISION"], [GIT revision])
+GIT_REVISION=`which git > /dev/null && git describe`
+if test x"$GIT_REVISION" != x""; then
+ AC_DEFINE_UNQUOTED([GIT_REVISION], ["$GIT_REVISION"], [GIT revision])
+fi

AM_INIT_AUTOMAKE
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])


With the previous code 'git describe' was executed when configure is
generated, not when configure is executed.

I am not sure this code is needed. The only use of it is in libnfc/nfc.c:
const char *
nfc_version(void)
{
#ifdef GIT_REVISION
return GIT_REVISION;
#else
return PACKAGE_VERSION;
#endif // GIT_REVISION
}

In the present case PACKAGE_VERSION and GIT_REVISION have the same
value: "libnfc-1.7.0-rc4"

Why do we need GIT_REVISION at all?

Philippe Teuwen

unread,
Feb 5, 2013, 10:11:48 AM2/5/13
to nfc-too...@googlegroups.com
On 02/05/2013 02:39 PM, Ludovic Rousseau wrote:
> In the present case PACKAGE_VERSION and GIT_REVISION have the same
> value: "libnfc-1.7.0-rc4"
>
> Why do we need GIT_REVISION at all?

It's useful for snapshots.
If HEAD is not at a release tag, this gives something like:
libnfc-1.7.0-rc4-1-ge9dfdeb

I think your fix is ok for inclusion, do you push it?

Bye
Phil

Ludovic Rousseau

unread,
Feb 5, 2013, 1:43:53 PM2/5/13
to nfc-too...@googlegroups.com
2013/2/5 Philippe Teuwen <ph...@teuwen.org>:
> On 02/05/2013 02:39 PM, Ludovic Rousseau wrote:
>> In the present case PACKAGE_VERSION and GIT_REVISION have the same
>> value: "libnfc-1.7.0-rc4"
>>
>> Why do we need GIT_REVISION at all?
>
> It's useful for snapshots.
> If HEAD is not at a release tag, this gives something like:
> libnfc-1.7.0-rc4-1-ge9dfdeb

OK. I learnt something new.

> I think your fix is ok for inclusion, do you push it?

Pushed.

Nobuhiro Iwamatsu

unread,
Feb 5, 2013, 7:00:26 PM2/5/13
to nfc-too...@googlegroups.com
OK, I understood your point.

Nobuhiro

2013年2月5日火曜日 17時22分04秒 UTC+9 Ludovic Rousseau:

Romuald Conty

unread,
Feb 14, 2013, 3:29:45 PM2/14/13
to nfc-too...@googlegroups.com, Nobuhiro Iwamatsu
Hello,

I'm not a debian package guru and I need some help...

I just see that libnfc 1.7.0~rc4 debian package is not detected as >=1.7.0 in
Build-Depends.
In example, using mfoc debian package (dkp-buildpackage -b):
[...]
dpkg-checkbuilddeps: Unmet build dependencies: libnfc-dev (>= 1.7.0)
[...]

I agree libnfc-dev 1.7.0 RC4 may not be consider as >= 1.7.0 as its clearly <
1.7.0.

How to specify in mfoc debian package that needs >= 1.7.0 RC1 ?

Next, as a workaround I changed libnfc's debian/changelog from "1.7.0~rc4" to
"1.7.0rc4" (without '~') and now mfoc's debian package build but I read that:

"The package version is a beta version or release candidate, for example 1.0b1
or 1.0rc2
Problems will arise because dpkg will consider the final version 1.0 lower than
the beta or release candidate version. The solution is to use a version like
0.99+1.0rc2-0joe1 which uses a lower version than 1.0 (0.99) and joins the
release candidate version with a plus sign. This way the final version is
greater than the previous one: 0.99+1.0rc2-0joe1 < 1.0-0joe1. "

source: http://people.debian.org/~calvin/unofficial/

Should we really use this trick or this assumption is outdated ?

What is the right way to handle release candidate in debian packaging system ?

Thanks.

--
Romuald
signature.asc

Thomas Hood

unread,
Feb 14, 2013, 3:57:53 PM2/14/13
to nfc-too...@googlegroups.com, Nobuhiro Iwamatsu
> How to specify in mfoc debian package that needs >= 1.7.0 RC1

That's easy.  Depends: libnfc4 (>= 1.7.0~rc1)

> Should we really use this trick or this assumption is outdated ?

Using "1.7.0~rc1" is a better trick than using "1.6.99+1.7.0rc1". Either one sorts before "1.7.0" in the dpkg lexicographic order.

$ dpkg --compare-versions 1 '<<' 2 && echo yes || echo no
yes
$ dpkg --compare-versions 1 '>=' 2 && echo yes || echo no
no
$ dpkg --compare-versions 1.6.99+1.7.0rc1 '<=' 1.7.0 && echo yes || echo no
yes
$ dpkg --compare-versions 1.7.0~rc1 '<=' 1.7.0 && echo yes || echo no
yes
$ dpkg --compare-versions 1.7.0rc1 '<=' 1.7.0 && echo yes || echo no
no

-- 
Thomas
Reply all
Reply to author
Forward
0 new messages