socsvn commit: r255303 - soc2013/jmuniz

jmuniz at FreeBSD.org jmuniz at FreeBSD.org
Mon Jul 29 14:59:18 UTC 2013


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
 


More information about the svn-soc-all mailing list