Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| dcore:development [2015/01/12 07:23] – [Package management scripts guide] LichenSymbiont | dcore:development [2015/05/21 16:32] (current) – page is replaced by [[dcore:sce-import]]; left un-linked for reference by original author sm8ps | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== Development ===== | ===== Development ===== | ||
| ==== Package management scripts guide ==== | ==== Package management scripts guide ==== | ||
| - | The scripts have quite a lot of fluff, without sufficient | + | The scripts have quite a lot of complicated stuff, without sufficient |
| So here is my (LichenSymbiont) guide to the scripts. | So here is my (LichenSymbiont) guide to the scripts. | ||
| Line 7: | Line 7: | ||
| 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:// | ||
| And of course you need to know bash scripting, so here is a [[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:// | ||
| - | **Starting with a general | + | ** First a quick summary of the most important parts of the scripts: ** |
| + | |||
| + | importsce 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:// | A sce package is a [[http:// | ||
| Line 15: | Line 27: | ||
| But you can add new files to an already created file-system. Read about it [[http:// | 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 importsce 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 importsce yet). | ||
| + | |||
| + | Then sce packages are mounted as [[https:// | ||
| + | loadsce also loads all the dependencies of a package. | ||
| ** importsce: ** | ** importsce: ** | ||
| Line 23: | Line 38: | ||
| - First it sets global variables for the script, and sets up the /tmp directory. | - First it sets global variables for the script, and sets up the /tmp directory. | ||
| + | - Then removes temporary files (potentially left from a previous run of the scripts). | ||
| + | - Then it sets the mirrors to the dCore specific packages and the file with extra dependency information for packages. | ||
| - Then importsce sets a bunch of variables from the options used when calling the command. Then from its config file, if it exists (though it doesn' | - Then importsce sets a bunch of variables from the options used when calling the command. Then from its config file, if it exists (though it doesn' | ||
| - | - Then sets the target .sce file to be created. | + | |
| - | - Then acquires the mirror to the special dCore packages (like Xprogs and flwm_topside), | + | |
| - | - Then downloads the latest file containing these packages. | + | - And enters the /tmp directory. |
| - | - And extracts its content into a bunch of text-files. | + | - Then downloads |
| + | - Then extracts its content into a bunch of text-files. | ||
| + | - Then checks if the target package is to be excluded (and exits if it's on the excluded list). | ||
| - Then it checks if a .lst file (file containing a list of packages to download) is being used, and changes the targetted .sce accordingly. | - Then it checks if a .lst file (file containing a list of packages to download) is being used, and changes the targetted .sce accordingly. | ||
| - | - Here I skip a few checks... | + | - Then it checks |
| - Then it let's you enter a package name, if no target it specified (why is this so far down the script?). And exits the script if you don't specify anything. | - Then it let's you enter a package name, if no target it specified (why is this so far down the script?). And exits the script if you don't specify anything. | ||
| - Then it checks if it can find the package in the package indices (both regular repos, and meta-packages and special dCore packages). This is done through the debGetEnv script, which also stores the relevant repo in the DEBINX variable. | - Then it checks if it can find the package in the package indices (both regular repos, and meta-packages and special dCore packages). This is done through the debGetEnv script, which also stores the relevant repo in the DEBINX variable. | ||