You are not logged in.
About:
aursh is a rewrite of previously developed aurshell. Currently it's alpha stage and allows only basic operations and does not contains shell mode.
But why rewrite?
I've found that some of the decisions I've made during aurshell development was wrong. There was a lot of code, and it was easier to me to write it from scratch than modify.
Code:
Hosted on github: http://github.com/husio/aursh
Installation :
The easiest way is to build and install package:
$ mkdir -p /tmp/aursh-git
$ cd /tmp/aursh-git
$ wget http://aur.archlinux.org/packages/aursh-git/aursh-git.tar.gz
$ tar -xvvf aursh-git.tar.gz
$ cd aursh-git
$ makepkg
$ sudo pacman -U aursh*
Documentation:
Not completed, but parts of it can be found in doc directory. From time to time, I also generate html
Last edited by Husio (2010-01-09 12:30:36)
Offline
This thing has a great interface. Check it out!
Offline
And it uses the json interface! woot!
The suggestion box only accepts patches.
Offline
This looks interesting...I've been playing around with it for a bit and I'm just wondering what key differences this would have over say yaourt or similar AUR tools. I admit, I've only started looking at the frontend tools for AUR recently. I've always done my package builds manually, but I'm trying to figure out exactly why we have so many too choose from (I know, I know, choice is good )
thayer williams ~ cinderwick.ca
Offline
By accident I found aurshell yesterday and you've done a good job. I have seen some ruby interfaces that require 5-6 other libraries... and I thought that it would be great if it was done in python because of it's "batteries included" philosophy (while json can simply be put in src/plugins/), and indeed what a simple and good tool it is.
You need to install an RTFM interface.
Offline
This looks interesting...I've been playing around with it for a bit and I'm just wondering what key differences this would have over say yaourt or similar AUR tools. I admit, I've only started looking at the frontend tools for AUR recently. I've always done my package builds manually, but I'm trying to figure out exactly why we have so many too choose from (I know, I know, choice is good
)
If you want something to work fine, do it yourself. If kernel doesn't work as I want it to, there's nothing I can do about it. But it's quite easy for me to write another aur-dms, that would work exactly as I want it to.
By accident I found aurshell yesterday and you've done a good job. I have seen some ruby interfaces that require 5-6 other libraries... and I thought that it would be great if it was done in python because of it's "batteries included" philosophy (while json can simply be put in src/plugins/), and indeed what a simple and good tool it is.
I thought simplejson is in repo. Don't want to include it's source, because aur plugin will require tricky import of that lib and IMO everything there should be easy to understand. Building simplejson package is really simple.
Last edited by Husio (2008-04-03 06:24:30)
Offline
Yes it is, I just wanted to emphasize the diffrence with installing 5-6 libraries.
You need to install an RTFM interface.
Offline
I have seen some ruby interfaces that require 5-6 other libraries...
Ha ha, are you talking about my program (arson)? I hope not, only 3 external libraries are required, 2 of which are optional, and a different subset of 2 can be easily installed via gem, the ruby package manager.
Husio, not trying to steal any of your crowd. Different aspects to achieve the same goal: AUR-DMS. Working with AUR devs to make the RPC interface faster w/ more features. Our applications will easily surpass those that still scrape html (and no offense to wain, yaourt is really really really good, especially for a shell script! Wow...)
Offline
Ok, think that this is something new.
Let's imagine that you need startx command. But you don't have it. What should I install? You can ask, you can search with google. But you can also use aurshell:
aurshell # find file startx
xorg-xinit 1.0.7-3
usr/bin/startx
usr/share/man/man1/startx.1.gz
Offline
Our applications will easily surpass those that still scrape html
(and no offense to wain, yaourt is really really really good, especially for a shell script! Wow...)
No problem zenix
But for information, my yaourt's dev version use the json interface too. Using RPC with bash seems easier than with ruby thanks to wget
It's easy as:
wget -q -O - "http://aur.archlinux.org/rpc.php?type=info&arg=arson"
I just use sed after that to grab the info I want. This is used in "yaourt -Su --aur" for example.
At this time, json interface needs to return more informations to be really usefull for yaourt. Scraping html for yaourt -Ss is faster than quering each package with json for description. But it's only the beginning, and I'm sure json interface will be better soon
sorry for the off-topic
aurshell is cool
Offline
At this time, json interface needs to return more informations to be really usefull for yaourt. Scraping html for yaourt -Ss is faster than quering each package with json for description. But it's only the beginning, and I'm sure json interface will be better soon
I sent in a patch for it today. If it gets accepted, the json interface will return the fields you ask for.
Offline
I sent in a patch for it today. If it gets accepted, the json interface will return the fields you ask for.
Sweet. Now searching packages would return name and version + description
Offline
I set up a live demo of it at http://bst.doesntexist.org/rpc.php so people can try it. Although my computer is a bit unstable so it might crash at some point.
edit: simples way to try it is to use curl
curl 'http://bst.doesntexist.org/rpc.php?type=query&arg=<package_name_or_description>&include=Name:Description:URL:NumVotes'
Last edited by scj (2008-05-29 11:48:56)
Offline
Offline
Maybe it should echo what package it is downloading.
sorin ~/P/a/test > for i in (p -Qqm); aursh aur download $i;end
Downloading 4 files:
1 | ChangeLog
2 | PKGBUILD
3 | arson
4 | arson.install
Downloading 2 files:
1 | PKGBUILD
2 | aurshell-git.install
Downloading 2 files:
1 | PKGBUILD
2 | aurvote-0.3.1.src.tar.gz
Downloading 2 files:
1 | PKGBUILD
2 | color-theme.install
Downloading 2 files:
1 | PKGBUILD
2 | colorgcc.install
Downloading 1 file:
1 | PKGBUILD
Downloading 1 file:
1 | PKGBUILD
Downloading 2 files:
1 | PKGBUILD
2 | gedit-plugins.install
Downloading 1 file:
1 | PKGBUILD
Downloading 2 files:
1 | PKGBUILD
2 | icepac.install
Downloading 1 file:
1 | PKGBUILD
Downloading 2 files:
1 | PKGBUILD
2 | lesspipe.sh
Downloading 1 file:
1 | PKGBUILD
Downloading 7 files:
1 | PKGBUILD
2 | exclude.patch
3 | lb.cron
4 | lb.exclude
5 | link-backup.install
6 | root-src-fix.patch
7 | shebang.patch
Downloading 1 file:
1 | PKGBUILD
Downloading 1 file:
1 | PKGBUILD
Downloading 3 files:
1 | ChangeLog
2 | PKGBUILD
3 | pacman-color.install
Downloading 1 file:
1 | PKGBUILD
Downloading 2 files:
1 | PKGBUILD
2 | pkgbuild-mode.install
Downloading 3 files:
1 | ChangeLog
2 | PKGBUILD
3 | podsleuth.install
Downloading 1 file:
1 | PKGBUILD
Downloading 1 file:
1 | PKGBUILD
Downloading 3 files:
1 | PKGBUILD
2 | radeontool-1.5-mmap.patch
3 | radeontool-1.5-vga-ati.patch
Downloading 1 file:
1 | PKGBUILD
Downloading 2 files:
1 | PKGBUILD
2 | shake.install
Downloading 5 files:
1 | PKGBUILD
2 | uresume-hook
3 | uresume-install
4 | uswsusp.install
5 | whitelist.c.diff
Downloading 2 files:
1 | PKGBUILD
2 | yaourt.install
Downloading 3 files:
1 | PKGBUILD
2 | _netcfg
3 | _pacman
Downloading 1 file:
1 | PKGBUILD
Downloading 2 files:
1 | PKGBUILD
2 | _yaourt
sorin ~/P/a/test >
Offline
Done.
Code from git:
# aursh S aurshell-git
Files allready exists. Rewrite?[y/N] y
==> downloading aurshell-git (2)
1 | PKGBUILD
2 | aurshell-git.install
==> Sprawdzam ostatnią rewizje repozytorium git...
Offline
Thank you for echoing the package name.
Feature request: allow me to tell which shell to use, or make it use the shell from which it was launched.
"aur upgrade": Lists nothing. I hope it doesn't use pacman -Qm to check for packages which may be from AUR. I have a local repository.
aur download foo: downloads all packages matching foo. Maybe it is useful, but aur download "foo" with quotes could only download "foo".
aur install: downloads and builds community pkgbuilds which is pointless. There is no need to build them, they've already been built.
dependency resolution is needed. download all AUR dependencies. Install all core/extra/community dependencies.
Offline
"aur upgrade": Lists nothing. I hope it doesn't use pacman -Qm to check for packages which may be from AUR. I have a local repository.
Yes, it does. No idea how to do it properly. It's not ready to use yet. I'm thinking about some database where aurshell could store information, which package is not from official repo.
aur download foo: downloads all packages matching foo. Maybe it is useful, but aur download "foo" with quotes could only download "foo".
Not sure if I know what do you mean. There's plenty of .*aur.* packages, but downloading aur does not work - no such package. It won't download aurbuild, aurscript, etc.
# aursh aur download aur
No files found.
aur install: downloads and builds community pkgbuilds which is pointless. There is no need to build them, they've already been built.
dependency resolution is needed. download all AUR dependencies. Install all core/extra/community dependencies.
aur install is actually an alias for
aur install = aur info ; aur download ; base validate ; base makepkg ; base install <<
You can delete it from ~/.aurshell if you don't like it.
Offline
Installing packages fails if using a custom PKGDEST in /etc/makepkg.conf.
aurshell-git 20080531-2 - 0.3.1-2
blobandconquer 0.93-1 - 0.92-1
snes9x-gtk 1.51.28-1 - 1.51.29-1
oss-linux-free 4.0_1015-3 - 4.0_1015-2
wesnoth-svn 26945-1 - 25995-1
aur upgrade doesn't seem to play nice with locally bumped version numbers.
Offline
Installing packages fails if using a custom PKGDEST in /etc/makepkg.conf.
Hm, don't know yet how to solve it. It's working (building package) but can't install it, becouse it's not in default place. There's build_dir = ~/aurshell variable in configuration file and it should be set to PKGDEST. But if so, it would download files there.
aurshell-git 20080531-2 - 0.3.1-2 blobandconquer 0.93-1 - 0.92-1 snes9x-gtk 1.51.28-1 - 1.51.29-1 oss-linux-free 4.0_1015-3 - 4.0_1015-2 wesnoth-svn 26945-1 - 25995-1
aur upgrade doesn't seem to play nice with locally bumped version numbers.
As I've wrote - aur upgrade isn't ready to use yet. So it doesn't do anything important yet. It's another problem, I'm thinking on.
Offline
turska wrote:Installing packages fails if using a custom PKGDEST in /etc/makepkg.conf.
Hm, don't know yet how to solve it. It's working (building package) but can't install it, becouse it's not in default place. There's build_dir = ~/aurshell variable in configuration file and it should be set to PKGDEST. But if so, it would download files there.
I was just about to report the same thing. It should be not too difficult to parse the PKGDEST value from makepkg.conf. It's a bit weird that makepkg itself doesn't have a command line switch that would make it use a different PKGDEST dir than the one specified in the conf file.
I would appreciate one more command:
aur clean -> deletes everything in aurshell/<package> directory except PKGBUILD and files in its source array.
Except this - nice work! Thanks!
Offline
Husio wrote:turska wrote:Installing packages fails if using a custom PKGDEST in /etc/makepkg.conf.
Hm, don't know yet how to solve it. It's working (building package) but can't install it, becouse it's not in default place. There's build_dir = ~/aurshell variable in configuration file and it should be set to PKGDEST. But if so, it would download files there.
I was just about to report the same thing. It should be not too difficult to parse the PKGDEST value from makepkg.conf. It's a bit weird that makepkg itself doesn't have a command line switch that would make it use a different PKGDEST dir than the one specified in the conf file.
Done. But you have to manually set makepkg_pkgdest = /same/as/PKGDEST in ~/.aurshell. It's also included in new (default) configuration file.
I would appreciate one more command:
aur clean -> deletes everything in aurshell/<package> directory except PKGBUILD and files in its source array.Except this - nice work! Thanks!
I've wrote remove_pkgfiles function. It's in base operations group, but you can alias it to whatever you want. It will remove build directory. But won't remove package if PKGDEST is set.
# aursh base remove_pkgfiles aurshell-git
will remove ~/aurshell/aurshell-git directory by default. Path is set by adding pkgname to build_dir from configuration file.
Last edited by Husio (2008-05-31 20:24:25)
Offline
I think it should skip community for search results because it's handled by pacman.
AUR upgrade pretty worthless for me. As you may know, I keep a local repository of all aur packages I install.
I have nothing foreign. So, it can't check for updates because it uses "pacman -Qqm". It would be useful if I could tell it to treat certain repositories as foreign.
In case of loops, it may say that "FILES already exists. Do you want to override them"? It doesn't say what exists and doesn't let me to "--noconfirm".
CTRL+C does not work. I get ugly trace backs.
There's nothing there.
% cd test
% ls
total 0
% for i in $(pacman -Qqm)
do
aursh aur download $i
done
Files allready exists. Rewrite?[y/N]
Last edited by SpookyET (2008-06-01 22:46:38)
Offline
THX man! This is my first AUR helper program and I must say: this is one hell of a timesaver! It took a while for me to figure it out (I'm quite new to everything linux and sudo was installed incorrectly - apparantly), but now I got the hang of it, it is the perfect companion to pacman!
THX!
Offline
Don't know if it is a bug or maybe I did something wrong, but:
This morning I ran a 'aur upgrade' inside aursh and 'firefox-spookyet' was listed as outdated (RC2-1 -> RC3-1). So I did 'aur install firefox-spookyet' and left the pc alone (this package takes several hours to build). Upon returning, I saw that it was RC2-1 that was build and not the RC3-1, while the AUR-website lists the RC3-sources.
Spooky?
Zl.
Offline