You are not logged in.

#1 2004-08-22 20:27:30

Haakon
Member
From: Bergen, Norway
Registered: 2004-05-09
Posts: 109

GUI again: Meet Archibald

Archibald is a GTK GUI for pacman. I have been working on it this summer, and while it took a bit longer than I planned, 0.1.0 is now out. Phew!

The homepage has some screenshots and an FAQ.

Follow these instructions if you want to install. I'd say I've tested it pretty thoroughly, but I've been the only user so far, so there could still be scary bugs left in there, so don't blame me for anything at this stage smile

Archibald can browse/search packages (this works as non-root too), install, upgrade and remove.

It is written for Mono, specifically in C# with Gtk#. I wrote it in such a way that the "hard" API stuff is done in its own Mono library (called libpacnet). Other projects can easily use this library, and in any language supported by Mono (C#, Java, Python, Nemerle, VB.NET and probably others).

I am aware that work is underway to write a pacman library and make pacman a user of that. When that is ready, libpacnet can easily be adjusted to use it (especially thanks to mono's easy mechanisms for using native libraries). As it stands, libpacnet only calls pacman to install, remove and for "-Sy". All the rest (including stuff like dependency resolving, detecting upgrades etc) is done by parsing the database and maintaining in-memory data structures. So in many way I've reimplemented some of pacman's logic, which has both good sides (faster for GUI purposes, more flexible in some ways so I can do things slightly differently than pacman when I want to) and bad sides (bugs in Archibald/libpacnet that are not in pacman, complex upgrade situations I may not understand as well as a certain pacman author etc).

I would like feedback on my project, both bad and good, but I would like it on a technical level. I think we have discussed the topic of whether GUIs are evil or not to death, and I'm not very interested. I'm also not interested in debating if Mono is evil or not (see the FAQ entries instead). If you think GUIs and/or Mono is evil, please choose not to use Archibald instead of whining here.

Also, if you find any bugs, please take some time to file a "ticket" on the homepage.

Enjoy Archibald! smile


Jabber: haakon@jabber.org

Offline

#2 2004-08-22 20:35:22

aCoder
Member
From: Medina, OH
Registered: 2004-03-07
Posts: 359
Website

Re: GUI again: Meet Archibald

Well, I'll try it out.  It looks good, at least, although I still like Python...


If you develop an ear for sounds that are musical it is like developing an ego. You begin to refuse sounds that are not musical and that way cut yourself off from a good deal of experience.
  - John Cage

Offline

#3 2004-08-23 00:19:17

neotuli
Lazy Developer
From: London, UK
Registered: 2004-07-06
Posts: 1,204
Website

Re: GUI again: Meet Archibald

I'll stick with the CLI, this package reminds me too much of my scarred Mandrake days. :cry:


The suggestion box only accepts patches.

Offline

#4 2004-08-23 00:40:26

Lovechild
Member
From: Århus, Denmark
Registered: 2003-09-24
Posts: 64

Re: GUI again: Meet Archibald

good to see some C# / GTK# development..

rock on.


I'm proud to be a a freedomloving infidel piece of treehugging eurotrash.

Offline

#5 2004-08-23 00:40:40

kakabaratruskia
Member
From: Santiago, Chile
Registered: 2003-08-24
Posts: 596

Re: GUI again: Meet Archibald

It looks very cool. I'll try is when I have the time (read as "when I finish downloading the 3GB kde update ;-)").


And where were all the sportsmen who always pulled you though?
They're all resting down in Cornwall
writing up their memoirs for a paper-back edition
of the Boy Scout Manual.

Offline

#6 2004-08-23 02:24:40

contrasutra
Member
From: New Jersey
Registered: 2003-07-26
Posts: 507

Re: GUI again: Meet Archibald

I was getting worried. This forum seems empty without a weekly GUI flame war.

This looks very nice. You've actually spent the time and coded, whereas most people have simply started a "project" and nothing else.


"Contrary to popular belief, penguins are not the salvation of modern technology.  Neither do they throw parties for the urban proletariat."

Offline

#7 2004-08-23 03:40:59

aCoder
Member
From: Medina, OH
Registered: 2004-03-07
Posts: 359
Website

Re: GUI again: Meet Archibald

most people have simply started a "project" and nothing else.

Well, I think we make a lot of progress just starting a project.  You don't need to get any real work done just to cause controversy and mass forum chaos!


If you develop an ear for sounds that are musical it is like developing an ego. You begin to refuse sounds that are not musical and that way cut yourself off from a good deal of experience.
  - John Cage

Offline

#8 2004-08-23 05:12:21

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,293
Website

Re: GUI again: Meet Archibald

Haakon wrote:

Archibald is a GTK GUI for pacman. I have been working on it this summer, and while it took a bit longer than I planned, 0.1.0 is now out. Phew!

Great work. I like the information it displays. For day-to-day update of packages is maybe CLI. But to navigate, organize and to know what are installed and available, is Archibald. Keep up with the good work.

Do you think application categories could be included? Its not a pacman feature, currently only at the AL website.

Note:
Later I am moving this topic to "User Contributions" forum.


Markku

Offline

#9 2004-08-23 07:41:07

Haakon
Member
From: Bergen, Norway
Registered: 2004-05-09
Posts: 109

Re: GUI again: Meet Archibald

rasat wrote:

Do you think application categories could be included? Its not a pacman feature, currently only at the AL website.

That's exactly the problem. The category information would have to be gotten from somewhere else, and I'm not sure what would be the best approach. The solution I've thought of is that I would maintain a category file with data for packages in current, extra and the TURs (gotten from the directory structure in the abs tree), which Archibald would download as needed from http. It complicates things, but may be feasible (PKGBUILDs should have a "category" field which would be stored with the package data in the database wink). Also, there could be an option to thread the list according to package groups. The group data already exists so I might do this.


Jabber: haakon@jabber.org

Offline

#10 2004-08-23 09:11:02

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,293
Website

Re: GUI again: Meet Archibald

Haakon wrote:

That's exactly the problem. The category information would have to be gotten from somewhere else, and I'm not sure what would be the best approach.

I know what you mean, I had the same problem with pkgsweeper.
http://amlug.net/new-projects/pkgsweepe … eeper.html

I high-lighten the full package list in AL's website and pasted it in a file.
http://amlug.net/new-projects/pkgsweepe … ge-web.tpl

A script downloads the file, copies (awk) the app category and pkg name columns, and then matches (grep) with pkg names among the installed packages. This method requires to update the package-web.tpl whenever there is a new package at the website (not upgrades but a new pkg name).

Best would be, as you said, if the app category is included in PKGBUILD.... you can ask apeiro. If the app category is included it will take time to update all PKGBUILDs.... most likely only included in the next upgrade.


Markku

Offline

#11 2004-08-24 19:43:11

wickedlester
Member
From: Texas, USA
Registered: 2004-07-22
Posts: 144

Re: GUI again: Meet Archibald

I installed archibald through pacman. The program window comes up, but no packages are listed and The only thing I can get to work is the "about" window. I try to exit the program from file-quit but it won't work either. I have filed a bug report on your site with all terminal output.

Offline

#12 2004-08-24 21:52:57

Haakon
Member
From: Bergen, Norway
Registered: 2004-05-09
Posts: 109

Re: GUI again: Meet Archibald

wickedlester wrote:

I installed archibald through pacman. The program window comes up, but no packages are listed and The only thing I can get to work is the "about" window. I try to exit the program from file-quit but it won't work either. I have filed a bug report on your site with all terminal output.

Thanks, getting some actual feedback is great! I have two crash-bugs so far, check out your ticket and we'll see if we can fix things.


Jabber: haakon@jabber.org

Offline

#13 2004-08-24 21:56:02

Haakon
Member
From: Bergen, Norway
Registered: 2004-05-09
Posts: 109

Re: GUI again: Meet Archibald

Edit: Yay, pressed "Reply" instead of "Edit", nothing to see here smile


Jabber: haakon@jabber.org

Offline

#14 2004-08-25 02:20:40

wickedlester
Member
From: Texas, USA
Registered: 2004-07-22
Posts: 144

Re: GUI again: Meet Archibald

Thanks Haakon. I should have examined pacman.conf closer before filing the bug report. I had current defined twice in pacman.conf like this

[current]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/current

edit: It seems thats the new default for the new pacman.conf. I comment out like this
#[current]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/current
and so far so good, it is currently 95% reading repository data for installed packages. It has been at this state for 10 minutes. I have alot of packages installed but It seems to have hung. I will wait a bit and see.

edit2:
This is output in console

    Unhandled Exception: System.UriFormatException: URI scheme was not recognized, nor input string is not recognized as an absolute file path.
in <0x0014a> System.Uri:Parse (string)
in <0x00056> (wrapper remoting-invoke-with-check) System.Uri:Parse (string)
in <0x00018> System.Uri:Parse ()
in <0x00081> System.Uri:.ctor (string,bool)
in <0x00012> System.Uri:.ctor (string)
in <0x00056> (wrapper remoting-invoke-with-check) System.Uri:.ctor (string)
in <0x00278> ArchLinux.LibPacNet.Repository:ParseDescFile (string,ArchLinux.LibPacNet.Package)
in <0x00052> ArchLinux.LibPacNet.Repository:ReadPackage (string)
in <0x0012c> ArchLinux.LibPacNet.Repository:ReadPackageList ()
in <0x000e0> ArchLinux.LibPacNet.PackageManager:ReadInstalled ()
in <0x003b3> ArchLinux.LibPacNet.PackageManager:InitRepos (ArchLinux.LibPacNet.ProgressDelegate,bool)
in <0x00059> ArchLinux.Archibald.Archibald:StartInitRepos ()
in <0x00053> (wrapper delegate-invoke) System.MulticastDelegate:invoke_void ()

I am guessing that it has to do with an incorrect path somewhere? I will submit another bug report if you like. But I am sure it is user error.

Offline

#15 2004-08-25 08:32:00

Haakon
Member
From: Bergen, Norway
Registered: 2004-05-09
Posts: 109

Re: GUI again: Meet Archibald

wickedlester wrote:

Thanks Haakon. I should have examined pacman.conf closer before filing the bug report.

Not at all, the program shouldn't barf on something like that anyway.

I had current defined twice in pacman.conf like this

[current]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/current

edit: It seems thats the new default for the new pacman.conf.

I checked, and the default pacman.conf really does not have a "[current]", only the include file has smile I will fix this though, since the policy is "if pacman accepts this pacman.conf, so should archibald" smile

This is output in console

    Unhandled Exception: System.UriFormatException: URI scheme was not recognized, nor input string is not recognized as an absolute file path.
in <0x0014a> System.Uri:Parse (string)
in <0x00056> (wrapper remoting-invoke-with-check) System.Uri:Parse (string)
in <0x00018> System.Uri:Parse ()
in <0x00081> System.Uri:.ctor (string,bool)
in <0x00012> System.Uri:.ctor (string)
in <0x00056> (wrapper remoting-invoke-with-check) System.Uri:.ctor (string)
in <0x00278> ArchLinux.LibPacNet.Repository:ParseDescFile (string,ArchLinux.LibPacNet.Package)
[...]

I am guessing that it has to do with an incorrect path somewhere?

No, it seems you have installed a package which defines a homepage URL that is not on correct URL form. So, it seems I'll have to tolerate that, too, sigh smile If you could package up your /var/lib/pacman (eg with 'tar -jcvf pacmandb.tar.bz2 /var/lib/pacman' and send it to me at haakon (at) ii.uib.no (alternatively upload it somewhere), I'll have a look at the problem. The file shouldn't be more than about 600-800kb in size.

Thanks!


Jabber: haakon@jabber.org

Offline

#16 2004-08-25 11:28:48

wickedlester
Member
From: Texas, USA
Registered: 2004-07-22
Posts: 144

Re: GUI again: Meet Archibald

Link sent.

Offline

#17 2004-08-25 13:21:08

Haakon
Member
From: Bergen, Norway
Registered: 2004-05-09
Posts: 109

Re: GUI again: Meet Archibald

Thanks, you have a great many repositories there smile If you could also send me your /etc/pacman.conf (and any files it includes with "Include = .."), that would be great.


Jabber: haakon@jabber.org

Offline

#18 2004-08-25 13:58:15

xerxes2
Member
From: Malmoe, Sweden
Registered: 2004-04-23
Posts: 1,249
Website

Re: GUI again: Meet Archibald

nice work Haakon,I don't have mono installed but maybe it's time to try it.
How would you compare Mono to Python.
Which platform got the brightest future?

I'm a coding noob and just tried Python so far, my next target is C. big_smile


arch + gentoo + initng + python = enlisy

Offline

#19 2004-08-25 15:18:33

sweiss
Member
Registered: 2004-02-16
Posts: 635

Re: GUI again: Meet Archibald

Docs are everything smile C has great documentation being around for years, Mono has great documentation being sponsored by Novell. However, I found it hard to find a good (i.e. interesting and complete) Python tutorial.

* If anyone knows of such a tutorial (also a similar tutorial for PyGTK will be more than welcome), please, let me know.

Offline

#20 2004-08-25 15:18:48

Haakon
Member
From: Bergen, Norway
Registered: 2004-05-09
Posts: 109

Re: GUI again: Meet Archibald

xerxes2 wrote:

nice work Haakon,I don't have mono installed but maybe it's time to try it.
How would you compare Mono to Python.
Which platform got the brightest future?

I wouldn't compare them, since it's like comparing apples to fruit markets, or something wink Mono is a virtual machine and language framework under which many languages can work. It already supports Python, so you can code in Python and access all code libraries written for Mono. You can also use Java and many other languages within Mono, and it's even great for reusing native ("unmanaged") libraries, so I think it has a great future. Which doesn't mean other platforms has lesser futures smile


Jabber: haakon@jabber.org

Offline

#21 2004-08-25 15:52:42

punkrockguy318
Member
From: New Jersey
Registered: 2004-02-15
Posts: 711
Website

Re: GUI again: Meet Archibald

great work man!  i'm hoping to see this project mature nicely


If I have the gift of prophecy and can fathom all mysteries and all knowledge, and if I have a faith that can move mountains, but have not love, I am nothing.   1 Corinthians 13:2

Offline

#22 2004-08-26 12:34:17

zeppelin
Member
From: Athens, Greece
Registered: 2004-03-05
Posts: 807
Website

Re: GUI again: Meet Archibald

sweiss wrote:

If anyone knows of such a tutorial (also a similar tutorial for PyGTK will be more than welcome), please, let me know.

Python:
http://www.g2swaroop.net/files/byte/byt … ml_115.zip

PyGTK:
http://www.pygtk.org/dist/pygtk2tutorial.tgz
Live PyGTK code:
http://www.pygtk.org/applications.html

I 'm a great fan of .net's idea. but MS is behind it
and Mono has patent problems if MS someday wakes up and say: "I like you guys, I know I have supported you in the past. now pay me"

Python on the other hand is and will be OpenSource and has no specific patent problems.

Parrot is a good project but a bit behind from Mono [and I don't see that changing]

Offline

#23 2004-08-26 13:59:23

Lovechild
Member
From: Århus, Denmark
Registered: 2003-09-24
Posts: 64

Re: GUI again: Meet Archibald

two problems

a) archibald starts but then the UI seems to freeze - I suspect that pacman changed somehow and that, that broke archibald

b) it would be nice if Archibald installed a menuitem for me to click on instead of launhing from shell or likewise.


