You are not logged in.

#1 2009-12-22 17:59:56

Darvid
Member
From: $HOME
Registered: 2009-12-09
Posts: 11

auryea and aurora - simpler AUR frontends

The wiki says it all. It's far from complete or feature-rich, but it does what I wanted it to do, and it does it relatively faster than yaourt, and doesn't get in my way. And if you're curious, yes, I have tried each and every AUR helper known to man, but none of them did everything I wanted in one tool, and did it without getting in my way, asking 2 million questions, or requiring 1342412364234 dependencies that would take a few hundred years to sync on my 1mbit connection.

It's the result of a few weeks of brainstorming and using a friend as a sounding board, and he ended up writing an even better, even simpler Python version called aurora that he'll release asap. smile

Testing and feedback would be appreciated. It was originally for personal use, because I was sick and tired of yaourt (with all due respect to the author), but hopefully someone else might be able to benefit from it.

Offline

#2 2009-12-22 22:31:48

FSX
Member
Registered: 2009-08-06
Posts: 57

Re: auryea and aurora - simpler AUR frontends

Sounds cool. I'll give it a try tomorrow. smile

Offline

#3 2009-12-23 06:44:15

anonymous_user
Member
Registered: 2009-08-28
Posts: 3,059

Re: auryea and aurora - simpler AUR frontends

Does auryea have a function to upgrade AUR packages? Also will you be uploading auryea to the AUR?

Offline

#4 2009-12-23 15:48:54

Darvid
Member
From: $HOME
Registered: 2009-12-09
Posts: 11

Re: auryea and aurora - simpler AUR frontends

As of now, all it does is tell you when you're manually installing a package if it's older than an installed package, newer, or the same, but -Su support is coming. And it will be on the AUR shortly, as well. smile

Offline

#5 2009-12-23 16:41:20

Gen2ly
Member
From: Sevierville, TN
Registered: 2009-03-06
Posts: 1,529
Website

Re: auryea and aurora - simpler AUR frontends

Yeah, sounds interesting as I haven't given any helper a try besides Yaourt.  BTW, like the Avatar though it must be made up: Calvin never got an A!  big_smile

BTW, did I miss the message that Yaourt isn't being developed anymore????


Setting Up a Scripting Environment | Proud donor to wikipedia - link

Offline

#6 2009-12-23 17:27:27

Darvid
Member
From: $HOME
Registered: 2009-12-09
Posts: 11

Re: auryea and aurora - simpler AUR frontends

Haha, yeah. And hey, Einstein got bad grades too. tongue

Err, if you call once every 5 blue moons "development", then sure, it is. Check the changelog, last update was sometime in August and it was mostly minor bugfixes. While there's nothing wrong with that if a project is mature and such, I just don't think the dozens of reports of yaourt being slow, painful to use, and whatnot really amounts to a mature project.

I will admit though, if yaourt trims off some extra carbs and gets a facelift minus all the bells and whistles, and fetches results in less than 10 years, then I'll start using it again.

Offline

#7 2009-12-24 02:29:56

synorgy
Member
From: $HOME
Registered: 2005-07-11
Posts: 272
Website

Re: auryea and aurora - simpler AUR frontends

Alright. After some tweaking (though not nearly enough, I would be willing to bet) Aurora is ready for preliminary release. Currently you can grab it from my personal webhost at http://www.bryanabennett.com/code.html

aurora -S will search the AUR for a package and prompt you yaourt style for an index in a list of results. -n disables auto install, -c enables autoclean, and -d changes the download directory. (Don't fret - it's all explained relatively well in -h or --help).

If you find any bugs, please shoot me an email or find me in #archlinux (when I'm there >_>)


"Unix is basically a simple operating system, but you have to be a genius to understand the simplicity." (Dennis Ritchie)

Offline

#8 2009-12-26 02:42:22

Darvid
Member
From: $HOME
Registered: 2009-12-09
Posts: 11

Re: auryea and aurora - simpler AUR frontends

K, auto upgrading AUR packages (via -S[y]u) works.

Offline

#9 2009-12-28 01:33:13

synorgy
Member
From: $HOME
Registered: 2005-07-11
Posts: 272
Website

Re: auryea and aurora - simpler AUR frontends

