Slax author's Blog (RSS)
30
November2012
Buildscripts
Old Slax 6 had unclean way of building modules. Everybody could make Slax modules in any preferred way, and it was a mess. So with Slax 7, I'm introducing new way of building modules - by using buildscripts. Users will no longer share final modules. Instead, they will share just the 'recipes' how to build them.
There will be a command in Slax 7, which will help you make modules, and it will be actually the only allowed way. The command will be: 'slax' :) Sorry for the confusion ;)
How do you make a module for Slax 7? Here is how: First, use command$ slax buildscript download template
This will get you a template script, template.SlaxBuild. You will find many useful pre-configured variables in this script, you customize it so it produces Slax module when it is executed.
After that, you will be able to use command
Uploading your buildscript will require you to create password. Update or delete operations will ask for the same password. The module (binary .sb file) will be compiled for all available architectures ON THE SERVER. It will run in sandbox (completely different machine, and virtualized), to make it harder for you to hack my server ;) Also the build scripts will be manually reviewed. When compiled, the binary Slax Bundle will be available for others.
Finally, user will be able to use
I hope to release RC3 version of Slax soon (as soon as the web interface is ready for this) so you can test it and possibly provide feedback on this. Thank you There will be a gui for Slax Software center, so you can search for modules and activate them by mouse click. But not for buildscript functinality, that is intended for developers thus is commandline only. Hi Tomas, @Slaxeee: you'll be able to use "slax download NAME" and it will just download the bundle. You can also use "slax activate localname.sb" and it will activate the local file. @wpa2: I'm not saying I'm inventing something ;) I'm just implementing it so it works in Slax. What about slackware tgz/txz package and debian deb ? .Is there no way to make use of them , especially in a situation where slax's bundle for a particular software is unavailable ?. Thanks tomas. It looks clean and simple. Lets see what it will be in practice with rc3. Looks like you are building an app store. select bundles from web and download as custom slax or maybe something like susestudio @Tomas M, if you use sbopkg to build the Slackbuilds people could send sbopkg queue files to you, so as long as the packages are available in the slackbuilds.org your server would only follow the recipe from the sbopkg queue file. The problem with sbopkg or slackbuilds in general is that it assumes you have full Slackware system installed. Due to that assumption, it won't let you automatically check for dependencies of packages. My intention is to make sure that a Slax Build Script knows which dependencies are needed to compile the software, and which to run the software. @Tomas M, Isn't it the same of a slackbuild? The slackbuild is a script used to compile the package that you want and you may use other slackbuilds to create its dependencies first. Is it correct that "slax" command will track dependencies (both compile- and run-time)? If I try to activate package ABC, that relies on package XYZ, will XYZ activated too? I hope to release RC3 version of Slax soon (as soon as the web interface is ready for this) so you can test it and possibly provide feedback on this.$ slax buildscript upload yourscript.SlaxBuild
This command will upload your build script to Slax server. It is forbidden to upload binary bundles. Only build scripts will be accepted by the server. You will be also able to use $ slax buildscript update
and$ slax buildscript delete
$ slax activate BundleName
which will automatically search for BundleName on server and if found it will download it and activate it right away. Similarly, there will be $ slax deactivate BundleName
User comments
Do you mean the only way to activate modules will be to be connected to Internet ?
Is there any slax command to save them "cleanaly" and localy ?
Of course, i presume it will be possible to copy the.sb in a private folder ...
it would be easier using curlftps to activate the modules with this command:
mkdir /home/myftp
curlftpfs -v ftp://ftp.slax.com -o user="slaxuser:slaxpasswrd" /home/myftp
it's as easy as activating from a directory.
Just my HU , I use this and it works.
@sparrow I use my modified copy of the Slitaz package manager with Porteus but just to decompress and modify the recipe because of the different Linux versions and dependencies it just breaks the system, but the FS folder you can compress as a xzm module.
I did a xbmc module to use in my Slax system and I used sbopkg to create a queue with all the dependencies, it made the process very easy.
Another question ... my XBMC install is made of 35 packages, if you add my XBMC module in your repository how will you handle the conflits that the 35 packages could cause to the other modules? For example, my module includes ffmpeg, if another user submit a module that also includes ffmpeg wouldn't they conflict with each other?
Sounds good the best part of slax is above can't wait to test RC3.
I really like it
are you gonna make GUI version for it
like they can login with there username & password the next windows comes with above commands as a button in that window a small box thats terminal where we can see the progress
Small idea came up
Thank you