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:00] – [sce-import and deb2sce script guide Scripts guide] nitram | dcore:sce-import [2016/06/07 09:38] (current) – [sce-import and deb2sce Script Review] nitram | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== dCore sce-import and deb2sce Script Review ===== | ||
+ | These scripts are fairly complicated, | ||
+ | The sce-import script is a commandline package manager that calls deb2sce to retrieve .deb files and collect them into an SCE extension. 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, | ||
- | ===== sce-import and deb2sce script guide ===== | + | An SCE extension is a [[http:// |
- | The scripts have quite a lot of complicated stuff, without sufficient explinations. | + | Unfortunately it has one problem: it can't overwrite or delete its stored files -- only create new copies |
- | So here is my (LichenSymbiont) guide to the scripts. | + | 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. Detailed information | ||
+ | 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). | ||
+ | |||
+ | These SCE extensions are mounted as [[https:// | ||
+ | loadsce also loads all the dependencies of a package. | ||
+ | **Helpful Links:** | ||
The scripts uses grep and awk extensively, | The scripts uses grep and awk extensively, | ||
It also uses some more complex awk programs, so you should learn a bit about the [[http:// | It also uses some more complex awk programs, so you should learn a bit about the [[http:// | ||
Line 10: | Line 19: | ||
And understand some pitfalls in Bash (some applicable to Ash): [[http:// | And understand some pitfalls in Bash (some applicable to Ash): [[http:// | ||
- | ==== Summary of the most important parts of the scripts ==== | + | **[[http://wiki.tinycorelinux.net/dcore: |
- | + | ||
- | 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 is a [[http://squashfs.sourceforge.net/|SquashFS]] file, which can compress data using multiple compression algorithms. | + | |
- | 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 | + | |
- | But you can add new files to an already created file-system. Read about it [[http:// | + | |
- | 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 are mounted as [[https:// | + | |
- | loadsce also loads all the dependencies of a package. | + | |
==== sce-import ==== | ==== sce-import ==== | ||
Line 58: | 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 82: | 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:// |