Aurora now has a new home - http://bitbucket.org/bbenne10/aurora

Also - system upgrading now works via -U, enjoy.


"Unix is basically a simple operating system, but you have to be a genius to understand the simplicity." (Dennis Ritchie)

Offline

#10 2009-12-28 02:51:36

pwd
Member
Registered: 2009-12-14
Posts: 13

Re: auryea and aurora - simpler AUR frontends

auryea wiki wrote:

Obviously, the only options for a scripting language for auryea was bash. I really didn't want to implement it in C, partly because I dislike C, and partly because it would require either an external repository with binaries, or base-devel, which is not synced on a default Archlinux installation (ok ok, those are pretty stupid reasons, but hey).

It can be statically compiled to glibc. And using the AUR already requires most of base-devel.

Offline

#11 2009-12-29 17:44:32

EnvoyRising
Member
Registered: 2008-08-08
Posts: 118

Re: auryea and aurora - simpler AUR frontends

Nice script. I was surprised at out lighting fast it was!

Anyways, I was bored and decided to write a patch. Changes:

Formatting Changes (to better conform to PEP guidelines)
* converted variable names
* aurSearch is now simply search
* added white space for when lines are longer than 79 characters
* converted shift width from 8 to 4
Code Changes
* added an enumerator for CATEGORY, NAME, URLPATH, VERSION (this is purely convenience and not necessary)
* only imported methods/classes used instead of entire modules
* replaced urllib.urlretrieve call with urllib2.urlopen
* replaced all wget calls with urllib2 (eliminating the wget dependency)
* replaced os.path.exists calls with try/catch to prevent race conditions
* replaced json.loads with builtin eval()

Anyways, here's the patch:

diff -r 4e78cc6170eb aurora
--- a/aurora    Sun Dec 27 20:31:19 2009 -0500
+++ b/aurora    Tue Dec 29 05:38:41 2009 -0600
@@ -1,150 +1,219 @@
 #!/usr/bin/env python
-import commands,sys,os,json,urllib,subprocess,shutil
+
+# cleaned up imports to follow PEP
+from urllib2 import urlopen
+from os import makedirs, remove, chdir
+from sys import exit, argv
+from commands import getstatusoutput
+from subprocess import call
+from shutil import rmtree
 from optparse import OptionParser
 
+# easier for me to remember than indices
+CATEGORY, NAME, URLPATH, VERSION = range(4)
+baseUrl = 'http://aur.archlinux.org/rpc.php'
+categories = ['padding','none','daemons','devel','editors','emulators','games','gnome','i18n','kde','lib','modules','multimedia','network','office','science','em','x11','xfce','kernels']
 
-baseUrl = 'http://aur.archlinux.org/rpc.php'
-categories = ['padding','none','daemons','devel','editors','emulators','games','gnome','i18n','kde','lib','modules','multimedia','network','office','science','system','x11','xfce','kernels']
-def aurSearch(term):
-    #yes, I realize I could use urllib or urllib2 here, but you should
-    #have wget and this is infinitely easier than trying to use urllib
-    wget=commands.getstatusoutput("wget -q -O- '{0}?type=search&arg={1}'".format(baseUrl,term))
-    #when python 3.0 hits repos, comment the above line and uncomment this:
-    #wget=subprocess.getstatusoutput("wget -q -O- '{0}?type=search&arg={1}'".format(baseUrl,term))
-    raw=wget[1]
-    try:
-        results=json.loads(raw)['results']
-    except ValueError:
-        print "::\033[0;31mERROR\033[00;00m: Couldn't grab the package list, exiting."
-        cleanUp()
-        sys.exit(2)
-            
-    resultsList=[]
-    for i in range(len(results)):
-        try:
-            categoryIndex=int(results[int(i)]['CategoryID'])
-        except TypeError:
-            print ":: No results found, Exiting."
-            sys.exit()
-        resultsList.append([categories[categoryIndex],results[i]['Name'],results[i]['URLPath'],results[i]['Version']])
-        i+=1
-    resultsList.sort()
-    #resultsList now containts a list of lists which contains Category, Name and URLPath and is sorted on category
+def search(term):
+    # the returned text is essentially a dictionary, so I treat it as such
+    raw = eval(urlopen("%s?type=search&arg=%s" %(baseUrl, term)).read())
 
-    #grab a list of all installed packages and tie it to the installed version
-    installedVersion=dict(item.split() for item in commands.getstatusoutput('pacman -Q')[1].split('\n'))
-    for i in range(len(resultsList)):
-        try:
-            verCmp=int(commands.getstatusoutput("vercmp {0} {1}".format(resultsList[i][3],installedVersion[resultsList[i][1]]))[1])
-        except KeyError:
-            verCmp=None
-            pass
-        if  verCmp <= 0:
-            print "{0}. \033[0;32m{1} \033[0;00m/ \033[0;31m{2}\033[0;00m [installed,{3}]".format(str(i+1),resultsList[i][0],resultsList[i][1],resultsList[i][3])
-        elif verCmp > 0:
-            print "{0}. \033[0;32m{1} \033[0;00m/ \033[0;31m{2}\033[0;00m [outdated,{3}]".format(str(i+1),resultsList[i][0],resultsList[i][1],installedVersion[resultsList[i][1]])
-        else:
-            print "{0}. \033[0;32m{1} \033[0;00m/ \033[0;31m{2}\033[0;00m [{3}]".format(str(i+1),resultsList[i][0],resultsList[i][1],installedVersion[resultsList[i][1]])
-        i+=1
-    installIndex = raw_input("==>")
-    try:
-        packageInfo = resultsList[int(installIndex)-1]
-        install(packageInfo)
-    except ValueError:
-        print "::\033[0;31mERROR\033[00;00m: Entered value is not a number,exiting."
-        sys.exit(2)
+    try:
+        results=raw['results']
+    except ValueError:
+        print "::\033[0;31mERROR\033[00;00m: Couldn't grab the package list, exiting."
+        clean()
+        exit(2)
+                    
+    results_list=[]
+
+    for result in results:
+        try:
+            result['URLPath'] = result['URLPath'].replace("\\", "")
+            results_list.append([categories[int(result['CategoryID'])], 
+                                result['Name'], result['URLPath'],
+                                result['Version']])
+        except KeyError:
+            print ":: No results found. Exiting."
+            exit()
+
+    results_list.sort()
+
+    #grab a list of all installed packages and tie it to the installed version
+    installed_version=dict(item.split() for item in getstatusoutput('pacman -Q')[1].split('\n'))
+
+    for i, result in enumerate(results_list):
+        try:
+            ver_cmp = getstatusoutput("vercmp %s %s" %(result[VERSION], 
+                                     installed_version[result[NAME]]))[0]
+        except KeyError:
+            ver_cmp=None
+            pass
+
+        if ver_cmp is None:
+            msg = "%s. \033[0;35m%s/\033[0;00m%s " \
+                  "[%s]"
+            print msg %(i+1, result[CATEGORY], result[NAME], result[VERSION])
+        elif ver_cmp <= 0:
+            msg = "%s. \033[0;35m%s/\033[0;00m%s %s " \
+                  "[installed, \033[0;32m%s\033[0;00m]"
+            print msg %(i+1, result[CATEGORY], result[NAME], result[VERSION], installed_version[result[NAME]])
+        elif ver_cmp > 0:
+            msg = "%s. \033[0;35m%s/\033[0;00m%s %s " \
+                  "[outdated, \00[0;31m%s\033[0;00m]\033[0;00m" 
+            print msg %(i+1, result[CATEGORY], result[NAME], result[VERSION], installed_version[result[NAME]])
+
+    try:
+        installIndex = int(raw_input("==>"))
+        package_info = results_list[installIndex-1]
+        install(package_info)
+    except ValueError:
+        print "::\033[0;31mERROR\033[00;00m: Entered value is not a number,exiting."
+        exit(2)
                         
-def download(url,packageInfo):
-    global dir
-    dir="{0}{1}".format(options.downloadDir,packageInfo[1])
-    print "Downloading {0} to {1}".format(packageInfo[1], dir)
-    try:
-        if not os.path.exists(dir):
-            os.mkdir(dir)
-        urllib.urlretrieve(url, "{0}{1}/{1}.tar.gz".format(options.downloadDir,packageInfo[1]))
-    except OSError,err:
-        overwrite="Y"
-        overwrite=raw_input("::\033[0;31mERROR\033[0;00m:{0}{1}/{1}.tar.gz exists, Overwrite? (Y/n)".format(downloadDir,packageInfo[1]))
-        if overwrite in ["y","Y"]:
-            os.remove("{0}{1}/{1}.tar.gz".format(options.downloadDir,packageInfo[1]))
-            download(url)
-        else:
-            pass
-        del overwrite
-    except IOError:
-        print "::\033[0;31mERROR\033[0;00m: Your network seems to be down. Please check your internet connection."
-        cleanUp()
-        sys.exit(2)    
-def install(packageInfo):
-    url="http://aur.archlinux.org{0}".format(packageInfo[2])
-    download(url,packageInfo)
-    os.chdir("{0}{1}".format(options.downloadDir,packageInfo[1]))
-    command='tar xvf {0}.tar.gz'.format(packageInfo[1])
-    untar=commands.getstatusoutput(command)
-    os.chdir(packageInfo[1])
-    print "==============================================================="
-    print "Please use your editor of choice to check and edit the PKGBUILD"
-    pause=raw_input(':: Press Enter to continue')
-    del pause
-    if options.autoInstall == False: 
-        retCode = subprocess.call(['makepkg'])
-        print ":: Package built and placed in " + dir
+def download(url,package_info):
+    global dir
+    dir = "%s%s" %(options.downloadDir, package_info[NAME])
+    print "Downloading %s to %s" %(package_info[NAME], dir)
+    try:
+        makedirs(dir)
+        f = open("%s%s/%s.tar.gz" %(options.downloadDir, package_info[NAME],
+                                    package_info[NAME]), "w+")
+        f.write(urlopen(url).read())
+        f.close()
+    except OSError:
+        overwrite = "y"
+        msg = "::\033[0;31mERROR\033[0;00m:%s%s/%s.tar.gz exists. " \
+               "Overwrite? (Y/n)" 
+        overwrite = raw_input(msg %(options.downloadDir, package_info[NAME],
+                              package_info[NAME]))
+
+        if overwrite.lower() == "y":
+            remove("%s%s/%s.tar.gz" %(options.downloadDir, 
+                                      package_info[NAME], package_info[NAME]))
+            download(url, package_info[NAME])
+        else:
+            pass
+
+    except IOError:
+        print "::\033[0;31mERROR\033[0;00m: Your network seems to be down. Please check your internet connection."
+        clean()
+        exit(2)    
+
+def install(package_info):
+
+    url = "http://aur.archlinux.org/%s" % package_info[URLPATH]
+    download(url, package_info)
+    chdir("%s%s" %(options.downloadDir, package_info[NAME]))
+    command = "tar xvf %s.tar.gz" %(package_info[NAME])
+    getstatusoutput(command)
+    chdir("%s" % package_info[NAME])
+    print "==============================================================="
+    print "Please use your editor of choice to check and edit the PKGBUILD"
+    raw_input(':: Press Enter to continue')
+
+    if options.autoInstall == False: 
+            retCode = call(['makepkg'])
+            print ":: Package built and placed in " + dir
+    else:
+            retCode = call(['makepkg','-i'])
+
+def clean():
+    if options.auto_clean == True:
+            rmtree(options.downloadDir)
     else:
-        retCode = subprocess.call(['makepkg','-i'])
-def cleanUp():
-    if options.autoClean == True:
-        shutil.rmtree(options.downloadDir)
-    else:
-        pass        
+            pass        
+
 def upgrade():
-    #wget=commands.getstatusoutput("wget -q -O- '{0}?type=search&arg={1}'".format(baseUrl,term))
-    installed=list(item.split() for item in commands.getstatusoutput('pacman -Qme')[1].split('\n'))
+    installed=dict(item.split() for item in getstatusoutput('pacman -Qme')[1].split('\n'))
     resultList = []
     print ":: Searching AUR for out of date packages...This may take a few moments."
     
-    toBeUpgraded = []
-    #Grab versions present in AUR, compare with installed, and add to toBeUpgraded
-    for i in range(len(installed)):
-        raw = commands.getstatusoutput("wget -q -O- '{0}?type=info&arg={1}'".format(baseUrl,installed[i][0]))[1]
-        try:
-            feedback=json.loads(raw)['results']
-        except ValueError:
-            print "::\033[0;31mERROR\033[00;00m: Couldn't grab the package list, exiting."
-            cleanUp()
-            sys.exit(2)
-        verCmp=int(commands.getstatusoutput("vercmp {0} {1}".format(feedback['Version'],installed[i][1]))[1])
-        if verCmp > 0: 
-            categoryIndex=int(feedback['CategoryID'])
-            toBeUpgraded.append([categories[categoryIndex],feedback['Name'],feedback['URLPath'],feedback['Version']])
-    #call makepkg for each package in toBeUpgraded (don't worry about failing)
+    to_be_upgraded = []
+    #Grab versions present in AUR, compare with installed, and add to to_be_upgraded
+        for i in installed.keys():
+            raw=eval(urlopen("%s?type=info&arg=%s" %(baseUrl, i)).read())
+
+            try:
+                results=raw['results']
+            except ValueError:
+                print "::\033[0;31mERROR\033[00;00m: Couldn't grab the package list, exiting."
+                clean()
+                exit(2)
+
+            ver_cmp = getstatusoutput("vercmp %s %s" %(results['Version'],
+                                      installed[i][0]))
+
+            if ver_cmp > 0:
+                results['URLPath'] = results['URLPath'].replace("\\", "")
+                to_be_upgraded.append([categories[int(results['CategoryID'])],
+                                      results['Name'], 
+                                      results['URLPath'], # needs escaping
+                                      results['Version']])
+
+    #call makepkg for each package in to_be_upgraded (don't worry about failing)
     print "Packages to be upgraded:"
-    for entry in toBeUpgraded:
+    for entry in to_be_upgraded:
         print "\t"+entry[1]
-    for entry in toBeUpgraded:
+
+    for entry in to_be_upgraded:
             install(entry)
-                
+
 def main():
     global options
+        
     try:
-        parser = OptionParser()
-        parser.add_option('-n','--noauto', action='store_false', dest='autoInstall', default=True, help="Disable auto-install of built packages")
-        parser.add_option('-c','--autoclean',action='store_true', dest='autoClean', default=False, help="Enables cleaning of the download directory when building is completed. Note that currently this script simply deletes the download directory" )
-        parser.add_option('-d','--directory',action='store', dest='downloadDir', default='/tmp/aurora/', help="Change the download directory.")
-        parser.add_option('-S', '--search', action='store', dest='searchString')
-        parser.add_option('-U','--upgrade', action='store_true', dest='upgrade', default=False, help='Upgrade all AUR packages.')
-        (options, args) = parser.parse_args()
-        if (options.searchString == None) and (options.upgrade == False):
-            print "No search string specified"
-            sys.exit()
-        elif (options.searchString == None) and (options.upgrade == True):
-            upgrade()
-        else:
-            if not os.path.exists(options.downloadDir):
-                    os.mkdir(options.downloadDir)
-            aurSearch(options.searchString)
+            parser = OptionParser()
+            parser.add_option('-n', '--noauto', 
+                              action='store_false', 
+                              dest='autoInstall', 
+                              default=True, 
+                              help="Disable auto-install of built packages")
+
+            parser.add_option('-c', '--autoclean',
+                              action='store_true', 
+                              dest='auto_clean', 
+                              default=False, 
+                              help="Enables cleaning of the download " \
+                                   "directory when building is completed. " \
+                                   "Note that currently this script simply " \
+                                   "deletes the download directory" )
+
+            parser.add_option('-d', '--directory',
+                              action='store', 
+                              dest='downloadDir', 
+                              default='/tmp/aurora/', 
+                              help="Change the download directory.")
+
+            parser.add_option('-S', '--search', 
+                              action='store', 
+                              dest='search_string')
+
+            parser.add_option('-U','--upgrade', 
+                              action='store_true', 
+                              dest='upgrade', 
+                              default=False, 
+                              help='Upgrade all AUR packages.')
+
+            (options, args) = parser.parse_args()
+
+            if (options.search_string == None) and (options.upgrade == False):
+                    print "No search string specified"
+                    exit()
+            elif (options.search_string == None) and (options.upgrade == True):
+                    upgrade()
+            else:
+                try: 
+                    makedirs(options.downloadDir)
+                except:
+                    pass
+
+                search(options.search_string)
+
     except KeyboardInterrupt:
-            cleanUp()
-            print "\n:: Keyboard Interrupt received, exiting."
-            sys.exit()
+            clean()
+            print "\n:: Keyboard Interrupt received, exiting."
+            exit()
+
 if __name__ == "__main__":
     main()

I was thinking of running your script through pylint for other styling suggestions.

Last edited by EnvoyRising (2009-12-29 23:55:12)

Offline

#12 2009-12-29 17:54:03

linkmaster03
Member
Registered: 2008-12-27
Posts: 269

Re: auryea and aurora - simpler AUR frontends

I'm very interested in aurora. Once it gets on the AUR, I'm installing it. Good luck!

Offline

#13 2009-12-29 20:48:54

synorgy
Member
From: $HOME
Registered: 2005-07-11
Posts: 272
Website

Re: auryea and aurora - simpler AUR frontends

EnvoyRising: I'm going to look over that patch and may decide to implement most (or all, though I'm not sold on eval() vs json.loads() quite yet) of it 'upstream' (Can you have an 'upstream' if it's this simple?)

linkmaster03: in all honesty, It might just be easier to drop aurora into your $PATH. It doesn't depend on anything aside from wget and python (EnvoyRising's patch may reduce that to just python...). I suppose, though, that getting updates might be easier with the AUR. Maybe I'll craft up a PKGBUILD at some point


"Unix is basically a simple operating system, but you have to be a genius to understand the simplicity." (Dennis Ritchie)

Offline

#14 2009-12-29 21:40:19

anonymous_user
Member
Registered: 2009-08-28
Posts: 3,059

Re: auryea and aurora - simpler AUR frontends

Can auryea resolve dependencies? When I tried installing archey I get this:

syncing `archey'...
==> Making package: archey 0.1-4 i686 (Tue Dec 29 13:40:48 PST 2009)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Missing Dependencies:
  -> git
==> ERROR: Could not resolve all dependencies.
error: makepkg failed - abort! abort!

Offline

#15 2009-12-29 22:05:23

Darvid
Member
From: $HOME
Registered: 2009-12-09
Posts: 11

Re: auryea and aurora - simpler AUR frontends

anonymous_user: that's on the TODO list. Might start working on it today, haven't had time with the holidays and all.

Offline

#16 2009-12-29 23:52:05

EnvoyRising
Member
Registered: 2008-08-08
Posts: 118

Re: auryea and aurora - simpler AUR frontends

Cool. I primarily did it to reduce the amount of imports needed, but needing to sanitize urls might have counteracted that. I'm running both versions through a profiler right now and will report my findings.

Edit:

Or not. I can't seem to find a way to get cProfile to output to a file when I run the script with arguments. I can get output on the screen, but not to a file to be used with gprof2dot.

Last edited by EnvoyRising (2009-12-30 00:41:18)

Offline

#17 2009-12-30 01:34:30

linkmaster03
Member
Registered: 2008-12-27
Posts: 269

Re: auryea and aurora - simpler AUR frontends

synorgy wrote:

linkmaster03: in all honesty, It might just be easier to drop aurora into your $PATH. It doesn't depend on anything aside from wget and python (EnvoyRising's patch may reduce that to just python...). I suppose, though, that getting updates might be easier with the AUR. Maybe I'll craft up a PKGBUILD at some point

Oh, is it only one .py file? Guess I should've checked that. tongue Thanks.

Offline

#18 2009-12-30 04:32:56

synorgy
Member
From: $HOME
Registered: 2005-07-11
Posts: 272
Website

Re: auryea and aurora - simpler AUR frontends

EnvoyRising: could you possibly pastebin your modified code? I'm attempting to merge the diff you posted, but for some reason patch keeps spitting everything out and rejecting everything. I figure that if you just post the code I can either use that code vanilla (and credit you however you see fit) or I can simply 'undo' the changes I don't particularly care for (for instance, one of the most recently accepted PEPs suggested your naming convention, but I MUCH prefer camelCase in most scenarios hmm)


"Unix is basically a simple operating system, but you have to be a genius to understand the simplicity." (Dennis Ritchie)

Offline

#19 2009-12-30 07:19:06

EnvoyRising
Member
Registered: 2008-08-08
Posts: 118

Re: auryea and aurora - simpler AUR frontends

synorgy wrote:

EnvoyRising: could you possibly pastebin your modified code? I'm attempting to merge the diff you posted, but for some reason patch keeps spitting everything out and rejecting everything. I figure that if you just post the code I can either use that code vanilla (and credit you however you see fit) or I can simply 'undo' the changes I don't particularly care for (for instance, one of the most recently accepted PEPs suggested your naming convention, but I MUCH prefer camelCase in most scenarios hmm)

Sure. here it is. Also, I changed where I sanitize urls. Though a subtle I think it's a bit cleaner, and should technically be more memory efficient.

As for attribution something like "With contributions made by Edwin Marshall (or EnvoyRising, or most recently aspidites, I really don't give a damn). Simply my name on a contributors list would suffice, even.

I just think its cool that I can help out with what was already an amazing tool.

Offline

#20 2009-12-30 15:19:43

Darvid
Member
From: $HOME
Registered: 2009-12-09
Posts: 11

Re: auryea and aurora - simpler AUR frontends

LOL, easiest way to sync dependencies with auryea atm is:

MAKEPKG_OPTS="-i -s" auryea [...]

- wasn't aware of that makepkg flag. Will be default in next revision, still working on a few performance dinks.

Offline

#21 2009-12-30 21:07:47

EnvoyRising
Member
Registered: 2008-08-08
Posts: 118

Re: auryea and aurora - simpler AUR frontends

synorgy, I've changed the behavior to automatically resolve dependencies. (trivial...added one character to the script). Additionally, I've also added the ability to modify the PKGBUILD. Hope you don't mind.

Posted my changes here

BTW, I found a bug:

$ ./aurora -S vimperator
1. network / vimperator [installed,2.2-1]    
2. network / vimperator-hg [installed,default-1]
3. network / vimpression-git [installed,20090527-1]
4. network / vimprobable-git [installed,20091224-1]
5. network / webkitbrowser-git [installed,20090526-1]
==>1                                                 
Downloading vimperator to /tmp/aurora/vimperator     
===============================================================
Please use your editor of choice to check and edit the PKGBUILD
:: Press Enter to continue                                     
/tmp/aurora/vimperator/vimperator/PKGBUILD: line 14: firefox: command not found
==> Making package: vimperator 2.2-1 i686 (Wed Dec 30 10:41:43 CST 2009)

Notice the output under ":: Press Enter to continue"

If I have time, I'll try to track down the cause of it myself.

Last edited by EnvoyRising (2009-12-30 22:48:39)

Offline

#22 2009-12-31 15:34:38

synorgy
Member
From: $HOME
Registered: 2005-07-11
Posts: 272
Website

Re: auryea and aurora - simpler AUR frontends

EnvoyRising: I'll look over both the patch and the problem you're having with the command not found error today. I don't think that the 'command not found' bug is directly related to the script, as I never touch the PKGBUILD other than to extract it, we'll find out though.

Expect a new commit to the hg repo tonight or tommorrow


"Unix is basically a simple operating system, but you have to be a genius to understand the simplicity." (Dennis Ritchie)

Offline

#23 2009-12-31 20:48:50

synorgy
Member
From: $HOME
Registered: 2005-07-11
Posts: 272
Website

Re: auryea and aurora - simpler AUR frontends

New version of aurora pushed to bitbucket today. -e (support for auto editing the PKGBUILD) added, code cleanup (some as suggested by PEP and EnvoyRising) performed, and automatic dep handling.


"Unix is basically a simple operating system, but you have to be a genius to understand the simplicity." (Dennis Ritchie)

Offline

#24 2009-12-31 23:42:49

EnvoyRising
Member
Registered: 2008-08-08
Posts: 118

Re: auryea and aurora - simpler AUR frontends

You don't need to import Popen or argv...

Offline

#25 2010-01-01 05:21:32

synorgy
Member
From: $HOME
Registered: 2005-07-11
Posts: 272
Website

Re: auryea and aurora - simpler AUR frontends

whoops...I may or may not have simply copied the import statements from your version >_>


"Unix is basically a simple operating system, but you have to be a genius to understand the simplicity." (Dennis Ritchie)

Offline

Board footer

Powered by FluxBB