Wolvix Forums

Obsolete Boards => Module Talk => Topic started by: xpt on June 05, 2007, 02:44:37 PM



Title: Wolvix Modularity
Post by: xpt on June 05, 2007, 02:44:37 PM
HI wolven,

Following your posts on slax.org, I found your Wolvix, and like it very much. Quite nice extensions to slax and collection of good tools!

I saw that modular is listed as the #1 feature for wolvix. I would like to see the modular feature get more enhanced on future releases.

Let me explain where I'm coming from. My USB key is small - 256M, yet I hope I can carry as much my favorite tools as possible on it. So I hope that I can stick to barebone fluxbox and trade eye-candy xfce with more of my favorite tools. Moreover, I'm a programmer, those multimedia tools are nice to have, but I only use them once every blue moon, many be less than 1% of the time.

So I hope you release more modularize Wolvix in the future -- just like what Tomas did to his slax 6, categorizing slax 6 modules into kde, office, etc.

What I am really hoping is that you release a mini version of wolvix besides your current 2 releases, a wolvix infant maybe, in which only the essential tools are included. Since most people would use Live system on USB/HD (http://www.slax.org/forum/viewtopic.php?t=17676), you can therefore also release Wolvix Cub and Desktop Editions as individual modules, besides the full-CD release. I.e.,

0xx-cub.xfce...
0xx-cub.multimedia.players...
0xx-cub.multimedia.editors...

0xx-de.more.desktop.apps...

I don't know if I've expressed myself clear enough. I just believe that the 3 would-be Wolvix releases should only difference in what base modules they carry. Is that correct?

xpt


Title: re: Wolvix Modularity
Post by: Wolven on June 05, 2007, 04:31:28 PM
Hi xpt. Welcome to Wolvix.

You bring a valid point, truth is I'm struggling a bit with the organization of the packages in the modules. I'm doing my best to make it easy to pick apart, but I know there's room for improvement. I'll try to break it up a little more, so that Xfce and Fluxbox plus tweaks, themes, etc, are separate modules.

I'll also take a look at the organization of programs, but this is harder to break down, since there are many programs depending on the same libraries and tools. KDE which Slax use is easier to separate since all apps are packaged in categories and the mostly depend on just kdelibs and Qt.

I've planned a smaller release than Cub, but I doubt that's what you're looking for since the idea is it to be CLI only, no X. Similar to Slax Frodo I guess, but with more tools.

Let me explain how I'm currently grouping my modules, so it will be easier to make suggestions:

First of, there's been a change of plans regarding the Editions. To shorten the development cycle and save myself from some work load I've decided to only make Cub and Hunter edition, plus perhaps the one which is CLI only. Anyway here's the module layout:

* 01_kernel (Guess what's in here)

* 02_core (Core tools, like bash, and the basic GNU utilities)

* 03_ base_app (CLI applications like MC, Elvis, htop and Multimedia tools like ogg, normalize.)

* 04_base_lib (Basic libraries used by many apps. Mostly audio related.)

* 05_base_net (CLI network tools like mutt, elinks, bind, traceroute, etc.)

-- The planned CLI edition (Wolvix Bone) starts and ends here.

* 06_x11 (Xorg and fonts.)

* 07_common_desk (Xfce plus goodies, Fluxbox plus "goodies", icons, themes, wallpapers, etc. This one I'll break up a bit more, to separate Flux and Xfce.)

* 08_common_lib (All libs and requirements for the common applications. A lot of Gnome, graphics and multimedia libraries and bindings. Xfce has some deps here, guess I need to sort them out.)

* 09_common_app (All the GUI applications, network apps, graphics apps, office tools, multimedia apps, you name it. Guess this might be broken up a bit too)

-- Cub ends here.

* 10_hunter_lib (All the libraries and requirements for the apps in Hunter)

* 11_hunter_app (All additional apps for Hunter, not found in Cub plus large things like Java and Samba. Perhaps I could make the two last separate modules.)

* 33_print (CUPS plus other requirements for printing. (Temporary number))

-- Hunter ends here.

Modules after this point are the WPC and settings for the desktops.


Title: I really appreciate the
Post by: jcsoh on June 06, 2007, 03:54:59 AM
I really appreciate the usage of separate modules as it make it easier for the average (or perhaps below average user!) to remaster wolvix.

I consider myself a non average user as my internet access is via another computer running xp , so I do not  need any of the intternet & email stuffs.

I also dont' listen to music or watch video on my computer, so I dont need almost all of the multimedia stuffs. I only need the cd burner programme for burning data backups & of course to check out linux distro (only if I cant' extract  & install them directly to the hdd & of course I use virtual box to check them out 1st)

So basically I want to remove all of your carefully considered programme. (thus wasting your hard effort).

Anyway, since I really just remove file based on the name, for eg, if I want to remove beep media player, anything with beep... get removed. So I do it bit  by bit , saving the new mo & testing it ,and if it still work , repeat the process.

However , there seem to be a built in limit of dir2mo of about 5 times. After doing the process about 5 times, I find that removing a file which I am quite sure can be removed safely will break the mo.

For eg, on the 5th time I removed the man files and the mo break. If I were to used the original mo & remove all the same files in a single go and finally remove the same man file (which break the mo) , then do dir2mo (which means I only do dir2mo once instead of 5 times, I find that the remastered mo will still work.

Funny. Anyway its easier with smaller mo that a single large mo. Sometime we can even remove the entire mo , for if you have internet.mo , I can just delete it.





Title: Ahem Ahem Cough Cough!
Post by: jcsoh on June 06, 2007, 04:07:47 AM

Quote from: xpt
HI wolven, Following your posts on slax.org, I found your Wolvix, and like it very much. Quite nice extensions to slax and collection of good tools! xpt

Hello XPT I read your posting in Slax Forum many times... Nice

Errr...Ahhem Ahem cough cough How should I put this .(grin)  Maybe Wolven is too gentlemanly to say it err.. I dont think he woud rather see of Wolven as err.. an extension to Slax... bur rather as a Disto in its own right.

Although he have not change the introduction on the homegace which still introduce Wolven as based on Slax, but the current bersion is based directly on Slackware.

Of course I am sure he still proud and happy to be part of the slax extended family thru usage of the linux live script and he still participate in Slax Forum.

The same for Grobsh (not sure of the spelling) of Goblin X  and Zariweb of Zenwalk.

Anyway on my part I like all of them for the modularity. Its the only way I can add additional linux programme since I dont' have direct internet connection to the my computer.

 

 

 

 

 

 

 

 

 

 

 



Title: Breaking up the modules. And removing packages.
Post by: Wolven on June 06, 2007, 06:32:28 PM
@jcsoh

Here are a few tips on how to remove packages from modules rather easily and quickly. It might be the method you use, but it seems to me, by what you writ,e that you just remove files you find an not the entire package(s).
Here's how I do it (Wolvix 1.1.0):

1. Extract the module to a temporary directory:
lzm2dir name_of_module.lzm tempdirectory/


2. Inside the 'tempdirectory/' look for the var/log/packages/ folder. Inside it is a list of all packages which have been installed to the module. Since the packages have been installed to the modules we can uninstall them with the 'removepkg' command, just like you would on Slackware, but there's a little trick to it. You have to use the 'ROOT=' parameter. Here's an example:
ROOT=tempdirectory/ removepkg name_of_package

The 'ROOT=' parameter tells the system to remove the package from the target directory and not from the system it self.
Example:
ROOT=tempdirectory/ removepkg audacious

You can also remove several packages at once:
ROOT=tempdirectory/ removepkg audacious streamtuner mplayer


Once one or more packages have been removed from the module, look in tempdirectory/var/log/removed_packages and tempdirectory/var/log/removeed_scripts.
In those dirs you'll see the list of removed packages and scripts. You don't need those files anymore, so you can just delete them if you want. They are just log files.


I've not had the problem you describe with a limit on using dir2mo/dir2lzm before the module breaks. I edit and recreate the modules in Wolvix way more than five times, both adding and removing packages from them when I develop.

--

@everyone

Last night experiment with breaking up the modules a bit more than they currently are. I broke up the apps in categories like, network, office, multimedia, etc. And I separated Fluxbox and Xfce and a bunch of other things. The process went well and I got no errors when booting the new ISO with the new modules, but what I found was that the size of the ISO had grown over 10Mb, due to having more and smaller modules. It might not seem so much, but 10Mb in Wolvix is a lot of applications and/or libraries. We are talking major loss of functionality if I where to compensate for the 10Mb by removing packages.

(If any one should wonder why I can't just make the ISO 10Mb larger here's why: Wolvix is designed to fit on USB sticks, Cub is designed to fit on a 256Mb stick, which means the ISO can be max 241Mb, which is the total free space on a 256Mb stick with the FAT32 filesystems. Wolvix Hunter and the other editions are designed to fit on 512Mb sticks, which makes the max ISO size 483Mb.)

I will break up the modules as much as I can, but I can't group applications and libraries in to categories.


Title: Wolvix and slax
Post by: xpt on June 06, 2007, 11:36:29 PM
Quote from: jcsoh
.. [Wolvix is] a Disto in its own right.


Ahh, as you can see, I'm so new to all this. I've noticed that Wolvix have far more packages than slax. That explains it! Thanks for the clarification, jcsoh.

This actually brings another question, How does Wolvix comare to slax? I mean, does all the latest technologies in slax 6 used in Wolvix? does Wolvix utilize more technologies than slax 6? does Wolvix have more cheat codes than slax?...

hmm, should I start a new thread for this?

thanks


Title: modules grouping suggestions
Post by: xpt on June 07, 2007, 12:53:24 AM
> I'll also take a look at the organization of programs, but this is harder to break down,

I was just talking off the top of my head, just realized that things are more complicated than what I was thinking under Slackware, because under Debian, it's a trivial task.

> Let me explain how I'm currently grouping my modules, so it will be easier to make suggestions:

I actually quite like what you planned. That's exactly what I meant.

> I've planned a smaller release than Cub, but I doubt that's what you're looking for since the idea is it to be CLI only, no X.

Bingo! I need X. But as long as I can put 06_x11, 07_common_desk_fluxbox in Wolvix Bone, and it can give me an X, I'll be pretty happy with it.

BTW, this is exactly what I meant, when saying, "you can therefore also release Wolvix Cub and Desktop Editions as individual modules, besides the full-CD release." -- I mean, it is nice to allow people to download the only modules that they need, instead of pulling the full CD from the server then do the extraction. It's less burden to the server and more friendly to people with slow connections.

Now some suggestions,

Better start Wolvix Cub/hunter number with some bigger number, say 20/40. Currently when you need to split something, say 07_common_desk, then the number for 10_hunter_lib will be affected. The new approach will partially solve such problem.

Better separate Java and Samba in 11_hunter_app. Guess it won't be too much trouble. For 09_common_app, ideally, it'd better to be 09_common_app_network, 09_common_app_graphics, 09_common_app_office, 09_common_app_multimedia, etc. but let's leave it as is for the moment.

Moreover, ideally, for 08_common_lib, it'd better keep only libs that are common to all 09_common_app in there. All libs that are specific to certain apps should be included in the app specific module, not in 08_common_lib. For example,

  liba52 libavcodeccvs libcdparanoia0 libdirectfb libdivxdecore0
  libdv4 libdvdread3 libfaac0 libfaad2-0 libggi2 libgii0 libgii0-target-x
  libimlib2 liblame0 libltdl3 libmp4-0 libpostproc0 libtheora0 libxvidcore4
  libdvdcss2 libggi-target-emu libggi-target-monotext libggimisc2
  imlib2-loaders w32codecs libdvdcss

should really go to 09_common_app_multimedia_player package which contain mplayer, vlc, etc, not in 08_common_lib.

I don't know how practical the above could be under under Slackware, because under Debian, it's not too difficult to pick dependent libs into app specific modules.

I'm just curious, how do you build those modules, say 09_common_app_multimedia_player? Intrinsically and naively, I'm thinking that you just keep a list of apps that you should put into it (e.g., mplayer, gmplayer, vlc, etc), and all the dependent libs, then do tgz2dir on each package into the same directory, then dir2lzm to build the module. I think over 90% of the modules could be build this way, again intrinsically and naively thinking. Is that so?



Title: > For 09_common_app,
Post by: xpt on June 07, 2007, 01:05:12 AM
> For 09_common_app, ideally, it'd better to be 09_common_app_network, 09_common_app_graphics, 09_common_app_office, 09_common_app_multimedia, etc.

Forget about it. Only noticed your post, "I found .. the size of the ISO had grown over 10Mb" afterword. I totally agree it's a "major loss of functionality".


Title: Re: Breaking up the modules. And removing packages.
Post by: xpt on June 07, 2007, 01:23:43 AM
> Here are a few tips on how to remove packages from modules rather easily and quickly...

thanks a lot, that's very helpful. Having known that, I no longer feel that breaking up the modules is the top priority for Wolvix any more.

How is your Wolvix Bone going?





Title: Re: Breaking up the modules. And removing packages.
Post by: xpt on June 07, 2007, 01:15:13 AM
> I found .. the size of the ISO had grown over 10Mb

Maybe just include fluxbox into 06_x11, not an extra module, good idea?


Title: "Caveman method"
Post by: jcsoh on June 07, 2007, 01:29:45 AM
Err.. I think your are grossly over estimating me. My method of remastering can only be described as "cave man" as opposed to your "space age" method.

Basically , all I do is extracted the mo , go thru all the subdirectories and simply delete the files if it carries the name of the programme (that I want to removed )as part of it's name  .

If the entire subdirectory is for the programme, then I delete the entire subdirectory.

So if any files , especially libraries if it doesnt' cleary have the name of the programme as part of its name , doesnt' get deleted.

I also delete other files like man and languages option (other than english).

I am running Wolvix on a Pentium D with 1 GB and a 160 mb hdd, so neither the memory of hhd space is critical.

Wolvix , even the larger desktop edition run fast and fine as it is. Basically, I just want to thinker and see what I can remove.

But thanks, I will try out your tutorial as a learning experience.