Merge lp://staging/~rigved/computer-janitor/bug-458872 into lp://staging/computer-janitor

Proposed by Rigved Rakshit
Status: Needs review
Proposed branch: lp://staging/~rigved/computer-janitor/bug-458872
Merge into: lp://staging/computer-janitor
Diff against target: 10612 lines (+10140/-0) (has conflicts)
83 files modified
COPYING (+676/-0)
CoverageTestRunner.py (+203/-0)
Makefile (+52/-0)
NEWS (+262/-0)
README (+31/-0)
TODO (+30/-0)
computer-janitor (+41/-0)
computer-janitor-gtk (+68/-0)
computer-janitor-gtk.8 (+36/-0)
computer-janitor.8 (+222/-0)
computerjanitorapp/__init__.py (+44/-0)
computerjanitorapp/cli/main.py (+312/-0)
computerjanitorapp/gtk/dialogs.py (+125/-0)
computerjanitorapp/gtk/main.py (+32/-0)
computerjanitorapp/gtk/store.py (+162/-0)
computerjanitorapp/gtk/ui.py (+596/-0)
computerjanitorapp/terminalsize.py (+63/-0)
computerjanitorapp/tests/test_all.py (+29/-0)
computerjanitorapp/tests/test_terminalsize.py (+54/-0)
computerjanitorapp/tests/test_utilities.py (+70/-0)
computerjanitorapp/utilities.py (+51/-0)
computerjanitord/application.py (+90/-0)
computerjanitord/authenticator.py (+85/-0)
computerjanitord/collector.py (+168/-0)
computerjanitord/data/com.ubuntu.ComputerJanitor.conf (+15/-0)
computerjanitord/data/com.ubuntu.ComputerJanitor.service (+4/-0)
computerjanitord/data/com.ubuntu.computerjanitor.policy (+19/-0)
computerjanitord/errors.py (+95/-0)
computerjanitord/main.py (+120/-0)
computerjanitord/service.py (+288/-0)
computerjanitord/state.py (+92/-0)
computerjanitord/tests/data/etc/apt/sources.list (+1/-0)
computerjanitord/tests/data/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_intrepid_restricted_binary-i386_Packages (+54/-0)
computerjanitord/tests/data/var/lib/dpkg/status (+28/-0)
computerjanitord/tests/test_all.py (+41/-0)
computerjanitord/tests/test_application.py (+105/-0)
computerjanitord/tests/test_authenticator.py (+97/-0)
computerjanitord/tests/test_collector.py (+225/-0)
computerjanitord/tests/test_state.py (+141/-0)
computerjanitord/tests/test_whitelist.py (+119/-0)
computerjanitord/whitelist.py (+106/-0)
data/ComputerJanitor.ui (+552/-0)
data/computer-janitor-gtk.desktop.in (+11/-0)
debian/changelog (+576/-0)
debian/compat (+1/-0)
debian/computer-janitor-gtk.install (+6/-0)
debian/computer-janitor-gtk.lintian-overrides (+2/-0)
debian/computer-janitor.docs (+1/-0)
debian/computer-janitor.install (+8/-0)
debian/computer-janitor.postinst (+28/-0)
debian/computer-janitor.postrm (+18/-0)
debian/control (+56/-0)
debian/copyright (+35/-0)
debian/default.whitelist (+4/-0)
debian/pycompat (+1/-0)
debian/rules (+41/-0)
debian/watch (+3/-0)
janitord (+27/-0)
license-check (+72/-0)
license-exceptions (+24/-0)
plugins/add_nfs_common_plugin.py (+58/-0)
plugins/autoremoval_plugin.py (+40/-0)
plugins/autoremoval_plugin_tests.py (+54/-0)
plugins/check_admin_group_plugin.py (+85/-0)
plugins/dpkg_dotfile_plugin.py (+87/-0)
plugins/dpkg_dotfile_plugin_tests.py (+107/-0)
plugins/fstab_plugin.py (+124/-0)
plugins/fstab_plugin_tests.py (+123/-0)
plugins/landscape_stub_plugin.py (+59/-0)
plugins/landscape_stub_plugin_tests.py (+87/-0)
plugins/unsupported_plugin.py (+131/-0)
plugins/unsupported_plugin_tests.py (+103/-0)
po/POTFILES.in (+29/-0)
po/computerjanitor.pot (+289/-0)
po/es.po (+427/-0)
po/fi.po (+427/-0)
po/fr.po (+426/-0)
po/ja.po (+422/-0)
po/pl.po (+401/-0)
run_from_checkout.sh (+10/-0)
setup.cfg (+5/-0)
setup.py (+97/-0)
test-env (+31/-0)
Conflict adding file COPYING.  Moved existing file to COPYING.moved.
Conflict adding file CoverageTestRunner.py.  Moved existing file to CoverageTestRunner.py.moved.
Conflict adding file Makefile.  Moved existing file to Makefile.moved.
Conflict adding file NEWS.  Moved existing file to NEWS.moved.
Conflict adding file README.  Moved existing file to README.moved.
Conflict adding file TODO.  Moved existing file to TODO.moved.
Conflict adding file computer-janitor-gtk.8.  Moved existing file to computer-janitor-gtk.8.moved.
Conflict adding file computer-janitor-gtk.  Moved existing file to computer-janitor-gtk.moved.
Conflict adding file computer-janitor.8.  Moved existing file to computer-janitor.8.moved.
Conflict adding file computer-janitor.  Moved existing file to computer-janitor.moved.
Conflict adding file computerjanitorapp.  Moved existing file to computerjanitorapp.moved.
Conflict adding file computerjanitord.  Moved existing file to computerjanitord.moved.
Conflict adding file data.  Moved existing file to data.moved.
Conflict adding file debian.  Moved existing file to debian.moved.
Conflict adding file janitord.  Moved existing file to janitord.moved.
Conflict adding file license-check.  Moved existing file to license-check.moved.
Conflict adding file license-exceptions.  Moved existing file to license-exceptions.moved.
Conflict adding file plugins.  Moved existing file to plugins.moved.
Conflict adding file po.  Moved existing file to po.moved.
Conflict adding file run_from_checkout.sh.  Moved existing file to run_from_checkout.sh.moved.
Conflict adding file setup.cfg.  Moved existing file to setup.cfg.moved.
Conflict adding file setup.py.  Moved existing file to setup.py.moved.
Conflict adding file test-env.  Moved existing file to test-env.moved.
To merge this branch: bzr merge lp://staging/~rigved/computer-janitor/bug-458872
Reviewer Review Type Date Requested Status
Barry Warsaw Needs Fixing
Review via email: mp+56079@code.staging.launchpad.net