I'm proud to be a a freedomloving infidel piece of treehugging eurotrash.

Offline

#24 2004-08-26 16:36:23

Haakon
Member
From: Bergen, Norway
Registered: 2004-05-09
Posts: 109

Re: GUI again: Meet Archibald

Lovechild wrote:

two problems

a) archibald starts but then the UI seems to freeze - I suspect that pacman changed somehow and that, that broke archibald

I haven't tried the Archibald + pacman 2.8.4 combination yet, and I won't have a chance until later, but from the Changelog, there doesn't seem to be indications of output changes. Anyway, Archibald doesn't call pacman until you install, remove or upgrade packages. Are there any exceptions printed to the console?

Lovechild wrote:

b) it would be nice if Archibald installed a menuitem for me to click on instead of launhing from shell or likewise.

Don't know, may look at that, but it's not high pri until all these quirks are worked out smile


Jabber: haakon@jabber.org

Offline

#25 2004-08-26 21:02:28

Lovechild
Member
From: Århus, Denmark
Registered: 2003-09-24
Posts: 64

Re: GUI again: Meet Archibald

when I run it from a terminal it just sits there, no GUI comes alive..  when I ctrl+c the gui pops up, menus functional but that's about it.

I'm sorry for the lack of information but I really don't know what to say, does this require nptl glibc or something like that because on my last install that had that enabled archibald ran nicely.. I doubt that has much to do with anything since our mono build still sits pretty with linuxthreads.


I'm proud to be a a freedomloving infidel piece of treehugging eurotrash.

Offline

Board footer

Powered by FluxBB