29 posts
Posted 28 November 2013 - 11:52 AM
—As of 21 may 2014 name has changed from CCPT to MPT—
To avoid compatybility issues all internal names will remain unchangedThis 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
Usage:Installing packages:
mpt install [package name]
Upgrading packages:
mpt upgrade
Removing packages:
mpt remove [package name]
Updating package lists:
mpt update
Add/remove private repository(PPA):
mpt ppa add [repository name]
mpt ppa remove [repository name]
Add/remove ac-get repository(PPA):
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-getPackage List:browser for default packages:
http://cc.nativehttp.org/web.htmlRoot 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:
mpt ppa add [your repo name]
mpt install [your package name]
Screenshots:
Spoiler


Manual list creation(Advanced)
Spoiler
CCPT files structure:
Most of files used by the package manager have syntax like this:
[row1.arg1];[row1.arg2];[row1.arg3]
[row2.arg1];[row2.arg2];[row2.arg3]
[row3.arg1];[row3.arg2];[row3.arg3]
Package lists
The first argument defines entry type:
'p' defines package
's' includes other package, second parameter is URL of included list
Package definition:
p;[package name];[version];['head' address of package]
Package header:
located under: ['head' address of package][package name]/index
ex: http://example.org/p...s/example/index
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
Example list&package
Spoiler
Entry in /etc/ccpt/sources:
http://example.org/list
http://example.org/list:
p;examplepackage;1;http://example.org/packages/
http://example.org/packages/index:
f;/bin/example
u;/bin/urlexample;http://pastebin.org/raw.php?i=something
s;/postinstall
d;iamdependency
Other files on server for the package:
- http://example.org/p...ges/postinstall
- http://example.org/p...ges/bin/example
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
LicenseDo whatever you want, the only thing you can not do is to claim that you have written the original software
Edited on 21 May 2014 - 05:44 AM
135 posts
Posted 29 November 2013 - 12:32 PM
Hmm. Another packaging system. I'll try it, it might work!
172 posts
Location
United States
Posted 04 December 2013 - 07:16 PM
Looks really cool…
29 posts
Posted 13 December 2013 - 07:16 PM
I've just added web package browser:
http://cc.nativehttp.org/web.html
29 posts
Posted 02 January 2014 - 10:05 PM
I've created Private repository website, feel free to use!
http://cc.nativehttp.org/ppa.so
175 posts
Posted 03 January 2014 - 04:23 AM
Looks cool. What makes it different from ac-get?
29 posts
Posted 03 January 2014 - 05:16 AM
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)
Edited on 03 January 2014 - 04:27 AM
175 posts
Posted 03 January 2014 - 12:34 PM
Okay, cool. For the record, ac-get doesn't lack that. :P/>
What kind of additional features were you planning on?
29 posts
Posted 03 January 2014 - 01:49 PM
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).
29 posts
Posted 17 January 2014 - 01:30 PM
Well, some people reported me, that the program hasn't been working on Windows, and I must claim that the issue was fixed!
29 posts
Posted 15 February 2014 - 07:01 AM
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)
1 posts
Location
United States
Posted 18 March 2014 - 11:08 AM
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.
29 posts
Posted 19 March 2014 - 12:20 PM
Thanks for feedback, I have forgotten to enable the feature in current build. I will get it working later today.
—-
EDIT
Done!
Edited on 19 March 2014 - 08:11 PM
29 posts
Posted 28 May 2014 - 06:55 PM
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
83 posts
Location
I 'm inside your brian
Posted 30 May 2014 - 03:29 PM
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?
29 posts
Posted 01 June 2014 - 12:52 AM
@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—
I've upgraded web package browser, what do you think of it?
http://cc.nativehttp...b.html?ppa=sysx
Edited on 31 May 2014 - 10:55 PM
163 posts
Location
Pennsylvania
Posted 04 June 2014 - 12:48 AM
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
mpt remove clua
mpt install clua-uninstall
mpt remove clua-uninstall
to uninstall a one-file package.
Edited on 03 June 2014 - 10:48 PM
29 posts
Posted 04 June 2014 - 04:29 PM
I'm actually working on MPT, I think adding the feature will be simple, so expect it working in short time