It would be nice to get a zero-install ebuild out so people can play with it. Zero-install is a new-generation software installation system that uses the internet directly to run executables and handle dependencies. See the freshmeat article: http://themes.freshmeat.net/articles/view/1049/
Created attachment 24899 [details] My ebuild for zero-install Here's my ebuild for zero-install-0.1.20. There might be a lot that can be improved, but it works for me. There are two extra attachments to be placed in the files directory: - the patch file zero-install-0.1.20-bv.diff - the init script 0install
Created attachment 24900 [details] My patch file for zero-install-0.1.20
Created attachment 24901 [details] My init script for zero-install
You might like this.
just interested ;)
Hi, I'm using kernel 2.6.4-mm1. What kernel are you using? Thanks Marcel -------------------- [configure] Making all in Linux make[1]: Entering directory `/var/tmp/portage/zero-install-0.1.20/work/zero-install-0.1.20/Linux' rm -f lazyfs0d1d20.c ln ./lazyfs.c lazyfs0d1d20.c gcc -I. -I. -c -I/lib/modules/2.6.4-mm1/build/include -Wno-trigraphs -fno-strict-aliasing -fno-common -Wall -Wstrict-prototypes -O2 -Wall -DMODULE -D__KERNEL__ -o "lazyfs0d1d20.o" "lazyfs0d1d20.c" In file included from /usr/include/linux/dcache.h:7, from lazyfs0d1d20.c:36: /usr/include/linux/mount.h:21: error: field `mnt_hash' has incomplete type /usr/include/linux/mount.h:26: error: field `mnt_mounts' has incomplete type /usr/include/linux/mount.h:27: error: field `mnt_child' has incomplete type /usr/include/linux/mount.h:31: error: field `mnt_list' has incomplete type In file included from lazyfs0d1d20.c:36: /usr/include/linux/dcache.h:72: error: field `d_hash' has incomplete type /usr/include/linux/dcache.h:73: error: field `d_lru' has incomplete type /usr/include/linux/dcache.h:74: error: field `d_child' has incomplete type /usr/include/linux/dcache.h:75: error: field `d_subdirs' has incomplete type /usr/include/linux/dcache.h:76: error: field `d_alias' has incomplete type /usr/include/linux/dcache.h:128: error: syntax error before "dcache_lock" lazyfs0d1d20.c:37:25: linux/namei.h: No such file or directory lazyfs0d1d20.c: In function `add_user_request': lazyfs0d1d20.c:343: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: In function `lazyfs_new_inode': lazyfs0d1d20.c:492: error: incompatible types in assignment lazyfs0d1d20.c: In function `lazyfs_fill_super': lazyfs0d1d20.c:654: error: structure has no member named `s_fs_info' lazyfs0d1d20.c:670: error: incompatible type for argument 6 of `new_dentry' lazyfs0d1d20.c:678: error: incompatible type for argument 6 of `new_dentry' lazyfs0d1d20.c:685: error: incompatible type for argument 6 of `new_dentry' lazyfs0d1d20.c: In function `lazyfs_get_sb': lazyfs0d1d20.c:723: warning: implicit declaration of function `get_sb_nodev' lazyfs0d1d20.c:723: warning: return makes pointer from integer without a cast lazyfs0d1d20.c: In function `try_get_host_dentry': lazyfs0d1d20.c:812: error: structure has no member named `s_fs_info' lazyfs0d1d20.c:833: error: request for member `tv_sec' in something not a structure or union lazyfs0d1d20.c:833: error: request for member `tv_sec' in something not a structure or union lazyfs0d1d20.c: In function `get_host_dentry': lazyfs0d1d20.c:872: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: In function `mark_children_may_delete': lazyfs0d1d20.c:962: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: In function `has_changed': lazyfs0d1d20.c:1110: error: incompatible types in assignment lazyfs0d1d20.c:1114: error: request for member `tv_sec' in something not a structure or union lazyfs0d1d20.c: In function `ensure_cached': lazyfs0d1d20.c:1328: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: In function `lazyfs_put_super': lazyfs0d1d20.c:1390: error: structure has no member named `s_fs_info' lazyfs0d1d20.c:1412: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: At top level: lazyfs0d1d20.c:1427: warning: `struct kstatfs' declared inside parameter list lazyfs0d1d20.c:1427: warning: its scope is only this definition or declaration, which is probably not what you want lazyfs0d1d20.c: In function `lazyfs_statfs': lazyfs0d1d20.c:1432: error: dereferencing pointer to incomplete type lazyfs0d1d20.c:1433: error: dereferencing pointer to incomplete type lazyfs0d1d20.c:1434: error: dereferencing pointer to incomplete type lazyfs0d1d20.c:1434: error: dereferencing pointer to incomplete type lazyfs0d1d20.c:1434: error: dereferencing pointer to incomplete type lazyfs0d1d20.c:1435: error: dereferencing pointer to incomplete type lazyfs0d1d20.c:1436: error: dereferencing pointer to incomplete type lazyfs0d1d20.c: In function `lookup_via_helper': lazyfs0d1d20.c:1464: error: incompatible type for argument 6 of `new_dentry' lazyfs0d1d20.c: In function `lazyfs_lookup': lazyfs0d1d20.c:1502: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: In function `send_to_helper': lazyfs0d1d20.c:1631: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: In function `lazyfs_helper_open': lazyfs0d1d20.c:1689: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: In function `lazyfs_helper_release': lazyfs0d1d20.c:1708: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: In function `lazyfs_helper_poll': lazyfs0d1d20.c:1748: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: In function `lazyfs_helper_read': lazyfs0d1d20.c:1764: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: In function `get_host_file': lazyfs0d1d20.c:1830: error: structure has no member named `s_fs_info' lazyfs0d1d20.c: At top level: lazyfs0d1d20.c:2066: warning: initialization from incompatible pointer type lazyfs0d1d20.c:2072: warning: initialization from incompatible pointer type lazyfs0d1d20.c:2102: warning: initialization from incompatible pointer type lazyfs0d1d20.c:2116: error: unknown field `get_sb' specified in initializer lazyfs0d1d20.c:2116: warning: initialization makes integer from pointer without a cast lazyfs0d1d20.c:2119: error: unknown field `kill_sb' specified in initializer lazyfs0d1d20.c:2119: error: `kill_litter_super' undeclared here (not in a function) lazyfs0d1d20.c:2119: error: initializer element is not constant lazyfs0d1d20.c:2119: error: (near initialization for `lazyfs_fs_type.next') make[1]: *** [lazyfs0d1d20.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/zero-install-0.1.20/work/zero-install-0.1.20/Linux' make: *** [all-recursive] Error 1 !!! ERROR: app-misc/zero-install-0.1.20 failed. !!! Function src_compile, Line 40, Exitcode 2 !!! (no error message) -----------------------
OK, the problem is the new kernel. You have to use the newer zeroinstall for kernels over 2.6.2... (or at least the filesystem of zeroinstall).
Please, a little help for a dumb guy who is trying to install zeor-install (?!) with this ebuild : I put the ebuild in my /usr/local/portage dir (with PORTAGE_OVERLAY defined accordingly) but I get a message like this friom emerge : $> pwd /usr/local/portage $> emerge zero-install/zero-install-0.1.20.ebuild !!! aux_get(): ebuild for 'portage/zero-install-0.1.20' does not exist at: !!! /usr/portage/portage/zero-install/zero-install-0.1.20.ebuild Calculating dependencies emerge: create(): aux_get() error on portage/zero-ins tall-0.1.20; aborting... Any help ? Thanks !
Just call "emerge zero-install"
Closing. Sorry, but I'm not really much for having this in the tree- both from the standpoint of maintaining, *and* just it's existance in the tree. Reopen if interest still exists.
"just it's existance in the tree." Exactly what do you mean by that? Also, isn't it a bit odd to leave out 0install when ROX DE already has 2 dirs of it's own in portage? The 0install system is one of the cornerstones/main selling points of ROX as a DE (something so simple that you could probably even let you mother manage it on her own once you set it up for her...). Request for reopening or a better explanation of why it should be left out.
The reasoning goes like this: 1. Portage is almighty. 2. Portage is god. 3. All other package managers shall fall because Portage rules them all. Or something like that. ;-)
Interest still exists. If there are packages in the tree that, when upgraded, cause most of your software to break, then surely an innocent little thing like zero-install can find its way into the tree.
Please, please, please include this. There are a fair few Gentoo users using the ROX desktop and zero-install is a key part of the desktop functionality. Please spend some time understanding what zero-install does: it doesn't replace or supercede ebuild, it just lets one load ROX applications remotely and on-demand. Please see http://rox.sourceforge.net/phpwiki/ and http://rox.sourceforge.net/phpwiki/index.php/ZeroInstall for more information. Please consider this as another vote from the interested.
Rephrasing my earlier stance on this (since in hindsight, it was a bit vague/declarative, wasn't it :), I -personally- have no interest in maintaining this package, nor the issues that will arise from essentially integrating/thwacking it to make it work (to head off the "there won't be bugs", there -will- be bugs, especially considering that this is basically the equivalent of live fetching and usage of binpkgs within a built from src system- see racs essay on mixing src and bin pkgs- http://dev.gentoo.org/~rac/binaries for details ). Either way, afaik this bug has been pawned around a bit, and no dev was willing to pick it up for maintenance- at this point, I'm still unwilling for reasons listed above. Sufficient interest, reopen and it'll be thrown back to bugwranglers. Or take it to gentoo-dev ml and let the community weigh in on it- my opinion on this package isn't the final say on it, although again, like I stated no dev has been willing to pick up this package thus far. Meanwhile, pardon the delay in response- swamped the last few months, added haven't had much gentoo time the last month.
So it turns out that rox-2.6 has started requiring this for calling some other apps from its "Options" pane, so I believe I will be adding this to the tree... sometime. I am working with upstream to add a way for a portage to supply a 'local feed', so zeroinstall will default to using a portage-installed package if one is available. It is unlikely I will add this to the tree soon, as I need to resolve this local-feed issue first, but I will be willing to maintain this as part of the rox packages.
By the way, I am talking about adding the new 'injector version' not the old kernel module version.
Current status: Upstream has implemented some of the support I need to provide local feeds. When the next version is released, I will add it to portage.
Added package: rox-base/zeroinstall-0.31 I will be slowly updating the other rox software so they install their "native feeds" so that 0launch can find any application installed by portage.
Or, rather, it is called rox-base/zeroinstall-injector-0.31