---As of 21 may 2014 name has changed from CCPT to MPT--- To avoid compatybility issues all internal names will remain unchanged
This utility is package manager similar to the APT known from Debian. I've created this mainly as part of operating system which I'm currently developing.
Main Features:
Installing/Upgrading/Removing Packages
Packages downloaded through HTTP API(so it must be enabled)
Easy to manage 'Package lists'
Easy Package creation
Dependencies
Private Package Archives(PPA's)
(new!)Basic ac-get support
Installation:
-Note that you must enable HTTP API
pastebin run 09QAQFaN
It will download and setup MTP files under /etc/ccpt and create Linux like directory tree
mpt ac add [repository url]
mpt ac remove [repository url]
Please note, that ac-get compatibility is still experimental, in case you notice any bug, I'd like you to report it here. The only thing that is expected to not work are 'steps' (post/pre install/upgrade/remove), rest should be fine. Also do not report any bugs from CCPT to AmandaC, as CCPT implementation is different from ac-get
Root package lists can be added to '/etc/ccpt/sources' file
For Program Developers(PPA uasge):
Spoiler
You can now create your own packages and repositories, thanks to the PPA mechanism.
The PPA website: http://cc.nativehttp.org/ppa.so
If you want to create your own package, first thing to do is starting new repository. In PPA panel enter new package name and click "Create Package"(the package name should be lower-case and should not contain any special characters). You should see new package on list, the "[pull]" button increase version, so if you execute 'ccpt upgrade' command, your packages will be upgraded. after clicking '[more]' you will see Package Panel. Here you can add/edit/delete files and dependencies. Value of text field 'New file' is absolute location of file in computercraft(ex. '/usr/bin/helloworld').
when your package is ready you will have to add your repo and install it:
ENTRY TYPES:
'd' - dependency, second argument is package name
'f' - file, second argument is file location like '/bin/example'
's' - post-install scripts, second parameter is script location, like '/script'
'u' - file with custom location, second parameter is file location like '/bin/example', third is URL of the file
If you want your program or list included to the default list just mail me: magik6k [at] gmail.com
I also may give you some space and FTP access on my server if you want
Note that most of programs 'binaries' are installed to /bin or /usr/bin, so you must set your 'path' to point there, or you can use core boot program from my OS to do this for you:
mpt install sysx-core-boot
License
Do whatever you want, the only thing you can not do is to claim that you have written the original software
Well, ac-get lacks dependency system(or have I missed it?), which IMHO should be main feature of every package manager. Also creating own repository with ccpt is simpler, because you don't have to care about hosting(you can have your own PPA, more in first post).
In fact ccpt is in middle of development(so it's going to have way more features, and is stable)
First thing to do is to rewrite program code, so it will be way cleaner and shorter. I also want to make the packager resistant to server-side errors and network faults. I also want to add more features to the Package browswer and PPA Manager(and also make it look more like a Tool, so editing code will be easier). I'm also planing few extra features like PPA acces through FTP(whole repositories are stored in mysql, so it's going to be little hard - but why not try to do this).
After doing bunch of small bug-fixes I have finally pushed new version to main repo. The biggest new feature is ac-get repo support and fix of a little bug on CC 1.6 beta. To get new version just upgrade
ccpt upgrade
ac-get packages should work like any other, but for now CCPT lacks pre/post installation/upgrade/remove script support(It will be added soon)
How am I supposed to create a postinstall script without manually creating my own list? I did not see any option on http://cc.nativehttp.org. I want to be able to install my program with one ccpt command and no package list editing.
THE PROGRAM HAS CHANGED ITS NAME FROM 'CCPT' TO 'MPT'
All scripts using the package manager should be updated
I've also tweaked some internal things, so it works a little faster.
I'm also planning to add support for github repos
is this Linux? XD.. I am getting confused by programs that are based in GNU programs.. xD.. so commands from your Linux pc works in your real linux pc right even in CC xD?
@IsaacTBeast
It is not Linux clone, this program is inspired by known-from-Linux utility - APT. It is working inside CC, and gives you ability to manage huge projects easily.
If you want something like Linux, have a look at Sysx
---
Any chance you'll implement uninstall scripts? I have a package (skwerlman/clua) that makes changes to the /startup file. When the user uninstalls CLua, those changes are never reverted. To work around this, I added a second package (skwerlman/clua-uninstall) that runs through and undoes the changes. It'd be nice I didn't have to require the user to run