Bug#772823: Review of 1.5.0-1 from mentors.debian.net

2015-08-28 Thread Frederic Bonnard
Hi,

I tried to improve things, and for the ones that needs more time or that are
more nice-to-haves, I've put a notice in the README.source as advised by Robie.

 Blocker for upload as there might be upgrade path issues later
 otherwise: ln -sf /usr/share/doc/kimchi/examples/kimchi.sub.nginx
 /etc/nginx/sites-available/kimchi (from postinst) will break policy
 https://www.debian.org/doc/debian-policy/ch-docs.html#s12.3 Packages
 must not require the existence of any files in /usr/share/doc/ in order
 to function and also the user expectation that a file in /etc can just
 be modified and normally conffile handling will occur. I suggest that
 you just install (duplicate the example in
 /usr/share/doc/kimchi/examples if you wish) to /etc as a regular
 conffile (so putting it in kimchi.install will do) instead.

I moved the copy of kimchi.sub.nginx to debian/rules.
I kept this in kimchi.postinst though :
ln -sf /etc/nginx/sites-available/kimchi /etc/nginx/sites-enabled/kimchi

 With just this fixed I will be happy to upload the package to Ubuntu and
 recommend to a DD that it is suitable for Debian (though it will still
 need the DD to review).

 package-contains-broken-symlink might be worth a lintian override as the
 symlink gets resolved when dependencies are fulfilled so is a false
 positive.

done

 I don't think the pedantic lintian warnings are an issue - if upstream
 don't sign releases then you can't verify them and you're already
 dealing with minified JS by minifying in the build and/or depending on
 the jquery package as appropriate. It might be worth writing a note for
 the Debian ftpmaster and/or Ubuntu archive admin explaining it though,
 perhaps in README.source?

done

 The postinst and postrm restart kimchid and nginx daemons. Does this
 intefere with dh_installinit #DEBHELPER# snippets at all? I see in the
 binary deb after build that it looks like it'll cause kimchi to be
 restarted twice on future upgrade, for example. I'm not sure how this
 could be improved though due to the need to restart nginx from kimchi's
 postinst. Maybe systemd might have some capability in this area?

This needs more investigation on my side or maybe other reviewers here can have
more knowledge on this. The point is :
- kimchi generate certificate at first run
- nginx needs to be restarted to take those into account
Added to README.source
Maybe with systemd we can do something smarter but the support of sysV init
scripts in debian won't help on solving the problem in a global manner.

 override_dh_auto_test is used to skip tests. It would be nice to be able
 to run any upstream tests at package build time, and/or have dep8 tests
 that can run upstream tests, but I appreciate that this may be difficult
 due to virt requirements.

This can not be simply done indeed as the tests create VMs. I've added this to 
the
README.source and will check with upstream, what can be done.

 Upstream currently generate custom DH parameters at build time. This
 will not help with uniqueness in binary distributions like Debian and
 Ubuntu and also break reproducible builds. Instead this could be done at
 install time in the postinst, though that might result in entropy
 issues, or we could ship well-known parameters instead, or by some kind
 of user choice between the two. But I am advised by a colleague in
 Ubuntu security team that this isn't an immediate security issue as-is.

ok ; added this to README.source

 I see debian/kimchid.init but this doesn't appear in the built binary.
 Should this be fixed or removed? Shipping just a systemd unit file
 is fine for Ubuntu; AIUI in Debian it's friendly to maintain it for
 users who choose a different init system.

I renamed kimchid.init to kimchi.init so that it's taken into account.
I renamed the service file so that it matches kimchi.service else lintian
complains for having the init file and service file with diffferent package 
name.

 Maybe remove /usr/share/kimchi/doc/kimchid.8 as it is shipped in
 /usr/share/man/man8/kimchid.8.gz?

Added rm in d/rules

 Should /usr/lib/python2.7/dist-packages/kimchi/API.json be in
 /usr/share/kimchi instead? I'm not really sure about this one. It does
 seem unusual to have it where it is though.

