Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
dcore:sce-import [2016/05/08 06:04] – nitram | dcore:sce-import [2016/06/07 09:38] (current) – [sce-import and deb2sce Script Review] nitram | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== sce-import and deb2sce | + | ===== dCore sce-import and deb2sce |
These scripts are fairly complicated, | These scripts are fairly complicated, | ||
- | The scripts uses grep and awk extensively, | + | The sce-import script is a commandline package manager that calls deb2sce to retrieve .deb files and collect |
- | It also uses some more complex awk programs, so you should | + | |
- | And of course you need to know bash scripting, so here is a [[http://tldp.org/ | + | |
- | And understand some pitfalls in Bash (some applicable to Ash): [[http:// | + | |
- | ==== Summary of the most important parts of the scripts ==== | + | An SCE extension |
- | + | ||
- | sce-import is the command-line package manager (script), which calls deb2sce for getting the .deb files, and collecting them into the .sce package. | + | |
- | It also calls the update function for the indices of Debian packages (debGetEnv). | + | |
- | + | ||
- | As you should expect, it must handle the regular Debian and Ubuntu package repository mirrors. | + | |
- | Beyound that, it also downloads the dCore specific dependencies, | + | |
- | It also contains specific packages compiled for dCore (fltk library, flwm_topside and others). | + | |
- | + | ||
- | The scripts are complicated, | + | |
- | + | ||
- | ==== SCE packages ==== | + | |
- | + | ||
- | A sce package | + | |
Unfortunately it has one problem: it can't overwrite or delete its stored files -- only create new copies of files. So if a file with the same name exists in the same directory, it adds the new file with " | Unfortunately it has one problem: it can't overwrite or delete its stored files -- only create new copies of files. So if a file with the same name exists in the same directory, it adds the new file with " | ||
So you can't easily update its stored files, without rewriting the whole thing. | So you can't easily update its stored files, without rewriting the whole thing. | ||
- | But you can add new files to an already created file-system. | + | But you can add new files to an already created file-system. |
This allows for the creation of SquashFS files that stores all your favorite programs, in one file, by just incrementally adding them (this is not a feature of sce-import yet). | This allows for the creation of SquashFS files that stores all your favorite programs, in one file, by just incrementally adding them (this is not a feature of sce-import yet). | ||
- | Then sce packages | + | These SCE extensions |
loadsce also loads all the dependencies of a package. | loadsce also loads all the dependencies of a package. | ||
+ | **Helpful Links:** | ||
+ | The scripts uses grep and awk extensively, | ||
+ | It also uses some more complex awk programs, so you should learn a bit about the [[http:// | ||
+ | And of course you need to know bash scripting, so here is a [[http:// | ||
+ | And understand some pitfalls in Bash (some applicable to Ash): [[http:// | ||
+ | |||
+ | **[[http:// | ||
==== sce-import ==== | ==== sce-import ==== | ||
Line 55: | Line 46: | ||
deb2sce also does the -l option operations, of importing packages from a file containing a list of packages. | deb2sce also does the -l option operations, of importing packages from a file containing a list of packages. | ||
+ | **[[http:// | ||
==== deb2sce ==== | ==== deb2sce ==== | ||
Line 79: | Line 71: | ||
- And finally, in this big loop, it downloads the .deb file as well, using the fetchDeb() function. And extracts it into the temporary target dir. | - And finally, in this big loop, it downloads the .deb file as well, using the fetchDeb() function. And extracts it into the temporary target dir. | ||
- And finally, after a lot of operations (a bit too complicated to put here now), it uses mksquashfs to compress the temporary target directory into a SquashFS file -- the sce package. | - And finally, after a lot of operations (a bit too complicated to put here now), it uses mksquashfs to compress the temporary target directory into a SquashFS file -- the sce package. | ||
- | \\ | + | |
- | **[[http:// | + | **[[http:// |