From owner-svn-soc-all@FreeBSD.ORG Mon Jul 29 14:59:18 2013 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 73D58B3C for ; Mon, 29 Jul 2013 14:59:18 +0000 (UTC) (envelope-from jmuniz@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6013B2C39 for ; Mon, 29 Jul 2013 14:59:18 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.7/8.14.7) with ESMTP id r6TExIXf080286 for ; Mon, 29 Jul 2013 14:59:18 GMT (envelope-from jmuniz@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.7/8.14.6/Submit) id r6TExIFi080284 for svn-soc-all@FreeBSD.org; Mon, 29 Jul 2013 14:59:18 GMT (envelope-from jmuniz@FreeBSD.org) Date: Mon, 29 Jul 2013 14:59:18 GMT Message-Id: <201307291459.r6TExIFi080284@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to jmuniz@FreeBSD.org using -f From: jmuniz@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r255303 - soc2013/jmuniz MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jul 2013 14:59:18 -0000 Author: jmuniz Date: Mon Jul 29 14:59:18 2013 New Revision: 255303 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=255303 Log: Greatly expanded on the task list in TODO. I added most of the current files and sub-projects to the document; and for each area, I listed all of the current tasks. I updated the task list for pk-setter. Note that now optional tasks are labeled as such, and the whole document has moved from a list structure to a tree structure. Modified: soc2013/jmuniz/TODO Modified: soc2013/jmuniz/TODO ============================================================================== --- soc2013/jmuniz/TODO Mon Jul 29 13:17:18 2013 (r255302) +++ soc2013/jmuniz/TODO Mon Jul 29 14:59:18 2013 (r255303) @@ -1,11 +1,232 @@ Task list for this repository ----------------------------- -pk-setter: -- generate backend list without hardcoding it -- determine if the BSD license can be used this intimately with GPLv2 -- verify that packagekitd starts with new configuration, or roll back to last known good configuration -- create a new port to share this script -- determine if 'pkcon refresh' is needed when changing backends, it doesn't seem to want to work in 0.6.11 -- make script more robust in the face of missing dependencies +Underlined headers identify the portion of this undertaking that each task corresponds with. +Tasks are ordered hierarchically: the hyphens indicate the level of each node and any leafs +they contain, and plus signs identify nodes with leafs. + +This document +------------- +- delve more into specifics ++ areas that need work +-- README +-+ TESTING +--- instructions on configuring, building, and installing development sources +-+ NEWS +--- track user oriented changes in this log to show current progress +-+ INSTALL +--- instructions on configuring, building, and installing official releases +-+ THANKS +--- add credits, urls, and licenses of works used +-- FAQ +-- Wiki +-- Makefile +-- PK-0.6.11 patches +-- PK-qt +-- KPackageKit port +-- KPackageKit patches +-- gnome-packagekit port +-- gnome-packagekit patches +-- Patches for both front ends + +README +------ +- repository description +- contact information +- link to wiki for more information ++ optional +-- bug tracking + +BUGS +---- ++ document all bugs and limitations +-- any bugs that are discovered during testing + +NEWS +---- + +INSTALL +------- + +THANKS +------ + +FAQ +--- +- troubleshooting +- usage +- requirements +- bug tracking +- repository hierarchy + +TESTING +------- +- how to acquire and update the source code +- how to prepare pkg to use a default repo +- how to configure the projects +- how to build and install the projects for testing +- upgrading the testing installations to the latest socsvn revision +- how to remove and clean testing installations and files +- how to test projects for functionality and regression +- performance testing +- debugging + +Wiki +---- +- reword content to be more widely user-friendly +- make sure that milestones are appropriate +- present reflective journals +- request feedback in the form of bug reports, suggestions, feature requests, patches, regression alerts, and other potentially useful information +- add screenshots to present progress +- instructions for using pk-setter +- use cases for overall project +- test results (with seed data, test output, and performance results) +- link to Google-Melange project page +- add more links to external documentation (for related work) + +Makefile +-------- +- contain all operations to test code +- running 'make' in the root of the repository will provide instructions on using the Makefile + +pk-setter +--------- +- validate port with portlint and poudriere ++ optional +-- return currently selected back end +-- create back end list from file saved during PK installation +-- verify that packagekitd starts with each new configuration, or roll back to last known good configuration +-- use GetDaemonState() to determine if packagekitd needs to be closed? +-- make script more robust in the face of missing dependencies +-- detect pkg, and if pkg2ng needs to be run +-- configure pkg to use default repository +-- create a manual page +-- a way to reset PackageKit.conf to default using PackageKit.conf.sample + +PackageKit-0.6.11 patches +------------------------- ++ ports back end +-- fix plethora of bugs, listed in BUGS +-- patch changes into new port revision +-- find out if packagekit-cron could work +-- get-files for non-installed software ++ pkgng back end +-- evaluate necessity of additional functions (not used in ports back end) +-- patch new back end into new port revision +-- detect pkg installation, and if pkg2ng needs to be run ++ pk-backend-pkgng.c +-- comment, add header +-- test ++ configure / configure.ac +-- once the pkgng back end is finished, the pkgng back end can be default over the ports back end +-- test, make sure that these files are enough or even necessary to include the pkgng back end ++ pkgngBackend.rb +-+ optional +--- show unavailable file lists by downloading the plist from freebsd.org + +PackageKit-0.6.11 port +---------------------- +- test with portlint and poudriere +- make sure the back ends play nice with PC-BSD, since it relies on overlays +- create a file on installation to contain a list of installed back ends for pk-setter ++ Makefile +- find a better way to add site_ruby/1.8/pkgtools to ruby 1.9 include path +-+ optional +--- set appropriate option defaults +--- create an option to install pk-setter AFTER PK; this should prevent circular dependency +--- back end options should be in a multiple choice list that tolerates no less than one back end +--- move manpages to DOC option, and replace manpage generation with a manpage patch +--- save a copy of PackageKit.conf to PackageKit.conf.sample for default configuration recovery ++ pkg-plist +-- edit to reflect permanent pkgng back end files, in the future ++ files/ +-- add temporary pkgng back end patches +-- update patches to permanent pkgng back end, in the future ++ optional +-- update port to version 0.8.9 + +KPackageKit-0.6.3.3 port +------------------------ ++ files/ +-- add patches ++ optional +-- clicking on an item in a dependency list should open that items information +-- easy method of setting an option to automatically start tray icon at login +-- update port to Apper-0.8.0 + +gnome-packagekit-2.32.0 port +---------------------------- +- make sure that libgcrypt dependency is taken care of ++ optional +-- upgrade port to latest version + +PackageKit-qt4-0.6.11 port +-------------------------- + +KPackageKit-0.6.3.3 patches +--------------------------- +- enable help button, patch in help files ++ user interface files +-+ +-+ optional +--- combine main window with update window using tabs +--- preference option available to keep selections when navigating tabs (default: true) ++ source code files + +gnome-packagekit-2.32.0 patches +------------------------------- ++ user interface files +-+ gpk-application.ui +--- convenient access to view updates, install from local file, and preferences +-+ gpk-backend-status.ui +-+ gpk-client.ui +-+ gpk-error.ui +-+ gpk-eula.ui +-+ gpk-log.ui +-+ gpk-prefs.ui +-+ gpk-repo.ui +-+ gpk-service-pack.ui +-+ gpk-signature.ui +-+ gpk-update-viewer.ui ++ source code files ++ optional features to look into +-- service packs (perhaps replace tarball with PBI) +-- mime type installation +-- catalogs (would allow for sharing of toolkits for example) + +Patches for both front ends +--------------------------- +- have front ends remember with which back end a port was installed with, and use that back end for updates +- customizable permissions (so some users may only update packages, or view data) +- create a confirmation report, listing all changes +- easy repository management +- easily switch between ports and binary packages +- create mock up concepts +- if front ends are new ports, combine the appearance of the front ends +- update search results after each keystroke (using a timer delay to prevent extra overhead) +- option to automatically start tray icons at boot +- configure a port to change from development version to stable version once a specific stable version is released +- add jail support, and easy selection of one or more jails to modify +- manage remote systems and their jails in a centralized way +- improve transaction history to include more information on each transaction +- import and export packagekit and front end configuration files +- install specific available versions of software (over the internet) +- fail over to another back end if version is not available (help to get latest versions) +- register packages +- build a repository, or a part of a repository, from ports +- test and validate new or modified ports +- check archives to make sure they are packages for pkgng +- create binary packages from ports +- roll back package update(s) +- install multiple versions of a program at once +- roll packages back to certain configuration, saved in a catalog file +- assign specific package versions to skip over, and wait for later versions +- freeze a package to prevent it from being updated +- an extra simple, "normal" mode (as opposed to "expert" mode) +- fix the way that the front ends interact with the transactions.db, currently both back ends cannot be installed simultaneously +- allow user to set a default prefix to affect future installs +- allow user to easily move a package from one disk to another (after it is installed on the system) +- easy means of deleting distfiles +- easy means of removing orphaned dependencies +- let user reinstall a package