As you told me after checking, it's ok there ; including here your discussion 
with Barry :
rbasak : barry: could you please advise if installing eg.
./usr/lib/python2.7/dist-packages/kimchi/plugins/ginger/API.json is acceptable
or if that should be in /usr/share/kimchi instead? It looks unusual to me so
I thought I'd check. This is review for a new package.
10:06 rbasak : barry(I'd normally expect to see only .py files in
/usr/lib/python2.7/dist-packages)
10:07 Barryr : basak: tl;dr: it's fine.  many python libraries do include data 
files in
their directory structure, and that works well with pkg_resources.  they can
use that api to find the data files easily.  it does seem odd that those data
files don't go in /usr/share but it's normal.  moving 

Bug#772823: Review of 1.5.0-1 from mentors.debian.net

2015-08-18 Thread Robie Basak
Hi,

I've reviewed 1.5.0-1 from mentors.debian.net. Note that I am a DM and
not a DD so cannot upload this directly to Debian. My review was with my
Ubuntu core dev hat as I can upload to Ubuntu directly and would like to
do this by Ubuntu's feature freeze on Thursday, hopefully with a
concurrent request for sponsorship for a Debian upload.

I've only looked at the source and binary packages wrt. interactions
with other packages and potential upgrade path issues. I've not actually
tested the package - I assume it works.

Review notes (blockers):

Blocker for upload as there might be upgrade path issues later
otherwise: ln -sf /usr/share/doc/kimchi/examples/kimchi.sub.nginx
/etc/nginx/sites-available/kimchi (from postinst) will break policy
https://www.debian.org/doc/debian-policy/ch-docs.html#s12.3 Packages
must not require the existence of any files in /usr/share/doc/ in order
to function and also the user expectation that a file in /etc can just
be modified and normally conffile handling will occur. I suggest that
you just install (duplicate the example in
/usr/share/doc/kimchi/examples if you wish) to /etc as a regular
conffile (so putting it in kimchi.install will do) instead.

With just this fixed I will be happy to upload the package to Ubuntu and
recommend to a DD that it is suitable for Debian (though it will still
need the DD to review).


Review notes (minor):

The remaining issues I don't think need to be blockers for upload. These
are just observations as I went through; I haven't thought about them in
detail and for some of them the resolution may be that no action is
required:

package-contains-broken-symlink might be worth a lintian override as the
symlink gets resolved when dependencies are fulfilled so is a false
positive.

I don't think the pedantic lintian warnings are an issue - if upstream
don't sign releases then you can't verify them and you're already
dealing with minified JS by minifying in the build and/or depending on
the jquery package as appropriate. It might be worth writing a note for
the Debian ftpmaster and/or Ubuntu archive admin explaining it though,
perhaps in README.source?

The postinst and postrm restart kimchid and nginx daemons. Does this
intefere with dh_installinit #DEBHELPER# snippets at all? I see in the
binary deb after build that it looks like it'll cause kimchi to be
restarted twice on future upgrade, for example. I'm not sure how this
could be improved though due to the need to restart nginx from kimchi's
postinst. Maybe systemd might have some capability in this area?

override_dh_auto_test is used to skip tests. It would be nice to be able
to run any upstream tests at package build time, and/or have dep8 tests
that can run upstream tests, but I appreciate that this may be difficult
due to virt requirements.

Upstream currently generate custom DH parameters at build time. This
will not help with uniqueness in binary distributions like Debian and
Ubuntu and also break reproducible builds. Instead this could be done at
install time in the postinst, though that might result in entropy
issues, or we could ship well-known parameters instead, or by some kind
of user choice between the two. But I am advised by a colleague in
Ubuntu security team that this isn't an immediate security issue as-is.

I see debian/kimchid.init but this doesn't appear in the built binary.
Should this be fixed or removed? Shipping just a systemd unit file
is fine for Ubuntu; AIUI in Debian it's friendly to maintain it for
users who choose a different init system.

Maybe remove /usr/share/kimchi/doc/kimchid.8 as it is shipped in
/usr/share/man/man8/kimchid.8.gz?

Should /usr/lib/python2.7/dist-packages/kimchi/API.json be in
/usr/share/kimchi instead? I'm not really sure about this one. It does
seem unusual to have it where it is though.


signature.asc
Description: Digital signature