You are not logged in.
Many of you might already have heard about it, but I'm posting this thread now just because I wanted it to reach a semi-stable status before showing it to the whole community.
I'm introducing you Shaman, a Qt4 frontend to libalpm, Pacman's library.
Before telling you more, here comes the obligatory screenshot.
Our trac website, where you can find some informations and report bugs is: http://shaman.iskrembilen.com/trac.cgi/wiki
Currently released version is 1.0 Beta 1.
Since Shaman is based upon libalpm, it is not simply a program that calls pacman and shows output in a terminal: Shaman is an alternative frontend. This means you get progress bar, GUI notifications and everything you envied in the Synaptic-like thing.
This does not mean Shaman is more dangerous/more anything than pacman. Shaman does exactly what pacman does in terms of results, it simply shows it in a different manner.
Some of the features you'll surely love in it are:
* Fast and advanced searches: refine your search on the fly throughout groups or repositories, name or description filter, and package status, and find anything in a matter of seconds.
* Configure everything: our parser has been throughout many hard tests and rewrites, and it can now safely edit your pacman.conf, abs.conf and mkinitcpio.conf, without stripping out comments or anything. Add/remove repositories, change your configuration through the Preferences dialog, hit OK and you're done.
* Compile your packages from source: Thanks to ABS, you can rebuild your packages from source. Shaman also features a PKGBUILD editor. Please note that this is not unsafe!!! Shaman can build only from ABS and **NOT** from AUR!! This is because packages from AUR can be dangerous, while in ABS there are only official and tested PKGBUILDS.
* Keep yourself up-to-date: Shaman has a simple RSS reader from Arch Linux frontpage news. Not only: if there is an unread news about a package you're about to process, Shaman will warn you. So you won't hit dangerous updates anymore.
* Review your Logs easily: Shaman's log viewer is able to search through your logs in a fast and easy manner. Also, log actions are shown in the Package Information dialog.
* Updates on the go: When reduced to tray, Shaman will update your databases and notify you upon available upgrades.
* More stuff!!
Shaman is **NOT** linked against kdelibs4, so you just need a copy of qt4 to have it working. Anyway, guys testing KDE4 can have some nice addons. First of all, a krunner that will let you do most basic things just by pressing ALT+F2. Here comes some screenshots:
Shaman also features a Plasmoid, that will be implemented later, since we're waiting for WoC to be ready. Those 2 components are optional and will be installed only if you have KDE4 running.
Shaman is internationalized, and it's already available in other languages. Please check here the status of your language: http://www.kdemod.ath.cx/bbs/viewtopic.php?id=576 , if you want to translate Shaman to your language please reply here on in the linked thread.
Ok, so, do you want to give it a spin? You have several ways to get Shaman, both from binary and source.
shaman PKGBUILD in AUR: http://aur.archlinux.org/packages.php?ID=15422
shaman-svn PKGBUILD in AUR: http://aur.archlinux.org/packages.php?ID=15382
SourceForge project page: http://sourceforge.net/projects/shaman-arch
These repos include a binary copy of Shaman:
[kdemod-unstable]
Server=http://kdemod.ath.cx/repo/unstable/i686
[gui]
Server = http://pkg.eth-os.org/gui/i686
# or Server = http://pkg.eth-os.org/gui/x86_64
Thanks for reading and testing!!
Offline
Nice work! A good graphical package manager would be a nice addition. Esspecially for searching or just having an overview of packages. But I have a suggestion: Don't add features that have nothing to do with package management. Features like building with ABS, RSS-Reader etc. are completly different tasks. You should write separate apps for doing this. Just keep it simple. Have a look at pacman and try to implement its features using a GUI, but nothing more. Remeber the uix principle.
Offline
Nice work! A good graphical package manager would be a nice addition. Esspecially for searching or just having an overview of packages. But I have a suggestion: Don't add features that have nothing to do with package management. Features like building with ABS, RSS-Reader etc. are completly different tasks. You should write separate apps for doing this. Just keep it simple. Have a look at pacman and try to implement its features using a GUI, but nothing more. Remeber the uix principle.
Hey, thanks!
What you say is right indeed, but every "addon" we implemented is strictly integrated with pacman, the RSS reader has a reason (and can be disabled), exactly like ABS integration and the Log viewer.
Anyway, when we'll definitely stabilize it, we'll rewrite it making it plugin-based. This means that anything non-pacman related will turn into a plugin that can be enabled/disabled.
Offline
Shaman also features a PKGBUILD editor. Please note that this is not unsafe!!! Shaman can build only from ABS and **NOT** from AUR!!
A minor, slightly pedantic point - editing any PKGBUILD, regardless of where it comes from, can be dangerous, if the user does not know what he's doing.
Offline
drf wrote:Shaman also features a PKGBUILD editor. Please note that this is not unsafe!!! Shaman can build only from ABS and **NOT** from AUR!!
A minor, slightly pedantic point - editing any PKGBUILD, regardless of where it comes from, can be dangerous, if the user does not know what he's doing.
Yeah, in fact you don't have to - you have the option, but it's not required, so users can, and are not forced to edit the PKGBUILD.
Offline
drf,
I for one think that you are doing a great job. Once Shaman has matured, I will make it available in FaunOS.
Keep up the good work.
Raymano
P.S. And it perfectly adheres to Arch's KISS principal. Here's how: If you don't like it, don't use it. Simple.
Last edited by raymano (2008-04-05 13:19:29)
FaunOS: Live USB/DVD Linux Distro: http://www.faunos.com
Offline
drf,
I for one think that you are doing a great job. Once Shaman has matured, I will make it available in FaunOS.
Keep up the good work.
Raymano
Thanks a lot, it would really be an honour. You got mail in a few minutes.
P.S. And it perfectly adheres to Arch's KISS principal. Here's how: If you don't like it, don't use it. Simple.
That's really KISS
Offline
Hey drf
Nice to see you here
Offline
AUR integration would be useful, but since it is dangerous, it should be disabled by default. I would also like the ability to create packages, not just consuming them.
For example, I have /home/sorin/Packages/abs/<pkgname> where I store packages I create.
I have to go in, edit the PKGBUILD, change out of the directory to ../abs/.
Run autarchy <pkgname> to make the AUR pkgname.tar.gz.
Run aurup <pkgname> categroy to upload the AUR package.
Move the created .pkg.tar.gz to my local repository.
Run a crappy update-local-repository script that calls repo-add.
Run pacman -Syu.
It's a hassle.
Offline
hi drf,
nice work!
here is one serious issue:
i tried to uninstall "abook" through "Mark for complete removal". i got this:
"Uninstall package: abook"
"abook"
"extra"
Complete Remove Package
"abook"
"Uninstall package: readline"
"readline"
"core"
"Uninstall package: abook"
"abook"
"extra"
"Uninstall package: atftp"
"atftp"
"local"
"Uninstall package: bash"
"bash"
"core"
"Uninstall package: abs"
"abs"
"core"
"Uninstall package: anacron"
"anacron"
"community"
"Uninstall package: aurvote"
"aurvote"
.
.
.
and so one... i had to ctrl-c to stop shaman.
obviously shaman tries to uninstall everything recursively with "-Rcs". not good.
further stuff:
* shaman reminds me a of synaptic. it has a similar look-and-feel.
* it also has a similiar senseless feature: right-click on package-> "package information" shows detailed informations about the pakage (but actually not much more). why don't you show this directly in the field below and omit this right-click entry.
* you don´t need the right-click menu at all. the same options are below....
* "Actions performed" simply greps the package name out of pacman.log. this does not make much sense for packages like "bc" or "at" or similar.
* the package file display is way too complicate. you have to click yourself bumb. a simple list is totally sufficient. (fight the senseless clicking!)
* prmissions of ~/.config/shaman are
drwxr-xr-x 2 root vlad 80 2008-04-05 09:04 shaman/
-rw------- 1 root vlad 546 2008-04-05 21:10 shaman.conf
heh? why?
however, great work! i really like the rss feature!
i would make shaman more modular. the main program supports only the binary package stuff, then there is a module (smth like shaman-abs-support) for abs and further a module for AUR (shaman-AUR-support) only available through AUR. so shaman gets into extra, but also can support whole arch features.
vlad
Last edited by DonVla (2008-04-05 22:41:52)
Offline
Hey drf, this project is looking really good.
I found some behaviour that seems a little unexpected. Upon starting Shaman it adds upgradable packages to the package queue.
Upgradeable packages:
"xf86-video-radeonhd"
I have a git version of this package installed, so I do not want this package upgraded.
This is a bit unexpected when installing other packages. For example, installing ncmpc would list ncmpc as well as it's dependencies in the "To be Installed" section, but it also lists "xf86-video-radeonhd" in the "To be Upgraded" section although the package was never explicitly added to the queue. Furthermore if you continue with "xf86-video-radeonhd" in the "To be Upgraded" section, Shaman will prompt:
xf86-video-radeonhd conflicts with xf86-video-radeonhd-git.
Remove xf86-video-radeonhd-git?
Answering no causes the operation to fail (as expected), answering yes causes Shaman to hang at:
Executing "pre_remove" scriptlet for package "xf86-video-radeonhd-git"
Extracting: "/var/cache/pacman/pkg/xf86-video-radeonhd-git-20080405-1.pkg.tar.gz"
Couldn't extract package! Executing Scriptlet failed.
Releasing Queue Lock
Alpm Thread awake.
sh: /tmp/alpm_S88Brc/.INSTALL: Permission denied
X Error: BadIDChoice (invalid resource ID chosen for this connection) 14
Major opcode: 53 (X_CreatePixmap)
Resource id: 0x1c01752
X Error: BadIDChoice (invalid resource ID chosen for this connection) 14
Extension: 154 (RENDER)
Minor opcode: 4 (RenderCreatePicture)
Resource id: 0x1c01753
X Error: BadGC (invalid GC parameter) 13
Major opcode: 59 (X_SetClipRectangles)
Resource id: 0x1c01750
X Error: BadGC (invalid GC parameter) 13
Major opcode: 59 (X_SetClipRectangles)
Resource id: 0x1c01751
X Error: BadGC (invalid GC parameter) 13
Major opcode: 59 (X_SetClipRectangles)
Resource id: 0x1c01750
X Error: BadGC (invalid GC parameter) 13
Major opcode: 59 (X_SetClipRectangles)
Resource id: 0x1c01751
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x1c01751
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x1c01750
shaman: xcb_io.c:182: process_responses: Assertion `((int) (((dpy->last_request_read)) - ((dpy->request))) <= 0)' failed.
Aborted
After moving the package to /var/cache/pacman/pkg, Shaman hangs again, with the output:
Executing "pre_remove" scriptlet for package "xf86-video-radeonhd-git"
Extracting: "/var/cache/pacman/pkg/xf86-video-radeonhd-git-20080405-1-i686.pkg.tar.gz"
Ok, running the scriptlet...
"xf86-video-radeonhd-git" doesn't have "pre_remove" scriptlet
Releasing Queue Lock
Alpm Thread awake.
sh: /tmp/alpm_hFfxF5/.INSTALL: Permission denied
Permissions are
drwx------ 2 root users 4096 2008-04-05 18:33 .
-rw-r--r-- 1 root users 303 2008-04-05 18:30 .INSTALL
Great job, this looks like it'll be a great gui alternative to pacman that some users have been looking for, keep up the good work!
EDIT: I should add that I'm running the svn version, and "When Upgrading System" option is set to "Ask"
Last edited by fed359 (2008-04-05 22:30:09)
Offline
Nice work....thanks.
/path/to/Truth
Offline
Hey everyone , ok, let me answer.
hi drf,
nice work!
Thanks!
here is one serious issue:
i tried to uninstall "abook" through "Mark for complete removal". i got this:
obviously shaman tries to uninstall everything recursively with "-Rcs". not good.
This is known, will be fixed.
further stuff:
* shaman reminds me a of synaptic. it has a similar look-and-feel.
Yeah, definitely
* it also has a similiar senseless feature: right-click on package-> "package information" shows detailed informations about the pakage (but actually not much more). why don't you show this directly in the field below and omit this right-click entry.
Because some informations are pretty... useless. Such as changelog, packager and so on. I'd like to keep the view below essential, with all basic information, and if you're really paranoid about a package, you can see anything in that dialog.
* you don´t need the right-click menu at all. the same options are below....
Of course, but since some people are used to the right-click menu, we provide it.
* "Actions performed" simply greps the package name out of pacman.log. this does not make much sense for packages like "bc" or "at" or similar.
This is true. I'll make it grep for " bc " so that it will make sense.
* the package file display is way too complicate. you have to click yourself bumb. a simple list is totally sufficient. (fight the senseless clicking!)
Uhm... this is a discussion that came up also with other package managers. Some people like it this way, some people like this the other. Maybe we can make everyone happy by giving you the choice on how to display that list
* prmissions of ~/.config/shaman are
drwxr-xr-x 2 root vlad 80 2008-04-05 09:04 shaman/ -rw------- 1 root vlad 546 2008-04-05 21:10 shaman.conf
heh? why?
Fixed in svn
however, great work! i really like the rss feature!
i would make shaman more modular. the main program supports only the binary package stuff, then there is a module (smth like shaman-abs-support) for abs and further a module for AUR (shaman-AUR-support) only available through AUR. so shaman gets into extra, but also can support whole arch features.vlad
Thanks a lot for the feedback About the modular structure, is in our plans for post-1.0. We want to make everything a module (maybe even the package backend) so that anything non strictly-package-related will be a plugin you can plug and remove.
Hey drf, this project is looking really good.
Thanks
I found some behaviour that seems a little unexpected. Upon starting Shaman it adds upgradable packages to the package queue.
Correct, will be fixed.
This is a bit unexpected when installing other packages. For example, installing ncmpc would list ncmpc as well as it's dependencies in the "To be Installed" section, but it also lists "xf86-video-radeonhd" in the "To be Upgraded" section although the package was never explicitly added to the queue. Furthermore if you continue with "xf86-video-radeonhd" in the "To be Upgraded" section, Shaman will prompt:
Answering no causes the operation to fail (as expected), answering yes causes Shaman to hang at:
Looks like it could not find the package...
After moving the package to /var/cache/pacman/pkg, Shaman hangs again, with the output:
Code:
Executing "pre_remove" scriptlet for package "xf86-video-radeonhd-git"
Extracting: "/var/cache/pacman/pkg/xf86-video-radeonhd-git-20080405-1-i686.pkg.tar.gz"
Ok, running the scriptlet...
"xf86-video-radeonhd-git" doesn't have "pre_remove" scriptlet
Releasing Queue Lock
Alpm Thread awake.
sh: /tmp/alpm_hFfxF5/.INSTALL: Permission denied
Uhm... maybe the scriptlet doesn't have execution permissions?
Great job, this looks like it'll be a great gui alternative to pacman that some users have been looking for, keep up the good work!
EDIT: I should add that I'm running the svn version, and "When Upgrading System" option is set to "Ask"
Thanks a lot
P.S.: Use svn with confidence, I use to keep it as clean as possible and most of the times it's even more stable than latest release.
Offline
i would make shaman more modular.. <snip> ..so shaman gets into extra, but also can support whole arch features.
To ensure everyone's expectations are correct - shaman, or any other pacman gui, will not be included in the extra repo. It is possible that a TU would consider adding shaman to the community repo, but that is by no means guaranteed.
Offline
DonVla wrote:i would make shaman more modular.. <snip> ..so shaman gets into extra, but also can support whole arch features.
To ensure everyone's expectations are correct - shaman, or any other pacman gui, will not be included in the extra repo. It is possible that a TU would consider adding shaman to the community repo, but that is by no means guaranteed.
Doesn't even matter since its in kdemod repo anyways.
Great work drf, but shaman will be pretty useless for me without aur support, ah it would be great if it enabled same kind of functionality as yaourt, ie a aur pkgbuild customization voting and even uploading.
Offline
To ensure everyone's expectations are correct - shaman, or any other pacman gui, will not be included in the extra repo. It is possible that a TU would consider adding shaman to the community repo, but that is by no means guaranteed.
I know - I would have replied that myself, I just have missed that part.
Doesn't even matter since its in kdemod repo anyways.
lol.
Great work drf, but shaman will be pretty useless for me without aur support, ah it would be great if it enabled same kind of functionality as yaourt, ie a aur pkgbuild customization voting and even uploading.
Just wait until 1.0+ we're discussing about design of plugin architecture by now. When plugin support will be ready, I hope also somebody will step up and help us in creating plugins.
We're trying to design it in a way that any other feature can be added... I hope in the future we'll also support scripting languages, don't know if that's possible.
Last edited by drf (2008-04-06 14:02:28)
Offline
Great work!
I will test it and provide feedback
Shaika-Dzari
http://www.4nakama.net
Offline
Even though I'll have a very small use for it (to the extent it's overkill) like what Pierre mentioned, I have to say this is a job well done. Kudos!
Last edited by schivmeister (2008-04-06 17:17:29)
I need real, proper pen and paper for this.
Offline
I said it before, but I'll repeat myself anyways: you are doing an amazing job with this. Thanks for all that work! And keep it up.
Offline
Thanks everyone
Offline
This app is great, but how does it store passwords if I tell it to stop asking? Since it asks for the root password, I'd like to know that it's safe!
Offline
Another thumbs up great piece of work not encountered any problems nice to have the packages to browse.
Thanks for the time and effort put into never really had a need for one but when it does the job so well I see little reason for the cli.
Offline
This app is great, but how does it store passwords if I tell it to stop asking? Since it asks for the root password, I'd like to know that it's safe!
The password isn't stored at all, so it's pretty safe to check that box.
Offline
Shirakawasuna wrote:This app is great, but how does it store passwords if I tell it to stop asking? Since it asks for the root password, I'd like to know that it's safe!
The password isn't stored at all, so it's pretty safe to check that box.
Cool! How does that work, exactly? I asked in IRC last night and no one was aware that libalpm could be accessed/do stuff without root access and one can only get root access with a password, right?
I haven't tested it yet, so maybe I need to put the password in once every time Shaman starts?
Offline
drf wrote:Shirakawasuna wrote:This app is great, but how does it store passwords if I tell it to stop asking? Since it asks for the root password, I'd like to know that it's safe!
The password isn't stored at all, so it's pretty safe to check that box.
Cool! How does that work, exactly? I asked in IRC last night and no one was aware that libalpm could be accessed/do stuff without root access and one can only get root access with a password, right?
I haven't tested it yet, so maybe I need to put the password in once every time Shaman starts?
Because of SUID. We don't need to ask the root password to gain root privileges, but we ask it for security reasons. So, triggering that box just notifies shaman that asking the password is no longer needed. And one of the nicest features in Shaman is that it runs as unprivileged user most of the time, taking/releasing root privileges when needed.
For anybody who is scared of SUID: http://shaman.iskrembilen.com/trac/wiki … ged%20user or join #shaman-arch on freenode, I've already had a pair of talks about SUID
Last edited by drf (2008-04-12 10:45:47)
Offline