You are not logged in.
@thoughtcrime
Colorizing all of the output would require me to wrap Pacman even harder. At the moment Powerpill and Bauerbill pass control when there is nothing for them to do. Wrapping all functions just to colorize the output seems like a bad design decision to me. It seems more reasonable to colorize the output of Powerpill/Bauerbill alone and leave the rest up to Pacman-color or whatever else the user wants to use. This also circumvents the complexity of dealing with different locales (I don't want to have to write regexes to colorize output in multiple languages).I will make the output prettier though, but as all of the code is still new, I have mostly been focusing on functionality so far. Aesthetics can wait until everything works as expected.
That makes sense.
@thoughtcrime & litemotive
It already checks and uses root when running pacman. The only thing that it doesn't do is check if it needs root itself, but I think that would just be a little too much hand-holding for Bauerbill to say "oh hey, you probably wanted to run me as root, let me sudo myself for you". Just create an alias if you always want to run it as root, e.g. alias sbb="sudo bauerbill".
The sudo thing makes sense to me in case you want to build and install an AUR package, because:
* you certainly do not want to build the package as root
* but you need root access for pacman -U
Since you want to provide a full yaourt replacement, I suggest to add this.
Oh and something I just noticed:
When I ran yaourt together with powerpill, I had to press the Y key very often (eg. before downloading /and/ before installing). It is still there in Bauerbill, so could you please change this to require only one Y press, just like when one would use pacman?
And thanks a bunch for coding such great software
- blog (about arch and other stuff): http://thoughtyblog.wordpress.com/
- x86_64 user
Offline
I looked at bauerbill.conf and powerpill.conf and I see a lot of stuff in both of those files. Does bauerbill really require powerpill ? If so maybe you should just drop all the double parameters and keep them in powerpill.conf. If you have planned some separation for the futur fine, just ignore this comment
If you have some specific ideas of how to improve the output, I'll consider implementing them.
:: Number of Sources: 13
:: Number of Packages: 1
:: Total Download Size: >=14.13 MB
:: Binary Package Install Size: 0.11 MB
I don't know if the >= should be here...
Why do we have --> and :: ? Does they refer to different kind of output ? If not, then you should change all to ::
Another thing, when I update with --aur, I can't skip a package.
Offline
@thoughtcrime
Either I've misunderstood what you want or you've misunderstood how Bauerbill handles privileges.
Running Bauerbill as a non-root user:
You need to specify a writable cache directory because Bauerbill saves files to the cachedir itself, i.e. it can't invoke some other application with sudo to do it for it (unless you want it to save all files in one place then "sudo mv" them, but that strikes me as horrible design). When Bauerbill needs to install packages with pacman, it already does use sudo if it's available, which is what Yaourt does.
Running Bauerbill as root / with sudo:
Bauerbill drops root privileges when sourcing and building packages. It changes its own EUID and EGID for the sourcing step, and it uses "su" to invoke makepkg, That's why makepkg doesn't complain about being run as root... because it's not being run as root. Look at the code, there is no "--asroot" option passed to it.
There is therefore only one situation in which you could possible ask for it to automatically use sudo in which it doesn't already do so, and that's when it detects that it does not have write permissions to the default cache. To get around that, it would have to invoke itself with sudo, exit and pass control to a new instance of itself. That's possible, but why not just invoke it as sudo to begin with if you want to use the default cache dir?
As I've already said, perhaps I've misunderstood you, but if this is what you want then I don't think I'll implement it.
@faelar
The ">=" gets appended to the size when Bauerbill is unable to determine the size of the remote source file. The sizes are not contained in the PKGBUILDs so they must be retrieved using an http HEAD request. This occasionally fails due to network issues, mirror redirects, etc. The total download size is therefore greater than or equal to the displayed size.
The "::" is used in different pacman prompts, the "-->" is used in others applicaitons such as makepkg, yaourt and powerpill. The former is used for information related to prompts, the latter for general messages. I might change them later but that also falls under aesthetics and I'm not too concerned about that right now, plus that will likely end up being a bikeshed discussion.
Use "--ignore" to skip packages. Bauerbill and Powerpill emulate Pacman's behavior and Pacman does not prompt you to skip upgradable packages.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Man, you make a lot of great stuff.
I noticed that it has some trouble with the gsm package in the AUR. I don't why, but it downloads it as Archive.tar.gz instead of gsm.tar.gz which causes an error when it can't find the PKGBUILD. I'm not sure if it's bauerbill's fault or something related to the AUR.
Offline
The aur's database often has old information in the URLPath variable that is returned. If you are using that info, Xyne, I'd suggest building the url yourself instead.
archlinux - please read this and this — twice — then ask questions.
--
http://rsontech.net | http://github.com/rson
Offline
Yep, that's an AUR issue. The JSON info is:
{"type":"info","results":{"ID":"6964","Name":"gsm","Version":"1.0.12-6","CategoryID":"10","Description":"Shared libraries for GSM 06.10 lossy speech compression","LocationID":"2","URL":"http:\/\/kbs.cs.tu-berlin.de\/~jutta\/toast.html","URLPath":"\/packages\/gsm\/Archive.tar.gz","License":"custom","NumVotes":"38","OutOfDate":"1"}}
That package hasn't been updated in 2 years, which is probably why the URLPath is wrong. Although it would be easy to work around by building the URLPath from the name as suggested, this is ugly and likely to require changes in the future. I think a better approach is to output a 404 error message and let the users nag the packager to update teh package. If a package hasn't been updated in years and the packager no longer responds to update requests, then it's probably not a good idea to install it anyway.
I'll send an email to AUR dev to see if they can do anything about the outdated URLPaths nevertheless.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
@thoughtcrime
Either I've misunderstood what you want or you've misunderstood how Bauerbill handles privileges.Running Bauerbill as a non-root user:
You need to specify a writable cache directory because Bauerbill saves files to the cachedir itself, i.e. it can't invoke some other application with sudo to do it for it (unless you want it to save all files in one place then "sudo mv" them, but that strikes me as horrible design). When Bauerbill needs to install packages with pacman, it already does use sudo if it's available, which is what Yaourt does.Running Bauerbill as root / with sudo:
Bauerbill drops root privileges when sourcing and building packages. It changes its own EUID and EGID for the sourcing step, and it uses "su" to invoke makepkg, That's why makepkg doesn't complain about being run as root... because it's not being run as root. Look at the code, there is no "--asroot" option passed to it. error: failed to lock database (Permission denied)There is therefore only one situation in which you could possible ask for it to automatically use sudo in which it doesn't already do so, and that's when it detects that it does not have write permissions to the default cache. To get around that, it would have to invoke itself with sudo, exit and pass control to a new instance of itself. That's possible, but why not just invoke it as sudo to begin with if you want to use the default cache dir?
As I've already said, perhaps I've misunderstood you, but if this is what you want then I don't think I'll implement it.
The main thing is that one could always just run bauerbill without getting thrown back to the console because of priviliges. A simple example is:
#~ bauerbill -Syu
error: failed to lock database (Permission denied)
Whereas yaourt simply asks us to give our sudo password.
You say this can be solved by specifying a writable cache directory? Which config option is that?
ᶘ ᵒᴥᵒᶅ
Offline
#~ bauerbill -Syu error: failed to lock database (Permission denied)
Whereas yaourt simply asks us to give our sudo password.
You say this can be solved by specifying a writable cache directory? Which config option is that?
"--cachedir <path>" (man pacman for future reference)
Just create the following aliases in .bashrc:
alias sbb="sudo bauerbill"
alias bb="bauerbill --cachedir <path>"
If a given command always requires root, just run it as root straight away.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Hi. It would be good if we could control either we want to continue a installation without any questions or not. The question about editing PKGBUILD from aur and a question before starting a download. Can we be choosing it now?
Offline
Hi. It would be good if we could control either we want to continue a installation without any questions or not. The question about editing PKGBUILD from aur and a question before starting a download. Can we be choosing it now?
Look at pacman's "--noconfirm" option to avoid questions about the download and look at bauerbill's "TrustedUsers" option to avoid prompts for some AUR packages. Bauerbill will never provide a way to bypass all PKGBUILD inspection prompts though as that is very dangerous and stupid.
As a general note to everyone, please read the documentation for Bauerbill, Powerpill and Pacman.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
It's in the AUR now.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Bug that if my package dir is set it doesnt find the package, eg
error: could not find built package: /home/chris/build/bauerbill/AUR/haskell-xml/haskell-xml-1.3.5-1-x86_64.pkg.tar.gz
chris ~ % ls packages
haskell-xml-1.3.5-1-x86_64.pkg.tar.gz
Offline
@Zariel
It should be fixed now.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
For GIT:
...
==> Leaving fakeroot environment.
==> Finished making: archey 20100111-1 x86_64 (Mon Jan 11 13:37:32 EST 2010)
error: could not find built package: /tmp/bauerbill/build/AUR/archey/archey-0.1-5-x86_64.pkg.tar.gz
[01:42:36] [~] : cd /tmp/bauerbill/build/AUR/archey
[01:42:47] [archey] : ls
archey-20100111-1-x86_64.pkg.tar.gz pkg PKGBUILD src
It detects the built package and installs it after doing it again. The same thing also happens for SVN packages that pull the latest revision (and bazaar, etc).
Offline
Any way it could show if the package searched for is already installed, like yaourt does?
Offline
bauerbill couldn't find a package with some odd characters in it:
$ bauerbill -S abiword+plugins-light
warning: abiword+plugins-light does not match any package or group in sync db
--> Searching for packages in AUR...
error: not found in sync db or AUR: "abiword+plugins-light"
$ bauerbill -Ss abiword
extra/abiword 2.8.1-1
A fully-featured word processor
extra/abiword-plugins 2.8.1-3
Various plugins for Abiword
AUR/abiword+plugins-light 2.6.8-1
Abiword and various plugins
AUR/abiword-devel 2.8.0-1
A fully-featured word processor (Development Version)
AUR/abiword-extras 2.6.8-2
Cliparts, icons, dictionaries for abiword
AUR/abiword-light 2.6.8-4
A fully-featured word processor without some gnome dependencies
AUR/pyabiword 0.7.5-1
Python bindings for AbiWord
yaourt was able to install it correctly.
Last edited by jdarnold (2010-01-11 22:47:49)
Offline
Xyne,
I noticed that bauerbill creates a /etc/bauerbill.conf file. Couldn't it have used the /etc/powerpill.conf itself, since it requires powerpill to be installed anyway??
Now I had to change the PacmanBin in 2 different places instead of 1. I also noticed that the log file is the same for bauer and power, so you might as well use the same conf file too.
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
I'm having an issue upgrading firefox-branded from the AUR with bauerbill. When I run "sudo bauerbill -S --aur firefox-branded", I get the error
error: failed to prepare transaction (could not satisfy dependencies)
:: firefox-branded: requires xulrunner=1.9.1.6
Full output can be found at http://pastebin.com/m45cb0012
I think what is happening is that the currently installed version of firefox-branded requires xulrunner 1.9.1.6 while the new version requires xulrunner 1.9.1.7. It seems that when I do "sudo bauerbill -S --aur firefox-branded", it first tries to upgrade xulrunner to 1.9.1.7 to meet the dependency of the new version of firefox-branded. But it can't do that because the currently installed version of firefox-branded requires 1.9.1.6.
yaourt fails in the same way in upgrading the firefox-branded package.
It would be nice if bauerbill could tell that the package that had the dependency conflict would be replaced by a new package anyway, thus making the conflict a non-issue.
I get a weird error if I try to use -Sd:
$ sudo bauerbill -Sd --aur firefox-branded
warning: firefox-branded does not match any package or group in sync db
--> Searching for packages in AUR...
--> Determining sizes of source files...
--> Building firefox-branded...
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/vendor_perl/Xyne/Arch/Bauerbill.pm line 578.
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/vendor_perl/Xyne/Arch/Bauerbill.pm line 578.
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/vendor_perl/Xyne/Arch/Bauerbill.pm line 578.
Use of uninitialized value $c in substr at /usr/share/perl5/vendor_perl/Xyne/Common/Functions.pm line 127.
Use of uninitialized value $c in concatenation (.) or string at /usr/share/perl5/vendor_perl/Xyne/Common/Functions.pm line 133.
Use of uninitialized value $build_dir in concatenation (.) or string at /usr/share/perl5/vendor_perl/Xyne/Arch/Bauerbill.pm line 587.
==> ERROR: PKGBUILD does not exist.
error: makepkg exited with an error (256)
error: could not find built package: ---x86_64.pkg.tar.gz
Last edited by jowilkin (2010-01-12 03:59:19)
Offline
@Pnevma
I'll look into git/svn/etc as soon as I have the time.
@jdarnold
Showing installed packages falls under "aesthetics"... I'll get to the later.
I've fixed the problem "abiword+plugins-light" (I had forgotten to URL-escape the RPC arguments).
@Inxisible
I've added a PowerpillConf option (I had planned to but forgotten about it). Set that then comment out options in bauerbill.conf that you wish to set from powerpill.conf (i.e. options in bauerbill.conf will override options in powerpill.conf). I haven't tested it extensively though so let me know if something doesn't work as expected.
@jowilkin
I'll look into that too as soon as I have the time.
Can you check that it works if you first uninstall the local packages?
Last edited by Xyne (2010-01-12 05:35:16)
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
I'm having an issue upgrading firefox-branded from the AUR with bauerbill. When I run "sudo bauerbill -S --aur firefox-branded", I get the error
I think what is happening is that the currently installed version of firefox-branded requires xulrunner 1.9.1.6 while the new version requires xulrunner 1.9.1.7. It seems that when I do "sudo bauerbill -S --aur firefox-branded", it first tries to upgrade xulrunner to 1.9.1.7 to meet the dependency of the new version of firefox-branded. But it can't do that because the currently installed version of firefox-branded requires 1.9.1.6.
yaourt fails in the same way in upgrading the firefox-branded package.
It would be nice if bauerbill could tell that the package that had the dependency conflict would be replaced by a new package anyway, thus making the conflict a non-issue.
This is an issue with the way the PKGBUILDs are done, as they specify a static xulrunner version, no "or greater", so that during upgrades I always have to sudo pacman -Rd firefox-branded, then upgrade xulrunner, and then install firefox again. It would be great if bauerbill could handle something like this itself, but I just wanted to point out that it's not a bauerbill-specific problem. You can circumvent the problem (for the time being) by editing the PKGBUILD of firefox (the one installed currently) to read >= 1.9.1.6, and while firefox will not run and complain about the version conflict, you can update firefox without having to remove it again (I think, been a while since I was bothered to do that).
@xyne: It will work if you uninstall firefox-branded (unless there's something more to the above error).
Last edited by lswest (2010-01-12 09:30:31)
Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds
Offline
Just create the following aliases in .bashrc:
alias sbb="sudo bauerbill"
alias bb="bauerbill --cachedir <path>"If a given command always requires root, just run it as root straight away.
That's developer-talk Xyne, users don't want to think before every action whether it's going to be a always-root, partly-root or never-root command.
ᶘ ᵒᴥᵒᶅ
Offline
Xyne wrote:Just create the following aliases in .bashrc:
alias sbb="sudo bauerbill"
alias bb="bauerbill --cachedir <path>"If a given command always requires root, just run it as root straight away.
That's developer-talk Xyne, users don't want to think before every action whether it's going to be a always-root, partly-root or never-root command.
The advantage of not prompting users to sudo is heightened security if I'm not wrong. Otherwise why don't all programs do automatic sudoing for root operations such as rm prompting for a root password when removing a file you have no rights to?
How's my programming? Call 1-800-DEV-NULL
Offline
@Xyne: bauerbill is wonderful!
I believe this is a bug with passing the --needed flag through to pacman? (things work fine without it, so I guess it's just a usability problem)
> sudo bauerbill -S --needed neatx
Use of uninitialized value in subroutine entry at /usr/share/perl5/vendor_perl/Xyne/Arch/Pacman.pm line 596.
Can't use string ("") as a subroutine ref while "strict refs" in use at /usr/share/perl5/vendor_perl/Xyne/Arch/Pacman.pm line 596.
These are the versions I have installed:
local/perl-xyne-arch 1.0.25-2
Xyne's Arch-specific Perl modules.
local/perl-xyne-common 1.0.3-1
Xyne's common Perl modules.
local/bauerbill 0.1.1-1
A Powerpill extension with AUR and ABS support, among other things.
Offline
Thanks a lot for this, I have now removed yaourt and aliased p to sudo bauerbill --aur.
edit: a bug:
AUR/gmpc-shout 0.18.0-1
This plugin calls ogg123 and points it at mpd's shoutstream. it will stop ogg123 when stopped/paused and starts
it again when mpd starts playing again.
AUR/gmpc-tagedit 0.18.0-1
This plugin calls ogg123 and points it at mpd's shoutstream. it will stop ogg123 when stopped/paused and starts
it again when mpd starts playing again.
AUR/gmpc-wikipedia 0.18.0-1
This plugin calls ogg123 and points it at mpd's shoutstream. it will stop ogg123 when stopped/paused and starts
it again when mpd starts playing again.
edit2: and a suggestion: use $EDITOR
Last edited by JohannesSM64 (2010-01-12 12:55:32)
Offline
JohannesSM64:
What exactly is supposed to be a bug? It correctly returns the names of the packages and their descriptions (the descriptions are exactly the same, check the AUR pages: http://aur.archlinux.org/packages.php?O … PP=25&SO=a).
Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds
Offline