On Wed, Dec 01, 2004 at 09:15:16PM -0500, Nicholas Jones after a spiritual call wrote : ~> If '.tgz' has been reserved for slackware, that's a bit of a ~> problem. The following suggestion requires some changes in portage, ~> but they are on the way. I'd prefer if it detected the slackware ~> info within the file. Portage should be able to handle any tarball ~> given, regardless of it's metadata format. The reason I say the ~> reservation is a problem stems from wanting xpaks on tgz files ~> instead of restricting ourselves to tbz2 which is computationally ~> intensive. The .tgz of Slackware doesn't keep information as the .tbz2 does. A tgz pkg is the image tar.gzipped with a doinst.sh script used to recreate the links. Btw, the installation is held by installpkg (it comes from pkgutil in Slackware). The changes in emerge permit to use the portage's db to check dependecies. When a dep is found it searches the relative .tgz in the specified PKGROOT, if it isn't found it merge the dep from the portage itself. ~> > pfile: Emerde will apply the specified action to all the ~> > packages listed in the pfile ~> ~> I don't know what this means. it loads the list of pkg to consider from a file (pfile) instead from the command line. ~> > invulnerable: Updates all the packages which have suid binaries. ~> Why? If the user wants to update all the suid binaries here it is. ~> > maketgz: Emerde will build Slackware's tgz packages for all ~> > ebuilds processed. ~> ~> Converting to an outside format, while good to be able to do, ~> is better served in an outside application. You had mentioned ~> in another message por2pkg or something like that. These would ~> be in the package to which I am refering. por2pkg is used to convert the portage's vardb entry to the Slackware's one (/var/log/packages/) ~> > quicksearch: The cp_all function in Emerde is rewritten to use ~> > /var/cadb, there's a significant improvement in all ~> > the functions that use cp_all (--search, sync, ~> > update cache etc...) ~> ~> What is cadb? 'esearch' and it's friends compile the data into a ~> db it uses to query from. The problem with portage's search is a ~> locality problem. Seeks on disks are a major penalty. What benefit ~> are you providing here? The /var/cadb is a simple index: [alpt@darkalpt alpt]$ cat /var/cadb app-accessibility SphinxTrain app-accessibility at-poke app-accessibility brltty ... The current cp_all function generates each time the list of all packages... it's pretty slow because it does three nested "for" within the listdir function. Instead in the modified version it has already the list, so it can look up the relative category immediately. ~> > skipit: Emerde allows you to skip to the next merge with the ~> > SIGINT signal or by pressing CTRL+c. ~> ~> This probably isn't a good idea. It's liable to break 'automatic' ~> configurations that the ebuild expects to be satisfied in a ~> particular way. Do you use this often? I know, it can't be used if a dependece being processed is a must, but it's very usefull in some case. For example where you are processing a list of 50 pkgs without doing -u, you are in the middle of the list and you want to skip the current pkg. ~> > Compilation resume: Emerde resumes an interrupted or aborted ~> > compilation without rebuild the pkg and ~> > restart the compilation. ~> ~> I commented on this elsewhere. so? what's the response? I find it very useful, expecially when I merge a big pkg (xfree). ~> > LAN-sync: The syncing of the portage can be done using another ~> > machine that had already done it. See ACTION:sync in ~> > the emerge(1) man page. ~> ~> You can share your portage tree via NFS and 'emerge metadata'. ~> What does this gain you beyond that? it's cool ;) You don't have to use NFS, but only your shell account. It might be more comfortable. that's all. ~> > --searchcontents: Emerde matches the search string against the ~> > contents field. The pkg's contents field ~> > contains a list of files and directories ~> > installed. This option is useful to know to ~> > what pkg a file or a directory belong. ~> ~> External apps do this for us now. See 'etcat -b' and 'qpkg -f'. it shouldn't be an external app feature. If I have the portage I want to use only it. ~> > --showcontents: This option is the same as the --search one except ~> > that it shows all the contents file of the searched ~> > packages. ~> ~> What's the use/benefit of this? you haven't to find the relative category, cd /var/db/pkg/CAT/PKG, cat CONTENTS. It is extremely handy when you do it often. ~> > --searchinstalled: It filter only installed pkg in the search result. ~> ~> The idea is good. The number of flags that could be used here ~> might be a problem though. Perhaps it's time we support '=' in ~> arguments: It isn't mentioned but each option added has its short mapping. --searchinstalled == -L --showcontents == -T --searchcontents == -N ... ~> --search=description,installed,available,masked ~> or something to that effect might be more effective. yes, but the short mapping it's lazier for the laziest people. ~> > buildworld: Rebuilds or updates the "world" file (/var/cache/edb/world) ~> ~> /usr/lib/portage/bin/regenworld okay. ~> > pordbcheck: Checks if the programs listed in the portage's db are ~> > really installed. ~> ~> I know that qpkg can do this. I'm not overly fond of qpkg as it's ~> in bash and generally annoying to fix. I created pordbcheck because in other distro from Slackware, emerde installs a prebuild /var/db/pkg. btw, I'd like to do something to see all the installed pkg without syncing with any pkg's db, but to do this it's necessary have the list of files which each ebuild will generate... ~> > initd-cfg: /etc/init.d editor. ~> ~> Explanation would be nice... What exactly is it editing? the initd-cfg it's like ufed; you get a list of the files in /etc/init.d. Then you check or decheck the one you want to be executable. I made you a screen shot: http://hinezumilabs.org/alpt/shot-initd.png I didn't mentioned that for emerde I use a rc.emerde to control all the scripts in /etc/init.d. In the style of: rc.emerde start (and it starts all the scripts executable in /etc/init.d) rc.emerde stop rc.emerde restart then there's Semerde.stop in rc.d/rc[60].d Semerde.stop does this: /etc/rc.d/rc.emerde stop rm -f /var/lib/init.d/started/* I didn't included them in the patch, I don't know if they can be useful for gentoo too. ~> > If I can jump in the coding with you, I can live in peace ~> > with emerde because all the changes will be already built ~> > in and in the near future emerde won't be needed anymore. ~> > The goal is to make the portage distro independent. ~> ~> I've got no problem with more help, but as with everyone else, ~> we need to look over what you've done, and how you've done it ~> before bringing you on board. roger that, sir. Best Regards -- :wq! "I don't know nothing" The One Who reached the Thinking Matter '.' [ Alpt --- Freaknet Medialab ] [ GPG Key ID 441CF0EE ] [ Key fingerprint = 8B02 26E8 831A 7BB9 81A9 5277 BFF8 037E 441C F0EE ]