You are not logged in.
Xyne, is perl-xyne-arch-1.1-2 missing a function?
> pacman -Qs perl-xyne
local/perl-xyne-arch 1.1-2
Xyne's Arch-specific Perl modules.
local/perl-xyne-common 1.0.8-1
Xyne's common Perl modules.
> sudo bauerbill -Syu
"slurp_file" is not exported by the Xyne::Common::Functions module
Can't continue after import errors at /usr/share/perl5/vendor_perl/Xyne/Arch/Pacman.pm line 23
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Xyne/Arch/Pacman.pm line 23.
Compilation failed in require at /usr/share/perl5/vendor_perl/Xyne/Arch/AUR.pm line 27.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Xyne/Arch/AUR.pm line 27.
Compilation failed in require at /usr/share/perl5/vendor_perl/Xyne/Arch/Bauerbill.pm line 22.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Xyne/Arch/Bauerbill.pm line 22.
Compilation failed in require at /usr/bin/bauerbill line 25.
BEGIN failed--compilation aborted at /usr/bin/bauerbill line 25.
Offline
Sorry, I forgot that I had changed perl-xyne-common. The latest version should be up now (database lookups should be a little faster too).
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Thank you!
Offline
Hi again,
today bauerbill gave me the following message, not quite sure what it means...
"bau" is just a bash alias for sudo bauerbill.
$ bau -Sy tint2
Use of uninitialized value $rt in numeric gt (>) at /usr/share/perl5/vendor_perl/Xyne/Arch/Powerpill.pm line 700.
Use of uninitialized value $rt in numeric gt (>) at /usr/share/perl5/vendor_perl/Xyne/Arch/Powerpill.pm line 700.
Use of uninitialized value $rt in numeric gt (>) at /usr/share/perl5/vendor_perl/Xyne/Arch/Powerpill.pm line 700.
--> Loading AUR taurball data...
--> Loading ABS taurball data...
--> Checking for abs archive updates for the following repos: [community]
warning: about to source /var/abs/local/bauerbill/build/community/tint2/PKGBUILD
view [v] backup [b] edit [e] continue [ok] abort [x]
Is it just me (misconfiguring something) or may there be a hickup in perl-xyne-arch / perl-xyne-common / powerpill? I have installed versions 1.1-2 and 1.0.9.-1 and 17.0-4. You are so fast in updating them, I'm not sure these are really the latest versions
Different topic: I thought about starting to bother the repo maintainers about the actuality of the *.abs.tar.gz files, since I seem to be not the only one getting confused with older versions getting installed. Ony I seem to dumb to find out whom to bother :-)
Would that just be any of the main arch developpers?
Really appreciate the time you put in this tools!!
Last edited by MAroco (2010-01-28 22:04:04)
Offline
I saw that today too. I'm not sure what caused it but I've added a check to catch it. I think it might have been due to a transient network error or a missing database on the server.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Thanks, good to know it's not *just me*
So I'll just be patient again
Offline
I had a weird experience upgrading today. The download for aur package songbird-bin-stable kept failing. It would download the file, but then say it failed when it finished, ask me to retry, and then fail again if I said yes. Finally I just said no, don't retry, but it went on to successfully install songbird anway.
Here is the full output on pastebin http://pastebin.com/m329ba123
Edit: another thing I noticed is that even though rebasing picked up the linux-api-headers package, bauerbill did not prompt me to replace the kernel-headers package with it. I ran a sudo bauerbill -Syu again right after the previous one and that time it did prompt me to do the replace.
> bbup
--> Searching for upgradable repo packages...
--> Searching for upgradable AUR packages...
--> Loading AUR taurball data...
--> Switching to pacman: /usr/bin/pacman -S -u
:: Starting full system upgrade...
warning: cmake: ignoring package upgrade (2.6.4-3 => 2.8.0-1)
:: Replace kernel-headers with core/linux-api-headers? [Y/n] y
resolving dependencies...
looking for inter-conflicts...
Remove (1): kernel-headers-2.6.32-1
Total Removed Size: 3.96 MB
Targets (1): linux-api-headers-2.6.32.5-2
Total Download Size: 0.66 MB
Total Installed Size: 3.85 MB
Proceed with installation? [Y/n] y
:: Retrieving packages from core...
linux-api-headers-2... 676.8K 686.8K/s 00:00:01 [-------------------------------------------------------] 100%
checking package integrity...
(1/1) checking for file conflicts [-------------------------------------------------------] 100%
(1/1) removing kernel-headers [-------------------------------------------------------] 100%
(1/1) installing linux-api-headers [-------------------------------------------------------] 100%
Last edited by jowilkin (2010-01-29 01:44:26)
Offline
That happened because of the way the md5sums are specified in the PKGBUILD. It uses a conditional statement to change the md5sum for the x86_64 download and bauerbill's PKGBUILD parse still doesn't handle that condition statement. Aria2c therefore uses the i686 checksum and thinks that the download is incorrect, even though it isn't.
Until I figure out how to parse those blocks, just edit the PKGBUILD to use the correct md5sums without the conditional statement. If you enable the PatchDir option, you can edit the file at the prompt and then "diff" it. After that you can choose "patch" on subsequent updates without having to edit the file again.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Hi,
the new version of bauerbill seems to have problems handling dependencies, which are only provided by other packages:
For instance if I try to install haskell-syb with "bauerbill -S --aur haskell-syb"
bauerbill also builds and installs haskell-cabal which is provided by ghc.
("pacman -T haskell-cabal" yields no output on my system.)
I believe the old version of bauerbill handle this situation correctly.
@Xyne: anyway thank you for writing bauerbill it is awesome and exactly what are was missing
Offline
I get the following error:
$ bauerbill -Sl extra
error: no write permissions to any of the following cache directories:
/var/cache/pacman/pkg
$ sudo bauerbill -Sl extra
error: extra does not match any package or group
$
Besides, it shouldn't reqiure root privileges for -Sl.
On another note:
I followed the Haskell Arch team suggestion for using bauerbill to build haskell packages from AUR, since baurbill supports the provides field in PKGBUILD (according to the haskell team). However, from what I see it doesn't seem to support it.
I do the following:
1) installed ghc, which provides :
haskell-array=0.3.0.0
haskell-cabal=1.8.0.2
and replaces:
haskell-array<0.3.0.0
haskell-cabal<1.8.0.2
2) tried installing haskell-fft, which among other things depends on 'haskell-cabal' 'haskell-array'. Bauerbill did not recognize that those are provided by ghc and tried installing them. haskell-array is version 0.2.0.0, which means that it shouldn't install, since ghc replaces that version. Bauerbill also tried installing haskell-cabal which is 1.8.0.2 which is again already provided by ghc
3) I got the following errors and warnings from the above steps:
for haskell-cabal 1.8.0.2:
............
--> Running pacman: /usr/bin/pacman --cachedir "/var/cache/pacman/pkg" -U --asdeps /var/cache/pacman/pkg/haskell-cabal-1.8.0.2-1-x86_64.pkg.tar.gz
loading package data...
checking dependencies...
warning: dependency cycle detected:
warning: haskell-cabal will be installed before its haskell-cabal dependency
(1/1) checking for file conflicts [#####################] 100%
(1/1) installing haskell-cabal [#####################] 100%
Reading package info from stdin ... done.
/tmp/alpm_H1ObuR/.INSTALL: line 4: ./gen_contents_index: No such file or directory
error: command failed to execute correctly
--> Building haskell-array...
...................
I think the error above is expected for haskell (I think the haskell team works on it), but why did bauerbill installed it, if ghc provides it?
Then came haskell-array, for which I got:
...........
Data/Array/IO.hs:153:35:
Not in scope: type constructor or class `RawBuffer'
==> ERROR: Build Failed.
Aborting...
error: makepkg exited with an error (512)
error: could not find built package: /tmp/bauerbill/build/AUR/haskell-array/haskell-array-0.2.0.0-2-x86_64.pkg.tar.gz
$
Of course, the build fails, since this is an old package, and it shouldn't be possible to install it, since ghc already provides a newer version, and replaces the above one.
4) The same problems above happen if I try installing haskell-array in the first place (i.e. not as a dependency), which depends on haskell-cabal. Bauerbill should directly tell me that ghc has provided a newer version, but instead, it found that haskell-array depends on haskell-cabal; then installed haskell-cabal and then tried installing haskell-array. In the end I got the errors above again.
5) So, the solution for me was to go and delete by hand the 'haskell-cabal' and 'haskell-array' from the dependency list of all haskell PKGBUILD's I get from AUR. This was exactly what I had to do before with yaourt ... So, no progress on this front.
If this can be fixed, it would be enourmously approciated!!!
Offline
@alexod & smradlev
Sorry about that. I optimized the database file parser and related functions a couple of days ago and inadvertently introduced a bug which prevented it from detecting package names in the "depends" file with version specifications (e.g. =1.2, >=3.4), which is why it was failing to detect ghc's "provides".
It should be working again with perl-xyne-arch>=1.1.2.
I've also fixed the bug with the "-l" option requiring root.
Let me know if it works as expected.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Perfect! Now it works without a hitch.
Thanks a lot for the great tool, Xyne!
For others that may have experienced problems while installing haskell: you may have to remove all ghc and haskell packages and then make sure you locate and delete all remaining ghc/haskell configuration files on your system (if not -- I still get errors). After that, use bauerbill to install the haskell packages you want, and there are no more nagging error messages as this one:
/tmp/alpm_H1ObuR/.INSTALL: line 4: ./gen_contents_index: No such file or directory
Offline
I'd like to make a request for a bauerbill option:
The only (yaourt) option that I'm missing in baurbill is the -B that allows me to easily create a database backup, which I can later search in this way for example:
yaourt -Q --backupfile <name of .tar.bz2 backup>
Offline
Great stuff, Xyne.
I noticed that invoking bauerbill -S doesn't invoke sudo while bauerbill -R does:
$ bauerbill -S openjdk6
error: no write permissions to any of the following cache directories:
/var/cache/pacman/pkg
$ bauerbill -R openjdk6
--> Switching to pacman: /usr/bin/sudo /usr/bin/pacman -R openjdk6
Passwort:
Is that intentional?
Oh, and there's one little thing I'm missing. I build several packages with custom configure options, and if I'd use bauerbill -Syu --aur/--abs, these customizations would be overwritten on every update. Of course, that's the very reason the "edit PKGBUILD" option and --ignore flag exist, but manually editing the PKGBUILD gets a bit tiring after a while, especially for bigger alterations.
So what I'd like to see is the ability to extract an ABS/AUR tarball to a specific directory (~/pkg in my case, that's where all my manually built packages reside), so I can just increment the $pkgver in the customised PKGBUILD, copy it over to the new build directory and build the package myself.
edit: Asking for the path of the PKGBUILD the user wants to use for that build could work too, I guess.
Last edited by Runiq (2010-01-29 22:37:26)
Offline
@Runiq
There's a difference between those two cases. In the first, bauerbill itself needs root to use the default cachedir but you can run it with a different cachedir without root. In either case it will invoke pacman as root (using sudo if not root itself) when it gets to the actual installation.
Basically, if it detects that a given pacman operation requires root, it will prompt for the password when not root and sudo is present, but this is for invoking pacman, not itself (whence the "switching to pacman" line).
For the second issue, look at the "PatchDir" option. If you enable that, it will add options to the PKGBUILD inspection prompt With it, you can edit a PKGBUILD once, diff it, and then every time after that you can apply the created patch at the inspection stage. I intend to add an option to automatically apply detected patches, and to enable patching of all files in the build dir, but I haven't gotten to it yet.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
There's a difference between those two cases. In the first, bauerbill itself needs root to use the default cachedir but you can run it with a different cachedir without root. In either case it will invoke pacman as root (using sudo if not root itself) when it gets to the actual installation.
Basically, if it detects that a given pacman operation requires root, it will prompt for the password when not root and sudo is present, but this is for invoking pacman, not itself (whence the "switching to pacman" line).
Thanks, now I see it.
For the second issue, look at the "PatchDir" option. If you enable that, it will add options to the PKGBUILD inspection prompt. With it, you can edit a PKGBUILD once, diff it, and then every time after that you can apply the created patch at the inspection stage. I intend to add an option to automatically apply detected patches, and to enable patching of all files in the build dir, but I haven't gotten to it yet.
…and here I wonder why I didn't ever think of that myself. Seriously great!
Offline
For the second issue, look at the "PatchDir" option. If you enable that, it will add options to the PKGBUILD inspection prompt With it, you can edit a PKGBUILD once, diff it, and then every time after that you can apply the created patch at the inspection stage. I intend to add an option to automatically apply detected patches, and to enable patching of all files in the build dir, but I haven't gotten to it yet.
I have
BuildDir = /var/bauerbill/build/build
PatchDir = /var/bauerbill/patch/build
I do bauerbill -S ipset4 and then I have
/var/bauerbill/build/build/AUR/ipset4/PKGBUILD after installation.
I want do a patch for PKGBUILD.
Should I put it in /var/bauerbill/patch/build/AUR/ipset4?
What patch name have to be?
Offline
@polymetr
You can create the patch in that directory yourself if you want to, but it's easier to edit the PKGBUILD at the prompt in bauerbill. After you edit it, bauerbill should detect the change and add a "[d] diff" option to the prompt. That will create the patch in the appropriate directory. If bauerbill detects the patch, it will add a "[p] patch" option to the prompt as well.
Even if you want to manually edit the patch, I recommend that you first create it using the method above to make sure that it's in the right place.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
@polymetr
You can create the patch in that directory yourself if you want to, but it's easier to edit the PKGBUILD at the prompt in bauerbill. After you edit it, bauerbill should detect the change and add a "[d] diff" option to the prompt. That will create the patch in the appropriate directory. If bauerbill detects the patch, it will add a "[p] patch" option to the prompt as well.Even if you want to manually edit the patch, I recommend that you first create it using the method above to make sure that it's in the right place.
Ok. It's working. Great job.
Offline
Building xbmc from ABS fails with:
warning: unresolved dependencies: xbmc -> ${depends[@]} (not found)
:: Do you want to ignore the above packages for this operation? [Y/n]
The PKGBUILD looks like this:
depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew'
'hal' 'jasper' 'libgl' 'libjpeg' 'libmad' 'libmysqlclient' 'ffmpeg'
'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3'
'tre' 'unzip' 'x-server' 'libcdio' 'wavpack' 'libmpeg2' 'a52dec'
'libdca' 'smbclient' 'faad2' 'libsamplerate' 'libmms' 'xorg-utils')
if [ "$_ext_python" != "disable" ]; then
depends=( '${depends[@]}' 'python' )
fi
Offline
I have to admit that I didn't read through all 12 pages of this thread. I didn't understand the man pages when it comes to security.
I have to run bauerbill as root (with sudo), but makepkg as root is dangerous.
I've seen the option -build-as <usernam>. Do I always have to add this option, when I want to install a package from AUR (e.g. sudo bauerbill -S --aur --built-as barghest foo)?
Thanks for your patience
Offline
(…) makepkg as root is dangerous.
I've seen the option -build-as <usernam>. Do I always have to add this option, when I want to install a package from AUR (e.g. sudo bauerbill -S --aur --built-as barghest foo)?
No need to do this everytime, you can just put it in the configuration file ($XDG_CONFIG_HOME/powerpill/bauerbill.conf):
# If Bauerbill is run with root privileges, it will drop them and assume the
# privileges of the given user when sourcing files and building packages.
BuildAs = barghest
Last edited by Runiq (2010-01-31 20:57:18)
Offline
@schuay
Expanding ${depends[@]} will be easy and I'll add that as soon as I've finished some other changes that I've made, but that PKGBUILD will still fail because I haven't implemented support for conditionals in the PKGBUILD parser yet. For now, enable "PatchDir" in the config and edit the PKGBUILD at the prompt, then select "[d] diff" to create a patch. After that, you will be able to use "[p] patch" to patch the PKGBUILD for subsequent updates.
I'll try to support conditional statements soon, and will also try to get to automating patching.
@Barghest
Bauerbill will never run makepkg as root. If you do not specify a BauildAs user in the config file or with "--build-as", it will prompt you for a user at run-time.
@Runiq
I recommend using /etc/bauerbill.conf actually, but $XDG_CONFIG/powerpill/bauerbill.conf is supported (or ~/.config/powerpill/bauerbill.conf if that isn't set).
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Hi. I use BuildDir and PathDir.
When I do "sudo bauerbill --aur -S package_name"
in second time there is a changed PKGBUILD file (which I changed in first time and made a patch) in build/AUR/package_name directory but not PKGBUILD from AUR.
I mean a PKGBUILD is not rewritten by bauerbill but it is left as changed by me.
I think that it should be a PKGBUILD from AUR and I can apply a patch.
Maybe something wrong in me configuration.
Offline
@polymetr
I need to change the archive extraction arguments. I'll fix that as soon as I'm done with some other changes that I'm working on right now. I hope to be done today or tomorrow. Just delete build/AUR/package_name for now and it should get recreated (your patch will not be affected).
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline