This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
AmandaC's profile picture

ac-get -- Package Manager for ComputerCraft

Started by AmandaC, 29 June 2013 - 03:30 PM
AmandaC #1
Posted 29 June 2013 - 05:30 PM
ac-get is a package manager for ComputerCraft. It's main feature is that it is distributed. (That is, there is no "one repo to rule them all." )


Features
  • Distributed!
  • Update Packages!
  • Add Repos!
  • Mostly Self-documented! ( ac-get help )
  • Startup scripts!
  • Documentation
Can has!?

Sure! It's not on pastebin at this time, and I'd prefer if you didn't upload it there, but you can get it from The download page

ac-get is now open source
I finally decided I was happy enough with the structure of the code to pull the thin veil off it, so it is now available for the world to see at [url=https://git.darkdna.net/amanda/ac-get – And there is a Development mailing list for those interested in submitting patches, and those interested in following the progress of the project!
Edited on 31 December 2013 - 09:10 PM
Cranium #2
Posted 29 June 2013 - 07:29 PM
Split for you!
AmandaC #3
Posted 29 June 2013 - 07:32 PM
danke
PixelToast #4
Posted 29 June 2013 - 07:36 PM
o.o you didnt have an account before?
strange program, but what can i install with it?
Sammich Lord #5
Posted 29 June 2013 - 07:46 PM
o.o you didnt have an account before?
strange program, but what can i install with it?
Use something like wget to download it then run the file. I suggest she makes some-sort of Pastebin installer to get more users for her application though.
Oddstr13 #6
Posted 29 June 2013 - 08:05 PM
I made a setup-loader and put it on pastebin.

Here is how to get started using ac-get:

-- Download the setup
pastebin get AgZXgrb8 ac-get-setup

-- Run it
ac-get-setup

reboot

-- Add a repo - i use my own repo as a example
ac-get add-repo https://bitbucket.org/Oddstr13/ac-get-repo/raw/default

-- List available packages
ac-get list available

-- Get a more detailed description for a package
ac-get info tk-ls

-- Install package
ac-get install tk-ls
Run ac-get without any arguments to get a list of commands.

That should be all you need to get started using ac-get


I have set up a repo and added a few packages, you find it over at https://bitbucket.org/Oddstr13/ac-get-repo

Have fun using ac-get ;)/>

Edit: moved repo from http://mirror.opensh...no/mc/cc/ac-get to https://bitbucket.org/Oddstr13/ac-get-repo
Edited on 07 August 2013 - 05:31 PM
AmandaC #7
Posted 29 June 2013 - 08:45 PM
Ok, looks like I totally broke the update command – to work around (and update the package manager) run
ac-get install ac-get

Also, I'm thinking of making a list of repositories, but I kinda feel it'd be a bit silly since I'm only aware of three right now, including the base repo that ac-get comes with.
Tiin57 #8
Posted 29 June 2013 - 09:27 PM
This is pretty awesome. Good job!
minizbot2012 #9
Posted 29 June 2013 - 09:33 PM
new repo, used for a chat program developed by me, svdragster, and mudkip
repo-location: final location

http://ac-get.appspot.com/files/ac-get-repo
superaxander #10
Posted 30 June 2013 - 06:02 AM
new repo, used for a chat program developed by me, svdragster, and mudkip
repo-location: http://minizbot2012.kd.io/ac-get-repo
Please don't use koding the vm turns off after a while :(/>
PixelToast #11
Posted 30 June 2013 - 02:15 PM
just use the old koding, the old ftp still works, you just dont get to manage those files in the new koding
CaptainSly #12
Posted 30 June 2013 - 02:56 PM
Looks good i'll try it
minizbot2012 #13
Posted 30 June 2013 - 04:05 PM
ok repo location updated to

http://ac-get.appspot.com/files/ac-get-repo
airtonix #14
Posted 02 July 2013 - 03:35 AM
why don't you guys just use github or bitbucket. always online. bonus version control.

what's not to love about version control!
Leo Verto #15
Posted 02 July 2013 - 11:55 AM
why don't you guys just use github or bitbucket. always online. bonus version control.

what's not to love about version control!
Version control and package managers are two different things you can't really compare.
airtonix #16
Posted 05 July 2013 - 05:06 AM
why don't you guys just use github or bitbucket. always online. bonus version control.

what's not to love about version control!
Version control and package managers are two different things you can't really compare.

I think you misunderstand my point (which was made after a stream of discussion around hosting difficulties of a repo)

Use github to host an ac-get repository.
AmandaC #17
Posted 05 July 2013 - 10:48 AM
why don't you guys just use github or bitbucket. always online. bonus version control.

what's not to love about version control!
Version control and package managers are two different things you can't really compare.

I think you misunderstand my point (which was made after a stream of discussion around hosting difficulties of a repo)

Use github to host an ac-get repository.

If you mean the base repo, that's not currently in my plans, but it should be possible to have a repo put up there. – ac-get.darkdna.net should be stable, but I'm looking into CDN options since it's all static files.

Another thing I'm looking into (and playing with code for) is making a public repository, in the vein of cc-get – but I'm not sure it's a bright idea, I'd prefer that third party coders make their own repos for their own stuff, than have a giant single repository.

That said, Anywhere that hosts files can host a repo, no need for php or similar. It's just a matter of making sure the public-facing urls mirror the file structure that ac-get expects from repos.
Zudo #18
Posted 05 July 2013 - 11:04 AM
just use the old koding, the old ftp still works, you just dont get to manage those files in the new koding

Just thought I'd mention that the old koding (and kodingen) is being shut down soon
AmandaC #19
Posted 07 August 2013 - 10:07 PM
Sorry for the inactivity! I'm here to announce ac-get version 6!

This release fixes `ac-get list installed` and also does some minor changes to how startup scripts work, detailed below for Content Creators

Note
If you have a modified /startup, please be weary of how the update works.

Content Creators
Startup scripts are now sorted before being run, so the common pattern for this is NN-script-name – where N is 0-9.

For example, the startup script that adds the binary directory to the path, is now 00-add-paths, and, as a result, would run before 99-foo-shell. If you've used old linux runlevel stuff, this will feel familiar to you.

As usual, report any bugs you find either in this thread, or in #ac-get on the Esper IRC network.
XDjackieXD #20
Posted 09 August 2013 - 03:26 PM
Had the same idea, Saw yours, Love it! :D/>
AmandaC #21
Posted 20 September 2013 - 12:32 PM
Version 8 has just been pushed to the server, (Version 7 was a quickfix for a startup manupulation bug. )

New Features
  • `ac-get install` can install multiple packages at once
  • `ac-get remove` can remove multiple packages at once`
  • Better output for installing and updating packages. Instead of a single line for every file in a package, it now results in a single line per package, greatly reducing the spam in a large package's install.
  • New task-based system for the lib-acg ( The library that backs ac-get ) Allowing progress reporting, the new ac-get output is based directly on this code.
Beta Program

I have set up my deploy tools to be able to share beta versions of ac-get, if you're interested please see me in #ac-get on Esper's IRC network. Please note that this is only for people who are willing to test and put it through it's paces, as well as provide useful output.

Final Regards

If there's anything you absolutely *must* see in this, please post on this topic, or hilight me (AmandaC) in the above mentioned channel. If you've got questions, feel free to ask. And as always, report bugs and such.
AmandaC #22
Posted 31 December 2013 - 10:06 PM
Big News!

Well, big news and some littler news. Let's go with the big news first:

ac-get is now an Open Source project, licensed under the MIT license. You are welcome to submit patches to the development mailing list. I hope to promote trusted individuals to have direct commit access in the future, but for now I will review patches and selectively merge them in.

Some things to keep in mind when submitting patches, are listed below:

  • Additions of more packages will be rejected.
  • Code that does not conform to the given style will be rejected.
  • Malicious code will result in public flogging.
  • It's not commented very well / at all.
  • Have fun!

In slightly littler news:

The other night I deployed ac-get version 9 – this is mostly some fixes regarding logging. However, more importantly, this fixes a /startup creation on a fresh install. It appears append-mode does not work how I remember it working. ( whoopsie! )
TechMasterGeneral #23
Posted 15 February 2014 - 12:24 PM
so… If i had some apis i wanted to use for my programs… would i make them a library?
AmandaC #24
Posted 19 February 2014 - 04:07 PM
so… If i had some apis i wanted to use for my programs… would i make them a library?

Yes, you'd use the Library: directive, and then in the (Ac-get managed) programs you're using it from, you'd do os.loadAPI("__LIB__/foo_library"); – note that this will only work if the binary is getting installed using ac-get, otherwise the __LIB__ replacement will not work.
TechMasterGeneral #25
Posted 22 February 2014 - 10:30 PM
so… If i had some apis i wanted to use for my programs… would i make them a library?

Yes, you'd use the Library: directive, and then in the (Ac-get managed) programs you're using it from, you'd do os.loadAPI("__LIB__/foo_library"); – note that this will only work if the binary is getting installed using ac-get, otherwise the __LIB__ replacement will not work.

kk… thanx!
gametechish #26
Posted 26 February 2014 - 04:11 AM
can I use this in my new OS
AmandaC #27
Posted 28 February 2014 - 09:34 PM
can I use this in my new OS

You don't have to ask permission to setup your own repo, but if you're going to fork it to add stuff, I'd prefer you have something in the docs saying that it's a fork, and not officially supported by me / other ac-get contributors.
AmandaC #28
Posted 21 March 2014 - 06:15 PM
New Release!

Hello! It's time for another release of ac-get! This version adds support for CC 1.6 (Currently in beta) and also adds some bandwidth optimisations.

Packages are now no-longer re-installed if they are already installed. Packages can be forced to be re-installed with an ac-get reinstall command.

Thanks to all the testers.

One More Thing!

I think I am going to make ac-get get some analytics reporting in the program. An opt-out will of course be available. I'm currently working out the details of this, and how to store the data, but expect this in version 11 of ac-get.

Thanks, and remember to report any bugs in here!
robrobk #29
Posted 21 April 2014 - 11:34 AM
is there a way for me to install this so that it is avaliable to all computers in all single player worlds?
AmandaC #30
Posted 21 April 2014 - 04:03 PM
is there a way for me to install this so that it is avaliable to all computers in all single player worlds?

Not that I'm aware of, as it needs to be able to modify it's state. You could put the installer in a file in a resource pack, though.
robrobk #31
Posted 22 April 2014 - 04:38 AM
is there a way for me to install this so that it is avaliable to all computers in all single player worlds?

Not that I'm aware of, as it needs to be able to modify it's state. You could put the installer in a file in a resource pack, though.
ok thanks
AmandaC #32
Posted 18 September 2014 - 10:54 PM
ac-get Beta 11
Hello Children!

I've just merged a feature into the ac-get beta channel that I am rather keen on.
It is the Plugins Feature. They allow you to extend the lib-acg
runtime. This means that you can define additional package directives, and thus allow
the downloading of additional resources, for example.
c
I plan to further enhance this capability with more hooks for plugin developers,
depending on community feedback.

The feature should be available to anyone who is Beta Testing ac-get.