You are not logged in.

#1 2010-06-23 09:44:23

unkiepunkie
Member
From: Netherlands
Registered: 2009-06-30
Posts: 17

(paid support) Pacman Update GUI

Below the project description. If you are interested in doing this programming job, please email/pm me.
If there are questions, please reply to this post.

Pacman Update GUI
Archlinux (http://www.archlinux.org/) uses the pacman package manager. A number of GUI applications to control this package manager exist (http://wiki.archlinux.org/index.php/Pac … _Frontends), but none suit our needs.

For this project you will need to design and implement two independent GTK+ applications: an Update Manager and an Update Applet. The Update Manager must be an application that guides the user through updating the system. The Update Applet must be an application which shows a systray icon. This application will check for updates once in a while and notify the user if there are updates.

Both applications must be internationalized/localized and written in C, C++ or Python. The applications should have as little dependencies as possible. The applications must include installation scripts. The applications must be installed in compiled form. Any configuration needed for these tools should be systemwide. We do not need a gui for configuration.

Update Manager
The Update Manager must be an application that guides the user through the steps of updating the system with as little effort and as little user interaction as possible. You are expected to first define the minimal amount of steps required, design the application and then implement the application (gui and internals).

There are two possibilities for this applications:
1. You develop it from scratch.
2. You modify the gnome update manager (used in eg ubuntu) to work with pacman.

We will rely on your expertise to decide which approach is best.

Update Applet
The Update Applet provides a systray icon which checks for system updates in regular intervals. The applet should have a tooltip showing the update status, and a context menu with a few options, such as "Check for updates now", "About" and "start Update Manager". You are expected to design and implement the application.

Offline

#2 2010-06-23 09:58:07

Ramses de Norre
Member
From: Leuven - Belgium
Registered: 2007-03-27
Posts: 1,289

Re: (paid support) Pacman Update GUI

I hope you do realise that you can try to hide as much complexity and cli as possible, but in the end this will lead to breakage. Sometimes manual intervention by the user is needed and this is specified in the post-install message and mostly means you should execute a command. Also, the program cannot deal with pac{new,save} files (if it could, so would pacman) and the end-user will be required to edit its configs anyway because arch's policy is to ship the vanilla configs which do not always cover the most generic use-cases. Also, who will maintain the app after it is finished? It'll need updates when the ABI of pacman or one of its libs changes.

IMHO, arch is not suitable for your needs and developing one GUI will not change this. You will either need to set-up your own repo with tuned configs and GUI applications and people maintaining the repo and developing the GUIs and stuff, or use another distro which does this for you (ubuntu comes to mind).

Offline

#3 2010-06-23 10:17:03

unkiepunkie
Member
From: Netherlands
Registered: 2009-06-30
Posts: 17

Re: (paid support) Pacman Update GUI

Ramses de Norre wrote:

I hope you do realise that you can try to hide as much complexity and cli as possible, but in the end this will lead to breakage. Sometimes manual intervention by the user is needed and this is specified in the post-install message and mostly means you should execute a command. Also, the program cannot deal with pac{new,save} files (if it could, so would pacman) and the end-user will be required to edit its configs anyway because arch's policy is to ship the vanilla configs which do not always cover the most generic use-cases. Also, who will maintain the app after it is finished? It'll need updates when the ABI of pacman or one of its libs changes.

IMHO, arch is not suitable for your needs and developing one GUI will not change this. You will either need to set-up your own repo with tuned configs and GUI applications and people maintaining the repo and developing the GUIs and stuff, or use another distro which does this for you (ubuntu comes to mind).

I do realize and understand all this. The tool is meant for an Arch based distro. So we have our own repo, preconfigured packages, etc.

Offline

#4 2010-06-23 10:18:51

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,354

Re: (paid support) Pacman Update GUI

Another Arch-based distro. For what you're looking for, Ubuntu is a much better base honestly. Rolling release doesn't play well with 'minimal user intervention'.


Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.

Offline

#5 2010-06-23 10:35:04

Ramses de Norre
Member
From: Leuven - Belgium
Registered: 2007-03-27
Posts: 1,289

Re: (paid support) Pacman Update GUI

unkiepunkie wrote:
Ramses de Norre wrote:

I hope you do realise that you can try to hide as much complexity and cli as possible, but in the end this will lead to breakage. Sometimes manual intervention by the user is needed and this is specified in the post-install message and mostly means you should execute a command. Also, the program cannot deal with pac{new,save} files (if it could, so would pacman) and the end-user will be required to edit its configs anyway because arch's policy is to ship the vanilla configs which do not always cover the most generic use-cases. Also, who will maintain the app after it is finished? It'll need updates when the ABI of pacman or one of its libs changes.

IMHO, arch is not suitable for your needs and developing one GUI will not change this. You will either need to set-up your own repo with tuned configs and GUI applications and people maintaining the repo and developing the GUIs and stuff, or use another distro which does this for you (ubuntu comes to mind).

I do realize and understand all this. The tool is meant for an Arch based distro. So we have our own repo, preconfigured packages, etc.

I honestly don't get why you choose arch as the base for this project, you are trying to make arch into almost the complete opposite of what it is... Arch is all about DIY and is targeted at competent users that are confident on the command line and not afraid of getting under the hood. You are targeting the complement of the set of arch users, it seems. I would suggest you reconsider the distro you'll be using as a base for your project because when you pick arch, you'll be almost making a completely new distro. You'll spare a lot of time by using a distro similar to your needs as the base (for instance ubuntu, but there are others too).

Of course, this is only my opinion, you are free to make your own choice smile

Offline

#6 2010-06-23 14:25:23

mrunion
Member
From: Jonesborough, TN
Registered: 2007-01-26
Posts: 1,938
Website

Re: (paid support) Pacman Update GUI

Ditto the thoughts of Ramses and ngoonee -- you are just asking for trouble in the long run. As a developer with 20+ years of experience, I wouldn't personally touch the project you requested because it just won't ever work "right". Of course, maybe I just suck as a developer; but I think you need to pick another base distro.


Matt

"It is very difficult to educate the educated."

Offline

#7 2010-06-23 14:43:46

unkiepunkie
Member
From: Netherlands
Registered: 2009-06-30
Posts: 17

Re: (paid support) Pacman Update GUI

ngoonee wrote:

Another Arch-based distro. For what you're looking for, Ubuntu is a much better base honestly. Rolling release doesn't play well with 'minimal user intervention'.

I have not told you what "I'm looking for". I already have such an Arch based distro. With custom repos, with preconfigured packages. All that I need now is an easy way to update the system.

Offline

#8 2010-06-23 16:18:35

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,111
Website

Re: (paid support) Pacman Update GUI

unkiepunkie wrote:
ngoonee wrote:

Another Arch-based distro. For what you're looking for, Ubuntu is a much better base honestly. Rolling release doesn't play well with 'minimal user intervention'.

I have not told you what "I'm looking for". I already have such an Arch based distro. With custom repos, with preconfigured packages. All that I need now is an easy way to update the system.

I hear there's this program called 'pacman' which can update your entire system with a simple command: pacman -Syu.

Just what I've heard though. I install my software with a pair of magnetized needles and a steady hand.

Offline

#9 2010-06-23 16:33:50

andresp
Member
Registered: 2010-05-29
Posts: 62

Re: (paid support) Pacman Update GUI

Before tacking on a gui ontop of libalpm, a couple of things you have to consider crucial to invest in:

* transactions

* a real db and by consequence reliable locking

It already links against berkley db, so you can have a little stub cache .db like netbsd's pkg_add has.


edit: about bdb. alpm dropped it?

Last edited by andresp (2010-06-23 16:38:35)

Offline

#10 2010-06-23 16:44:02

unkiepunkie
Member
From: Netherlands
Registered: 2009-06-30
Posts: 17

Re: (paid support) Pacman Update GUI

falconindy wrote:
unkiepunkie wrote:
ngoonee wrote:

Another Arch-based distro. For what you're looking for, Ubuntu is a much better base honestly. Rolling release doesn't play well with 'minimal user intervention'.

I have not told you what "I'm looking for". I already have such an Arch based distro. With custom repos, with preconfigured packages. All that I need now is an easy way to update the system.

I hear there's this program called 'pacman' which can update your entire system with a simple command: pacman -Syu.

Just what I've heard though. I install my software with a pair of magnetized needles and a steady hand.

Yes, and I mentioned that i need a GUI tool just because its a fancy acronym?

Offline

#11 2010-06-23 16:45:54

unkiepunkie
Member
From: Netherlands
Registered: 2009-06-30
Posts: 17

Re: (paid support) Pacman Update GUI

andresp wrote:

Before tacking on a gui ontop of libalpm, a couple of things you have to consider crucial to invest in:

* transactions
* a real db and by consequence reliable locking

It already links against berkley db, so you can have a little stub cache .db like netbsd's pkg_add has.

edit: about bdb. alpm dropped it?

If it is so crucial, why is it missing from alpm?

It is an interesting question though.

Offline

#12 2010-06-23 16:50:42

andresp
Member
Registered: 2010-05-29
Posts: 62

Re: (paid support) Pacman Update GUI

I distinctly remember alpm linking against bdb, seems to no longer be the case.

I should lay off the shrooms.

Offline

#13 2010-06-23 22:23:22

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,365
Website

Re: (paid support) Pacman Update GUI

alpm never linked against bdb.

Offline

#14 2010-06-23 23:09:28

andresp
Member
Registered: 2010-05-29
Posts: 62

Re: (paid support) Pacman Update GUI

Well, let this be an oportunity to make it happen then.

Last I heard sqlite wasn't an option either?

Offline

#15 2010-06-23 23:42:16

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,365
Website

Re: (paid support) Pacman Update GUI

Not an option either.   Using the current layout but within a tarball is the current plan (and has been for a while now...)
http://wiki.archlinux.org/index.php/Pac … map#Tar-DB

But this is off-topic for this thread.

Offline

#16 2010-06-24 08:23:12

PirateJonno
Forum Fellow
From: New Zealand
Registered: 2009-04-13
Posts: 372

Re: (paid support) Pacman Update GUI

I mostly agree with the other posters, but I thought you might be interested in the PackageKit backend I've been working on. I've been testing it for a while now, and I'm just about ready to release. It's pretty stable, but there is one occasional but serious issue (in libalpm), which I have patches for if you need them. You can get a feel for what it is like at http://www.packagekit.org/, or try it yourself. You can find packages for packagekit and gnome-packagekit in my git repository, and packagekit depends on this library. Probably the only requirement it doesn't meet is minimal dependencies, and I'm not going to change that. But you could also use the KDE frontend KPackageKit, although I can't say whether it works as well as the GNOME one.


"You can watch for your administrator to install the latest kernel with watch uname -r" - From the watch man page

Offline

#17 2010-06-24 18:56:45

unkiepunkie
Member
From: Netherlands
Registered: 2009-06-30
Posts: 17

Re: (paid support) Pacman Update GUI

@PirateJonno

PackageKit would be indeed a big step forward. The dependency on pacman-glib is something we can live with.
The distro is xfce based, so pulling in kde would be unacceptable. There is a gnome frontend for packagekit, so i'll try that.

Thank you for you tip and for your effort to make a policykit backend.

Offline

#18 2010-06-24 19:44:11

drcouzelis
Member
From: Connecticut, USA
Registered: 2009-11-09
Posts: 4,092
Website

Re: (paid support) Pacman Update GUI

You made me curious. smile Can you tell us more about the Linux distribution you are making? Do you have a website for it?

What are the issues with the other pacman frontends and applets that make you not want to use them?

Offline

#19 2010-06-24 21:20:23

unkiepunkie
Member
From: Netherlands
Registered: 2009-06-30
Posts: 17

Re: (paid support) Pacman Update GUI

@PirateJonno

It seems pacman-glib.patch is missing from pacman-glib "/pk-backend/packagekit/" ?
Sorry if i'm missing something here. Its quite late smile

drcouzelis wrote:

You made me curious. smile Can you tell us more about the Linux distribution you are making? Do you have a website for it?

What are the issues with the other pacman frontends and applets that make you not want to use them?

Sorry, atm i can't tell you anything yet.

The applets all have some issues. Zenman is written in bash, and in my opinion not robust enough. pacupdate has some bugs (like busy-wait). Others all have issues as well. I also was not clear I guess. Modifications to an existing applet would be okay.

The distro uses gtk/xfce, and the only pacman frontends that applies is gtkpacman, which is quite old.

Good night!

Offline

#20 2010-06-24 23:59:36

test1000
Member
Registered: 2005-04-03
Posts: 834

Re: (paid support) Pacman Update GUI

I don't get why you should allow your users to update their OS(that is their GUI, their kernel, xorg, libc and other _core_ functionality). These components are already quite "great" and shouldn't need upgrading if that is your worry. Only in the case of some new device coming out and the kernel or xorg need to support it i can see the problem. This should happen very rarely though. I mean, why should you allow your OS to be upgraded by some lowly non-tech users. I don't know of many workplaces which allow their users to upgrade their windows versions for example...

You could always upgrade the OS every X years if needed.

If the boss wants his emplyees to be able to download whichever apps/games they want then ofcourse you could allow this, but this should only be allowed if said apps/games doesn't drag in new versions of xorg, kernel versions or other core functionality or its dependencies.

Just blacklist these in pacman.conf and make the file unwritable for the users...

This way you only need external repo for apps which doesn't install without user intervention.

Here i define "core functionality" as all the code responsible for giving a "working computer" as defined by the boss and you if he's not very IT. If you are worried about security and this is why you want a constantly updating machine then just connect all the machines to a router/firewall before they are allowed onto the net. That one could be an arch machine...

Also I haven't tried xfce in a long while but you should watch against giving "windows users/mac users" anything which isn't glitzy and full-featured, because if the users doesn't think the OS have all the functionality they "need" and they don't think it looks fancy enough they have a tendency to go back to whatever OS they came from or try to "upgrade" their own os... which might spell problems for you.

You know, never underestimate the ingeniousness of an idiot. smile

Just my 5 cents.

Last edited by test1000 (2010-06-25 00:13:42)


KISS = "It can scarcely be denied that the supreme goal of all theory is to make the irreducible basic elements as simple and as few as possible without having to surrender the adequate representation of a single datum of experience." - Albert Einstein

Offline

#21 2010-06-25 07:16:58

PirateJonno
Forum Fellow
From: New Zealand
Registered: 2009-04-13
Posts: 372

Re: (paid support) Pacman Update GUI

unkiepunkie wrote:

It seems pacman-glib.patch is missing from pacman-glib "/pk-backend/packagekit/" ?
Sorry if i'm missing something here. Its quite late smile

Oops! You're quite right. I think I used git commit -am without thinking roll. I used to have some people testing it, so I don't know why they didn't notice hmm. Just sat my last exam today so I'll probably be releasing it soon, and hopefully replace the AUR packages if I can.


"You can watch for your administrator to install the latest kernel with watch uname -r" - From the watch man page

Offline

#22 2010-06-25 09:01:59

unkiepunkie
Member
From: Netherlands
Registered: 2009-06-30
Posts: 17

Re: (paid support) Pacman Update GUI

test1000 wrote:

I don't get why you should allow your users to update their OS(that is their GUI, their kernel, xorg, libc and other _core_ functionality). These components are already quite "great" and shouldn't need upgrading if that is your worry. Only in the case of some new device coming out and the kernel or xorg need to support it i can see the problem. This should happen very rarely though. I mean, why should you allow your OS to be upgraded by some lowly non-tech users. I don't know of many workplaces which allow their users to upgrade their windows versions for example...

Although an update tool would allow for this, if there are nu such updates in our repos, nu such things will be updated.
It is indeed mainly intented for new hardware support and security updates and bugfixes.


test1000 wrote:

If the boss wants his emplyees to be able to download whichever apps/games they want then ofcourse you could allow this, but this should only be allowed if said apps/games doesn't drag in new versions of xorg, kernel versions or other core functionality or its dependencies.

Exactly. By having tight control over the repos no dependencies will be dragged in. Installing new games/apps would require a different tool (like shaman/gtkpacman)

Offline

Board footer

Powered by FluxBB