{"action":"created","issue":{"url":"https://api.github.com/repos/clearkimura/Customizer/issues/131","repository_url":"https://api.github.com/repos/clearkimura/Customizer","labels_url":"https://api.github.com/repos/clearkimura/Customizer/issues/131/labels{/name}","comments_url":"https://api.github.com/repos/clearkimura/Customizer/issues/131/comments","events_url":"https://api.github.com/repos/clearkimura/Customizer/issues/131/events","html_url":"https://github.com/clearkimura/Customizer/issues/131","id":180077321,"number":131,"title":"Packaging errors check by lintian","user":{"login":"clearkimura","id":1223304,"avatar_url":"https://avatars.githubusercontent.com/u/1223304?v=3","gravatar_id":"","url":"https://api.github.com/users/clearkimura","html_url":"https://github.com/clearkimura","followers_url":"https://api.github.com/users/clearkimura/followers","following_url":"https://api.github.com/users/clearkimura/following{/other_user}","gists_url":"https://api.github.com/users/clearkimura/gists{/gist_id}","starred_url":"https://api.github.com/users/clearkimura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clearkimura/subscriptions","organizations_url":"https://api.github.com/users/clearkimura/orgs","repos_url":"https://api.github.com/users/clearkimura/repos","events_url":"https://api.github.com/users/clearkimura/events{/privacy}","received_events_url":"https://api.github.com/users/clearkimura/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/clearkimura/Customizer/labels/Fixed","name":"Fixed","color":"02d7e1"}],"state":"open","locked":false,"assignee":{"login":"clearkimura","id":1223304,"avatar_url":"https://avatars.githubusercontent.com/u/1223304?v=3","gravatar_id":"","url":"https://api.github.com/users/clearkimura","html_url":"https://github.com/clearkimura","followers_url":"https://api.github.com/users/clearkimura/followers","following_url":"https://api.github.com/users/clearkimura/following{/other_user}","gists_url":"https://api.github.com/users/clearkimura/gists{/gist_id}","starred_url":"https://api.github.com/users/clearkimura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clearkimura/subscriptions","organizations_url":"https://api.github.com/users/clearkimura/orgs","repos_url":"https://api.github.com/users/clearkimura/repos","events_url":"https://api.github.com/users/clearkimura/events{/privacy}","received_events_url":"https://api.github.com/users/clearkimura/received_events","type":"User","site_admin":false},"assignees":[{"login":"clearkimura","id":1223304,"avatar_url":"https://avatars.githubusercontent.com/u/1223304?v=3","gravatar_id":"","url":"https://api.github.com/users/clearkimura","html_url":"https://github.com/clearkimura","followers_url":"https://api.github.com/users/clearkimura/followers","following_url":"https://api.github.com/users/clearkimura/following{/other_user}","gists_url":"https://api.github.com/users/clearkimura/gists{/gist_id}","starred_url":"https://api.github.com/users/clearkimura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clearkimura/subscriptions","organizations_url":"https://api.github.com/users/clearkimura/orgs","repos_url":"https://api.github.com/users/clearkimura/repos","events_url":"https://api.github.com/users/clearkimura/events{/privacy}","received_events_url":"https://api.github.com/users/clearkimura/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/clearkimura/Customizer/milestones/2","html_url":"https://github.com/clearkimura/Customizer/milestones/4.1.3","labels_url":"https://api.github.com/repos/clearkimura/Customizer/milestones/2/labels","id":2024403,"number":2,"title":"4.1.3","description":"This milestone takes over selected issues from 4.2.0, which have been successfully fixed in unreleased source. These fixes will be pushed earlier in patched release 4.1.3 instead.","creator":{"login":"clearkimura","id":1223304,"avatar_url":"https://avatars.githubusercontent.com/u/1223304?v=3","gravatar_id":"","url":"https://api.github.com/users/clearkimura","html_url":"https://github.com/clearkimura","followers_url":"https://api.github.com/users/clearkimura/followers","following_url":"https://api.github.com/users/clearkimura/following{/other_user}","gists_url":"https://api.github.com/users/clearkimura/gists{/gist_id}","starred_url":"https://api.github.com/users/clearkimura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clearkimura/subscriptions","organizations_url":"https://api.github.com/users/clearkimura/orgs","repos_url":"https://api.github.com/users/clearkimura/repos","events_url":"https://api.github.com/users/clearkimura/events{/privacy}","received_events_url":"https://api.github.com/users/clearkimura/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":3,"state":"open","created_at":"2016-09-23T14:01:27Z","updated_at":"2016-10-21T15:35:47Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2016-09-29T15:11:24Z","updated_at":"2016-10-21T19:36:54Z","closed_at":null,"body":"This issue is part of issue #129 that aims to check the Debian package for errors [using lintian](https://www.debian.org/doc/manuals/maint-guide/checkit.en.html#lintians). I have already looked into this issue during the past weeks and noted the following.\r\n\r\n**How to use `lintian`**\r\n\r\nWhen running `make deb` command to create Debian package for Customizer, there is a `*.changes` file that will be generated automatically. This file is used by lintian to check the package for errors.\r\n\r\n```\r\nlintian -i -I --show-overrides *.changes\r\n```\r\n\r\nThe output of the lintian command uses the following flags:\r\n\r\n* E: for error; a sure policy violation or packaging error.\r\n* W: for warning; a possible policy violation or packaging error.\r\n* I: for info; information on certain aspects of packaging.\r\n* N: for note; a detailed message to help your debugging.\r\n* O: for overridden; a message overridden by the lintian-overrides files but displayed by the --show-overrides option.\r\n\r\n**Which has the priority**\r\n\r\nI suggest the priority is to attend errors containing flag `E` only, and fix if necessary.\r\n\r\n**A. Won't fix**\r\n\r\n1. Unresolved warning `dpkg-gencontrol: ...unknown substitution variable ${shlibs:Depends}, ${python:Depends}` after running `make deb`\r\n\r\n -- These warnings are seen when running `make deb` to create Debian package for Customizer, but does *not* originate from checking by lintian command;\r\n\r\n -- These warnings seem to be harmless as noted by [this old thread on Ubuntu forum](https://ubuntuforums.org/showthread.php?t=1204413) and [this old thread on Debian mailing list](https://lists.debian.org/debian-python/2007/03/msg00025.html).\r\n\r\n2. `E: bad-distribution-in-changes-file` for unknown target distribution `unstable`\r\n\r\n -- This warning is only seen when running `lintian` in Ubuntu (`--profile ubuntu`). Else, this won't be seen in Debian (`--profile debian`);\r\n\r\n -- Default is `unstable` in Debian docs anyway; This refers to the package status and *not* to be confused with stability of code itself.\r\n\r\n**B. Ignored**\r\n\r\n1. `W: binary-without-manpage` in `usr/sbin/customizer` and `usr/sbin/customizer-gui`\r\n\r\n -- The warning explains that \"Each binary in /usr/bin, /usr/sbin, /bin, /sbin or /usr/games should have a manual page\" but some applications ignores this aspect of packaging.\r\n\r\n2. `I: desktop-entry-lacks-keywords-entry` in `usr/share/applications/customizer.desktop`\r\n\r\n -- The \"Keywords\" field intended to improve searching for applications, however found notable for [search experience in GNOME Shell](https://wiki.gnome.org/Initiatives/GnomeGoals/DesktopFileKeywords) and seems irrelevant for others such as Xfce and Unity.\r\n\r\n3. `W: desktop-command-not-in-package` in `usr/share/applications/customizer.desktop` (from `data/customizer.desktop.in`)\r\n\r\n4. `W: menu-command-not-in-package` in `usr/share/menu/customizer` (from `data/customizer.menu.in`)\r\n\r\n -- Both B.3, B.4 are due to `pkexec` command not found in package; But that is provided by `policykit-1: /usr/bin/pkexec`; This warning appears despite dependency is included.\r\n\r\n**C. Fixable**\r\n\r\n1. [`E: bad-test-in-menu-item`](https://lintian.debian.org/tags/bad-test-in-menu-item.html) in `usr/share/menu/customizer` (from `data/customizer.menu.in`)\r\n\r\n -- Errata in line 1; Revise `\"?package(customizer)\": \\` to `?package(customizer): \\`\r\n\r\n2. [`E: menu-icon-not-in-xpm-format`](https://lintian.debian.org/tags/menu-icon-not-in-xpm-format.html) in `usr/share/menu/customizer` (from `data/customizer.menu.in`)\r\n\r\n -- Errata in line 7; Remove this line, since the `icon` field is optional; Many GUI applications don't use this field. Don't confuse this with `.desktop` file that is actually used by application menu in Desktop Environment.\r\n\r\n3. [`E:unparsable-menu-item`](https://lintian.debian.org/tags/unparsable-menu-item.html) in `usr/share/menu/customizer` (from `data/customizer.menu.in`)\r\n\r\n -- This error appeared after fixing C.1, C.2;\r\n\r\n -- Maybe errata in line 3; Remove this line because the field is optional according to [this Debian docs](https://www.debian.org/doc/packaging-manuals/menu.html/ch3.html#s3.8); Also, longer description should have used `longtitle=` instead of `hints=`; But most GUI program don't even include this field, and since optional, this is better removed.\r\n\r\n -- Still had error; Revise `\"x11\"` to `\"X11\"`; Still had error; Remove last trailing newline `\\` in line 5 and the error is finally resolved; Such a trivial errata.\r\n\r\n4. [`E: python-script-but-no-python-dep`](https://lintian.debian.org/tags/python-script-but-no-python-dep.html) in `debian/control`\r\n\r\n -- Errata in line 15-17; Following the line containing `Depends:`, include `${python:Depends}` before `libpython2.7`; Based on dependencies in \"First Guide\" and \"Installation\" on Wiki\r\n\r\n -- Adding `${python:Depends}` will correctly include `python` as dependency with appropriate version, unlike existing that doesn't include any;\r\n\r\n -- Even with above correction, the error still persists (There may be something else to edit?)\r\n\r\n -- Quoted text from lintian error:\r\n\r\n > N:    For example, if a script in the package uses #!/usr/bin/python, the\r\n > N:    package needs a dependency on python. If a script uses\r\n > N:    #!/usr/bin/python2.6, the package needs a dependency on python2.6. A\r\n > N:    dependency on python (>= 2.6) is not correct, since later versions of\r\n > N:    Python may not provide the /usr/bin/python2.6 binary.\r\n\r\n --  I suspect this has something to do with usage of hashbang line in each Python scripts; Currently all scripts are using `#!/usr/bin/python2` (Based on [this Debian Python Policy](https://www.debian.org/doc/packaging-manuals/python-policy/ch-python.html#s-interpreter), this line may be revised to `/python2.7`? -- Yes, the error disappears after scripts were revised!)\r\n\r\n -- So I guess I will have to revise the hashbang lines for all Python scripts; I have confirmed that `/usr/bin/python2.7` is provided by `python2.7-minimal` package in both Ubuntu (from Precise/12.04 and newer) and Debian (from Wheezy/7.x and newer).\r\n\r\n -- When I test Customizer with revised hashbang lines, using unreleased source on my local machine, I feel the program runs noticeably faster and responsive than before... (or this is just me?)\r\n\r\n**What will be fixed**\r\n\r\nI hope to apply the fixes for **C. Fixable** in patched release 4.1.3."},"comment":{"url":"https://api.github.com/repos/clearkimura/Customizer/issues/comments/255447981","html_url":"https://github.com/clearkimura/Customizer/issues/131#issuecomment-255447981","issue_url":"https://api.github.com/repos/clearkimura/Customizer/issues/131","id":255447981,"user":{"login":"clearkimura","id":1223304,"avatar_url":"https://avatars.githubusercontent.com/u/1223304?v=3","gravatar_id":"","url":"https://api.github.com/users/clearkimura","html_url":"https://github.com/clearkimura","followers_url":"https://api.github.com/users/clearkimura/followers","following_url":"https://api.github.com/users/clearkimura/following{/other_user}","gists_url":"https://api.github.com/users/clearkimura/gists{/gist_id}","starred_url":"https://api.github.com/users/clearkimura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clearkimura/subscriptions","organizations_url":"https://api.github.com/users/clearkimura/orgs","repos_url":"https://api.github.com/users/clearkimura/repos","events_url":"https://api.github.com/users/clearkimura/events{/privacy}","received_events_url":"https://api.github.com/users/clearkimura/received_events","type":"User","site_admin":false},"created_at":"2016-10-21T19:36:54Z","updated_at":"2016-10-21T19:36:54Z","body":"Fixed in branch repository `fix131` and created pull request.\r\n\r\nWait until I test installation on Debian, then only proceed with the pull request (squash and merge) for applying changes from `fix131` to `pre413`."}}
{"actor":{"display_login":"clearkimura"}}