~mvo/synaptic/use-apt-history-log

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
Nice dpkg status output:
 - try to detect reads attempts of the child (via select() on _child_control?)
 - implement cancel as a last resort
 

Misc:
 - check download size against statvfs against /var/cache
   and in generate download script on the target location

 - preferences: HIG instant apply only(fast enough for e.g. pkglist changes?)
 - human readable repositories (ubuntu bug #1347)
 - proxy username/password does not work with synaptic preferences 
   (add apt PROXY_USER PROXY_PASSWORD style variables into a special
    expoert dialog in preferences)
 - > I've a question: I want to install a package and it suggestes some
   >other ones. I'd like to be able to display info for the suggested
   >packages in as simple way as possible. The best would'be if I could
   >filter out all but the one pacakge being installed (the best would be a
   >context-menu entry "Display Suggested/Recommanded/Required") and those
   >it does suggest, so I could browse through the list, learn what is every
   >suggested package good for and decide whether or not to install
   >it. 
 - Scroll-bug (Eric Freyens, 25.10.2004)
 - add "pause download" feature (possible with the fetchers?)
 - integrate apt-get.org/fedoratracker.org into synaptic (savannah bug
   #10544), a "server list" similar to amule (or gnutella, etc).
 - Mail von Vidar Haar (9.Aug.2004): neues summary layout/
   check for diskspace before downloading/executing
 - make log-file [done] with optinal dpkg-output logging

HIG-2 (thanks to Sebastian for his analysis):
 - "Force Version" should be a radiobutton not a combobox 
 - "View-menu"? > View
                > |-> Toolbar
	        > |-> Dock properties window
	        > |-> Reload
   (sucky?)
 - "find" -> "search" (and Ctrl->S shortcut, current Ctrl-s->Shift-Ctrl-S)
 - update task dialog ( http://developer.gnome.org/projects/gup/hig/2.0/images/controls-list-checkbox.png)
  - "Custom fonts": use radio-buttons, not checkboxes
    >  o Use theme font
    >  x use this font [font sel]
  

 
User-Mode:
----------
 - split into user and root mode. User mode does all the changes and for
   the final installation runs (with gksu or libgksu): 
   # synaptic --set-selection --non-interactive --hide-main-window --dont-write-any-config
   ( --dont-write-any-config needs to be implemented)
   -> MOST infrastructure is there. 
      Problems: * set-version is not in selection file
                * all settings are in in $USER/.synaptic (use
                  --preserve-env?)
		* proxy settings and stuff needs to be preserved/passed 
		  "run-as-root synaptic"
   root is needed for:
      - update: could be solved by making the /var/lib/apt/lists/ dir
                group writeable for a desktop-group 
      - edit sources.list

 - Need far better state saving:
   - save selected distribution when doing a "save selection"
   - when using "force version" save this as well
   - when "open cache" is called, make sure that the correct distribution 
     is selected for save/restore

      
Misc:
-----
 - network proxy detection if gnome/kde is installed/run (can be
   solved with user-mode?!?)
 - re-enable "default remove action" in the preferences window
 - > > (synaptic:24143): Gtk-CRITICAL **: file gtkwidget.c: line 1827
   > > (gtk_widget_hide): assertion `GTK_IS_WIDGET (widget)' failed
   auf RPM
 - search in name+provides in search-dialog
 - In the change log view, link "bug" references to the actual bug report

Usability issues:
 - Rework repository and vendor dialog
 - Disable "Undo" and "Redo" if there is no action to perform
 - Think about implementing a summary of changes in the upgrade dialog
 - Use HIGified common dialogs (alignments and message text!)
 - Use a tree view for sections containing a separator "/" (e.g. SuSE, RedHat)
 - Merge the message about failed downloads and the "ignore failed downloads"
   dialog
 - Do not show "0 broken" and other "0" messages in the status bar
 - Use a warning or error icon in the status bar to get the users attention
   (e.g. in the case of broken packages)
 - Always show the progress bar in the main window and move it to left side
   (this is the default position in GNOME)
 - Make the status message more contextual: 
 	* show available upgrades after refresh
	* if there are broken packages, this is the only relevant message
 - Replace the "Running..." label in the "Apply changes" dialog with a
   progress bar and use a busy cursor (?)

Translation issues:
 - Use plural gettext in the status message

Unsorted:
 - possibility to resume failed installation of half installed packages
   Execute should be available if there are outstanding packages 
   (difficult!)
 - Please add hyperlink support in package info for example BTS entry
 - Please allow users to delete default filters and add an option to
   restore in prefs (or make them not deletable at all)
 - "crash handler" that automatically save the selections on a synaptic
   segfault (and present a dialog to reread them on the next start)
 - copy desktop file to the KDE menu - $KDEPREFIX/applnk/Settingsmenu
   "kde-config --prefix"
 - ask on debian-deity if it is possible to get a "DeletePin" function.
   this way, we can do default release pining without rereading the cache
   (see policy.cc:pkgPolicy::pkgPolicy())

Configure:
   - allways give the correct path in the synaptic.desktop file
     (currently hardcoded)

GUI:
   - Icons should be themable: gtkiconfactory
   - allow clicking in the depedency list so that the click takes
     you to the package
   - add native debconf reconfigure frontend using the cmdpipe interface
     to debconf (cool!)
   - try to get synaptic into base-config
   - add something that lets the user see if a certain package is already
     in the cache
   - add reduced view? (always ignore this package)
   - add ignore option for unwanted packages (use RPackageView?!)
   - add context menu in the dependency list to install/remove/upgrade
   - changesWindow should also support installing recommends/suggested pkgs
   - add a sources.list wizard for debian (like base-config)?

Filter:
   - add "immutable" filters that can be configured via /etc/synaptic/filters
   - dependencies of selected package
   - dependents of selected package

General:
   - add something like aptitude Last-change support, so that you can
     track what pkgs where installed to fullfill some dependencies
     (and have the option to remove them again automatically)
     [might be enough to use "remove with dependencies" ?]
   - make deporhan a native synaptic filter (should be easy)
   - implement raptoptions save/restore for getFlags/setFlags [not needed?]

Done: 
 - current task support is broken, try to fix it
 - add TaskView view to show tasks [done with tasksel window]
 - if download failed, use a special dialog to show it [done I think]
 - Add comments for translators [mostly done]
 - Reword unclear messages [mostly done]
 - Pressing a key should jump to the first package with the same
   inital letter [fixed with gtk2.6]
 - Use new column editor in the preferences
 - Disable search button in the search dialog until an expresseion was entered
 - Separate sections from package list [can be archived with sorting
   for section]
 - "held back" is a bad term (ubuntu bug #1309)
 - think about how to simplify the "reload" step for new users
   (see mail from Philippe Cloutier, 16.Sep.2004)
   [package list outdated dialog takes care of this]
 - after changes in the repositories editor, ask for a update of
   the package list
 - download window scrollbar shouldn't always scroll, make two areas,
   one with active jobs and one with completted jobs?  (see mail from
   Adam Lydick, 20.10.2004)
 - Shortcut for force-version (for Redhat people) 
 - "Refresh" must be "reload"
 - readd "UseRecommends" to auto-install recommended packages (done)
 - sorting by versions
 - redesign the columns (drag 'n drop?)
 - "pin/hold" support (-)
 - "install-this-versioN" (-) 
 - make a the used font in the treeview configurable 
 - when searching and then switching view-mode, go to the last selected
   pkg (maybe do that every time the view is switched?)
 - think about using a package details dialog
 - add reinstall
 - Add konqueror and opera to the list of help browser
 - do not use ithe same sentence for singular and plural in summary
 - icons in status list
 - enable glade support in download and execute window
 - implement font size choser [half-done see FAQ]
 - add a button to undo all programmed changes 
	(do we need this now that we have a "real" undo?)
 - hide seperator_hold on rpm based systems, too (?)
 - deactivate "do not modify" in the package menu if no modification was
   queued or no package is selected
 - split up the label_info (main window) into several labels
 - implement new glade version of dialog_summary
 - disable all package actions if "hold current version" is activated
 - "hold current version" in the package menu should represent the hold status
   (it is already an "Ankreuzfeld")
 - deactivate font selector in the prefs if user defined font is not activated
 - add context-menu on right-click (del/inst/upgr/show descr in own window,
 - context menus in the package list
 - GtkTextView for package name and short desc (textview_pkgcommon)
 - add a dialog that show what dependency is unmet if a pkg can not be
   installed (like ShowBroken() in apt-get.cc)
 - add a tab that shows all version of the package 
   (like apt-cache showpkg)
 - enable different sorting methods for the tree (e.g. size)
 - implement proxy settings 
 - implement a new (interactive) search function
 - config option what the default action of ("delete") button is
 - "removed but residual config" should win against 
   "obsolete or locally installed" in by status view
 - add remove with deps menu entry 
 - add "Provides" tab (done)
 - obsolete packages (installed, but no install version available)
   (named "not installable")
 - add missing functionality in rpackagefilter line 183 (Provides filter)
 - display all files of a installed packages (like dpkg -L or apt-file) 
   [can't do this in a portable way]
 - add easy way to install suggested/recommended
 - convert all GtkCList to GtkTreeView (done)
 - make it possible to filter for maintainer
 - make a options to install recommended package automatically or
   semi-automatically with a dialog (done)
 - add something that adds cdrom uris to the sources
 - implement "undo" :) 
 - configure whether we want text under icons or not (done)
 - problem if a pkglist is not available on startup (rpm only)
 - implement some kind of deborphan functionality (make it a filter)
 - filter for "residual configuration" (removed, but still configuration)
 - make a extra warning if packages are deleted (via Summary Window)
 - label with short description resizes the gui (ugly)
 - add filters to menu (done)
 - make easy way to filter for description 
 - make more than one package selectable and allow "install", "keep" etc
   on this groups (done)
 - remove the update button in rgsrcwindow.cc (done)
 - add more key-shortcuts (done)
 - add repository dialog (done)
 - new packages in repository (done)
 - add cmdline argument for selecting a initial filter (done)
 - test for "swig" in configure.in (done)
 - get rid of all gtk_widget_set_usize() [mostly gone]
 - use colors to show different stuff about the package 
   (e.g. blue if upgradeable, red if broken etc) [done]
 - some online-help/mini-tutorial (partly done)
 - handle "|" case in WDepends (partly)
 - implement "Hold package" (partly)   
 - add man-page and localised man-page (done)