Description of the change

Description:
Compared the list of installed packages registered with dpkg (using a shell script because could not find python-dkpg bindings) and apt (using apt_pkg module).
The packages registered with dpkg, but not with apt, have definitely been manually installed.
So, those packages which have been manually installed are white-listed.

Fixes bug 458872

How to test:

1. Install a package manually via dpkg, like the getdeb-repository package available here: http://archive.getdeb.net/install_deb/getdeb-repository_0.1-1~getdeb1_all.deb

2. Ideally, a refresh of the apt cache or possibly a system restart is required, before the package will even register with apt-get autoremove.
Check the same with CJ.

3. apt-get autoremove should suggest that you remove getdeb-repository but CJ should not give this suggestion.

To post a comment you must log in.
Revision history for this message
Barry Warsaw (barry) wrote :

This branch has conflicts and the diff is way too big. Can you please resolve these problems and supersede this merge proposal with a fixed one? I'd like to try to fix this bug before Natty final which is coming up quickly, and if your solution pans out, it would be great to adopt.

Thanks.

review: Needs Fixing

Unmerged revisions

27. By Rigved Rakshit

computerjanitord/whitelist.py: Compared the list of installed
packages registered with dpkg and apt. This generates a list of
manually installed packages, which are whitelisted. (LP: #458872)

26. By Martin Pitt

[ Shane Harbour ]
* NEWS: fixed a typo. (LP: #726616)

[ Martin Pitt ]
* computerjanitorapp/gtk/ui.py: Update require_version() call to current
  pygobject API. Bump python-gobject dependency accordingly.
* computerjanitorapp/gtk/ui.py: Drop the "event.button.button" workaround.
  PyGI now properly handles unions, so it's just "event.button" now.

25. By Barry Warsaw

[ Loïc Minier ]
* debian/control: computer-janitor-gtk depends gir1.2-pango-1.0 not
  gir1.2-pango-2.0. (LP: #720529)

[ Barry Warsaw ]
* setup.py, computer-janitor-gtk.install: Install 24x24.png into
  /usr/share/computer-janitor which is where gtk expects it to be.
  (LP: #720743)
* Fix various apt_cache deprecation warnings.
* debian/rules:
  - Switch to dh_python2.
  - Run the unit tests at build time.
  - Add --keep to dh_installchangelogs.
  - Remove override_dh_pysupport.
* debian/control:
  - Add Build-Depends on python-dbus and update-manager-core so that the
    unit tests can be run at build time. Remove B-D on python-support.
    Change B-D to python-all for tests under all available Python versions.
  - Fix typo in descriptions.
  - Remove XB-Python-Version and add X-Python-Version for dh_python2.
* Note: 2.1.0-0ubuntu2 was a quick fix upload to the archive containing
  the above debian/control file fix.

24. By Loïc Minier

* control: computer-janitor-gtk depends gir1.2-pango-1.0 not
  gir1.2-pango-2.0; LP: #720529.
* Temporarily comment out Vcs-Bzr as I can't commit to it.

23. By Barry Warsaw

[ Martin Pitt ]
* data/ComputerJanitor.ui: Drop obsolete has_separator properties.
* run_from_checkout.sh: Drop setting of $PYTHONPATH. Current directory is
  there by default anyway, and this breaks setting it from the environment.
* computerjanitorapp/gtk/*: Port from pygtk2 to pygi. Works fully with GTK3
  now, with GTK2 we need to disable the right-click popup menu
  (popup_for_device() is introspection safe, but only exists in GTK3.
  popup() isn't introspectable).
* computerjanitorapp/gtk/ui.py: Force GTK2 for now, as we do not yet have a
  GTK3 theme in Natty, and don't carry the GTK3 stack in the default
  install.
* debian/control: Update dependencies for the pygtk → pygi switch.
* debian/control: Drop obsolete system-cleaner conflicts and gksu
  dependency.

[ Barry Warsaw ]
* Add Edit menu items for selecting and deselecting cruft.
* Bump version number.
* Update copyright years.
* Python style, whitespace, and import cleanups.
* Print error messages via logger instead of stderr.

22. By Barry Warsaw

* python-dbus cannot type-convert a set, so use a tuple for the package
  set when --all is given to the computer-janitor cli. (LP: #601585)
* Fix exceptoin when the user de-selects all cruft in the ui, then clicks
  on the 'Do' button. Instead, a dialog pops up that says there's nothing
  to do. (LP: #591433)
* Clean up some unused imports.

21. By Barry Warsaw

* debian/control: Add explicit dependency on dbus since depending on
  python-dbus does not yield an implicit dependency on dbus. (LP: #665740)
* computerjanitord/authenticator.py: Explicitly convert start-time to a
  UInt64(0). Under Natty, implicit conversion uses a UInt32 which does
  not match the CheckAuthorization signature. (LP: #676488)

20. By Matthias Klose

Rebuild with python 2.7 as the python default.

19. By Barry Warsaw

Fix icon; given by Pavol Klačanský. (LP: #434431)

18. By Barry Warsaw

Remove dependency on python-fstab since the fstab_plugin is disabled
now and no package provides python-fstab any more.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches