[Aptitude-devel] Aptitude History Tracking progress report, Week 6

Cristian Porras porrascristian at gmail.com
Thu Jul 9 05:19:02 UTC 2009

2009/7/8 Daniel Burrows <dburrows at debian.org>:
>  Hi, Christian.  It's nice to see that you've been making some real
> progress.
> On Sat, Jul 04, 2009 at 11:32:46AM -0500, Cristian Porras <porrascristian at gmail.com> was heard to say:
>> In b) I added command line support, thus having the ability to view
>> history of a package as $ aptitude history [PACKAGE ...].
>  I notice that the code throws out attempts to view the history of
> packages that don't currently exist.  It would probably be better to
> move this test so that it only happens if a package has no history: the
> user should be able to view the history of packages that no longer exist
> in the archive.  And of course turn the error message into something
> like "package %s does not exist and has no recorded history".


Everything seems very strange, I tested the code in my two computers
and one of a friend and everything has worked well, except some of the
things you said that I already knew.

When I try to see the history of a package that does not exist I get
the following:

pollopolis at pollopolis:~/compiladito/bin$ sudo ./aptitude history
E: No se pudo localizar el paquete xmoto3333

It couldn't be found as I expected

And when it comes to view the history of a package that has not been
changed, I was already handling this exception in the GTK interface,
but not in the console, I forget to do it there.

>  I tried running an upgrade with this version of aptitude and then
> checking the history of one of the upgraded packages.  "aptitude
> history" crashed with a segmentation fault.  I tried running it as root,
> just to see whether maybe there was a permissions problem, and it
> crashed with a glibc invalid free() error.  When I run the GUI, it
> crashes on start-up.  Also, the text history file that aptitude
> generated is empty.

I was already aware of the fault for the permissions, I thought to fix
this later, but I see that I had not given the importance it deserves.

I have marked several changes from the command line and from the GUI,
from both sides I am writing the right entries in history. When I view
the changes from console I have no problem:

pollopolis at pollopolis:~/compiladito/bin$ sudo ./aptitude history 4g8
Paquete: 4g8
        Date: 07  8 2009 22:30:47
        instalado -> sin instalar
        Reason: dpkg-sync

        Date: 07  8 2009 22:30:47
        [eliminar] instalado 1.0-3 -> sin instalar
        Reason: select
        Delete Reason: manual

        Date: 07  8 2009 22:31:28
        [instalar] sin instalar  -> instalado 1.0-3
        Reason: select

pollopolis at pollopolis:~/compiladito/bin$ sudo ./aptitude history xmoto
Paquete: xmoto
        Date: 07  8 2009 22:31:28
        [instalar] sin instalar (permanecen los ficheros de
configuración)  -> instalado 0.5.1-1
        Reason: select

        Date: 07  8 2009 22:36:17
        [eliminar] instalado 0.5.1-1 -> sin instalar (permanecen los
ficheros de configuración)
        Reason: select
        Delete Reason: manual

At the time to see changes in the GTK interface something strange
happens. I have no problem whit XMoto (
http://tux.uis.edu.co/~pollopolis/soc/aptitude.png ), but when I try
it for 4g8 aptitude crash, I guess I'm committing some type of error
in GTK when it comes to manage changes of type 'dpkg-sync', but not in
managing the database. I have to thoroughly inspect this case.

>  I also got a crash when there was no history database at all, but I
> don't know if that is the same problem or something separate.

I have to make this exception :P

I really do not know why It doesn't work for you.

In the text file It's leaving all the information and in the database I have

pollopolis at pollopolis:~$ sqlite3 /var/lib/aptitude/history.db
SQLite version
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
aptitudestate    change_dpkg      history_entries
sqlite> .schema history_entries
CREATE TABLE history_entries (entry_key INTEGER,type NUMERIC not
null,date TEXT not null,package TEXT not null,aptitudestate_key
NUMERIC,change_dpkg_key NUMERIC,Primary Key (entry_key),FOREIGN KEY
(aptitudestate_key) REFERENCES
aptitudestate(aptitudestate_key),FOREIGN KEY (change_dpkg_key)
REFERENCES change_dpkg(change_dpkg_key));
CREATE INDEX Packpage ON history_entries(package);
sqlite> select * from history_entries where package='xmoto';
11|0|07  8 2009 22:31:28|xmoto|5|11
15|0|07  8 2009 22:36:17|xmoto|8|15

Tomorrow I will see what is happening with the rest, I just got back
from Bogota, I was 10 hours on the road and I'm very tired.

I travel to obtain the response of the visa application and It was
refused. 	Today I presented the application for reconsideration and
I'm expecting the final answer, but I see it difficult to get the visa
approved. I lost my first 500 USD :(


More information about the Aptitude-devel mailing list