[gentoo-dev] Autodep project
Hi! I am Alexander Bersenev, I was participating in GSoC this year. I want to present you the tool I've developed during this program. I hope that you'll find it useful. The purpose of my project is to help ebuild developers to compose accurate dependency list for a package. The tool has many features in order to do it, most of them listed on the documentation site: http://soc.dev.gentoo.org/~bay/autodep/ The killer-feature is an emulating the file system without non-dependency packages installed. I call it dependency checking or strict emerging. If program builds successfully in this environment then check is passed. If no - check is failed and user likely will be having a bad experience while trying to build this package if he hasn't some packages installed. It works fine, I've reported a few dozens of bugs about missing dependencies here: https://bugs.gentoo.org/show_bug.cgi?id=autodep. How to install and use it: 1) add neurogeek overlay in your overlay list 2) emerge autodep 3) use autodep and emerge_strict commands. I want to tell you more about emerge_strict command. This is an emerge command but with strict dependency checking. I've modified a portage and add this feature into it. Actually, after "emerge autodep" you will have two versions of portage: one is from your system(emerge) and one is from modified portage(emerge_strict). !!!ATTENTION!!! I modified a last available portage version from git. It is about Portage 2.2.0_alpha50. The you running portage 2.1.x.x it theoretically can be unsafe to use them both. I used it together for about a month and not found any problems, but, anyway, be careful. !!!ATTENTION!!! Here is an example of emerge_strict dev-libs/nss output: https://381591.bugs.gentoo.org/attachment.cgi?id=285369 Missing dependency is founded here: sdb.c:58:21: fatal error: sqlite3.h: No such file or directory compilation terminated. [NOT IN DEPS] dev-db/sqlite-3.7.7.1 : [u'compile'] /usr/include/sqlite3.h blocked I've set up a tinderbox to catch missing dependencies. And it works right now. Also, I recently installed desktop gentoo linux on my new notebook using only emerge_strict. It is also works. Although GSoC is over, I want to support this tool in further. I will be appreciate for any feedback. Best, Alexander Bersenev
Re: [gentoo-dev] Autodep project
* Александр Берсенев schrieb am 04.09.11 um 09:13 Uhr: > Hi! Hi Александр, seems to be a nice tool. I am not a native english speaker, but I found at least some words that need to be fixed: * There is no "readed" its always "read" * And: writed -> written -Marc > > I am Alexander Bersenev, I was participating in GSoC this year. > I want to present you the tool I've developed during this program. I > hope that you'll find it useful. > > The purpose of my project is to help ebuild developers to compose > accurate dependency list for a package. > The tool has many features in order to do it, most of them listed on > the documentation site: http://soc.dev.gentoo.org/~bay/autodep/ > > The killer-feature is an emulating the file system without > non-dependency packages installed. I call it dependency checking or > strict emerging. If program builds successfully in this environment > then check is passed. If no - check is failed and user likely will be > having a bad experience while trying to build this package if he > hasn't some packages installed. > > It works fine, I've reported a few dozens of bugs about missing > dependencies here: https://bugs.gentoo.org/show_bug.cgi?id=autodep. > > How to install and use it: > 1) add neurogeek overlay in your overlay list > 2) emerge autodep > 3) use autodep and emerge_strict commands. > > I want to tell you more about emerge_strict command. This is an emerge > command but with strict dependency checking. I've modified a portage > and add this feature into it. Actually, after "emerge autodep" you > will have two versions of portage: one is from your system(emerge) and > one is from modified portage(emerge_strict). > > !!!ATTENTION!!! > I modified a last available portage version from git. It is about > Portage 2.2.0_alpha50. The you running portage 2.1.x.x it > theoretically can be unsafe to use them both. I used it together for > about a month and not found any problems, but, anyway, be careful. > !!!ATTENTION!!! > > Here is an example of emerge_strict dev-libs/nss output: > https://381591.bugs.gentoo.org/attachment.cgi?id=285369 > > Missing dependency is founded here: > sdb.c:58:21: fatal error: sqlite3.h: No such file or directory > compilation terminated. > > > [NOT IN DEPS] dev-db/sqlite-3.7.7.1 : [u'compile'] > /usr/include/sqlite3.h blocked > > > I've set up a tinderbox to catch missing dependencies. And it works > right now. Also, I recently installed desktop gentoo linux on my new > notebook using only emerge_strict. It is also works. > > Although GSoC is over, I want to support this tool in further. I will > be appreciate for any feedback. > > Best, > > Alexander Bersenev > -- 8AAC 5F46 83B4 DB70 8317 3723 296C 6CCA 35A6 4134
Re: [gentoo-dev] Autodep project
Hi, if this tool works like it supposed, it will be very handy. But the current ebuild/buildsystem suffers from disrespecting CC and failing with forced as-needed, isn't strict multilib capable and byte-compilation of python modules. Please find attached a hacky patch. thanks justin On 9/4/11 9:13 AM, Александр Берсенев wrote: > Hi! > > I am Alexander Bersenev, I was participating in GSoC this year. > I want to present you the tool I've developed during this program. I > hope that you'll find it useful. > > The purpose of my project is to help ebuild developers to compose > accurate dependency list for a package. > The tool has many features in order to do it, most of them listed on > the documentation site: http://soc.dev.gentoo.org/~bay/autodep/ > > The killer-feature is an emulating the file system without > non-dependency packages installed. I call it dependency checking or > strict emerging. If program builds successfully in this environment > then check is passed. If no - check is failed and user likely will be > having a bad experience while trying to build this package if he > hasn't some packages installed. > > It works fine, I've reported a few dozens of bugs about missing > dependencies here: https://bugs.gentoo.org/show_bug.cgi?id=autodep. > > How to install and use it: > 1) add neurogeek overlay in your overlay list > 2) emerge autodep > 3) use autodep and emerge_strict commands. > > I want to tell you more about emerge_strict command. This is an emerge > command but with strict dependency checking. I've modified a portage > and add this feature into it. Actually, after "emerge autodep" you > will have two versions of portage: one is from your system(emerge) and > one is from modified portage(emerge_strict). > > !!!ATTENTION!!! > I modified a last available portage version from git. It is about > Portage 2.2.0_alpha50. The you running portage 2.1.x.x it > theoretically can be unsafe to use them both. I used it together for > about a month and not found any problems, but, anyway, be careful. > !!!ATTENTION!!! > > Here is an example of emerge_strict dev-libs/nss output: > https://381591.bugs.gentoo.org/attachment.cgi?id=285369 > > Missing dependency is founded here: > sdb.c:58:21: fatal error: sqlite3.h: No such file or directory > compilation terminated. > > > [NOT IN DEPS] dev-db/sqlite-3.7.7.1 : [u'compile'] > /usr/include/sqlite3.h blocked > > > I've set up a tinderbox to catch missing dependencies. And it works > right now. Also, I recently installed desktop gentoo linux on my new > notebook using only emerge_strict. It is also works. > > Although GSoC is over, I want to support this tool in further. I will > be appreciate for any feedback. > > Best, > > Alexander Bersenev > diff --git a/app-portage/autodep/autodep-0.1.ebuild b/app-portage/autodep/autodep-0.1.ebuild index 62b4290..e4f494b 100644 --- a/app-portage/autodep/autodep-0.1.ebuild +++ b/app-portage/autodep/autodep-0.1.ebuild @@ -7,7 +7,7 @@ EAPI=3 PYTHON_DEPEND="2:2.6" RESTRICT_PYTHON_ABIS='2.4 2.5 3.*' -inherit python +inherit autotools eutils flag-o-matic multilib python DESCRIPTION="Auto dependency analyser for Gentoo" HOMEPAGE="http://soc.dev.gentoo.org/~bay/autodep/"; @@ -18,15 +18,31 @@ SLOT="0" KEYWORDS="~x86 ~amd64" IUSE="" -DEPEND="sys-fs/fuse +RDEPEND=" + app-portage/portage-utils + sys-fs/fuse" +DEPEND="${RDEPEND} dev-util/pkgconfig" -RDEPEND="sys-fs/fuse - app-portage/portage-utils" -src_compile() { -emake || die +pkg_setup() { + python_set_active_version 2 +} + +src_prepare() { + epatch "${FILESDIR}"/${P}-build.patch + sed "s:usr/lib:/usr/$(get_libdir):g" -i Makefile || die + tc-export CC + export raw_LDFLAGS="$(raw-ldflags)" } src_install() { emake DESTDIR="${D}" install || die } + +pkg_postinst() { + python_mod_optimize /usr/$(get_libdir)/portage_with_autodep +} + +pkg_postrm() { + python_mod_cleanup /usr/$(get_libdir)/portage_with_autodep +} diff --git a/app-portage/autodep/files/autodep-0.1-build.patch b/app-portage/autodep/files/autodep-0.1-build.patch new file mode 100644 index 000..e49bd54 --- /dev/null +++ b/app-portage/autodep/files/autodep-0.1-build.patch @@ -0,0 +1,26 @@ + Makefile |8 + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 01c92f1..1a26d16 100644 +--- a/Makefile b/Makefile +@@ -1,14 +1,14 @@ + all: hookfs file_hook.so + + hookfs: src/hook_fusefs/hookfs.c +- $(CC) -std=c99 -Wall `pkg-config fuse --cflags --libs` -lulockmgr \ +- $(CFLAGS) $(LDFLAGS) src/hook_fusefs/hookfs.c -o hookfs ++ $(CC) -std=c99 -Wall$(CFLAGS) $(LDFLAGS) \ ++ src/hook_fusefs/hookfs.c -o hookfs `pkg-config fuse --cflags --libs` -lulockmgr + + file_hook.so: file_hook.o +- ld -shared -o file_hook.so -ldl -lc file_hook.o ++ ld $(raw_LDFLAGS) -shared -o
Re: [gentoo-dev] Autodep project
You need of course the toolchain-funcs.eclass and not the autotools.eclass. Sorry for that mistake. On 9/4/11 11:24 AM, justin wrote: > Hi, > > if this tool works like it supposed, it will be very handy. But the > current ebuild/buildsystem suffers from disrespecting CC and failing > with forced as-needed, isn't strict multilib capable and > byte-compilation of python modules. Please find attached a hacky patch. > > thanks justin > > On 9/4/11 9:13 AM, Александр Берсенев wrote: >> Hi! >> >> I am Alexander Bersenev, I was participating in GSoC this year. >> I want to present you the tool I've developed during this program. I >> hope that you'll find it useful. >> >> The purpose of my project is to help ebuild developers to compose >> accurate dependency list for a package. >> The tool has many features in order to do it, most of them listed on >> the documentation site: http://soc.dev.gentoo.org/~bay/autodep/ >> >> The killer-feature is an emulating the file system without >> non-dependency packages installed. I call it dependency checking or >> strict emerging. If program builds successfully in this environment >> then check is passed. If no - check is failed and user likely will be >> having a bad experience while trying to build this package if he >> hasn't some packages installed. >> >> It works fine, I've reported a few dozens of bugs about missing >> dependencies here: https://bugs.gentoo.org/show_bug.cgi?id=autodep. >> >> How to install and use it: >> 1) add neurogeek overlay in your overlay list >> 2) emerge autodep >> 3) use autodep and emerge_strict commands. >> >> I want to tell you more about emerge_strict command. This is an emerge >> command but with strict dependency checking. I've modified a portage >> and add this feature into it. Actually, after "emerge autodep" you >> will have two versions of portage: one is from your system(emerge) and >> one is from modified portage(emerge_strict). >> >> !!!ATTENTION!!! >> I modified a last available portage version from git. It is about >> Portage 2.2.0_alpha50. The you running portage 2.1.x.x it >> theoretically can be unsafe to use them both. I used it together for >> about a month and not found any problems, but, anyway, be careful. >> !!!ATTENTION!!! >> >> Here is an example of emerge_strict dev-libs/nss output: >> https://381591.bugs.gentoo.org/attachment.cgi?id=285369 >> >> Missing dependency is founded here: >> sdb.c:58:21: fatal error: sqlite3.h: No such file or directory >> compilation terminated. >> >> >> [NOT IN DEPS] dev-db/sqlite-3.7.7.1 : [u'compile'] >> /usr/include/sqlite3.h blocked >> >> >> I've set up a tinderbox to catch missing dependencies. And it works >> right now. Also, I recently installed desktop gentoo linux on my new >> notebook using only emerge_strict. It is also works. >> >> Although GSoC is over, I want to support this tool in further. I will >> be appreciate for any feedback. >> >> Best, >> >> Alexander Bersenev >> > signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] Autodep project
Thanks, I'll try to fix it. And English too. Best, Alexander Bersenev
[gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2011-09-04 23h59 UTC
The attached list notes all of the packages that were added or removed from the tree, for the week ending 2011-09-04 23h59 UTC. Removals: app-accessibility/speechd 2011-08-29 18:57:45 williamh net-misc/asterisk-addons2011-09-01 14:33:35 chainsaw net-misc/asterisk-chan_capi 2011-09-01 14:43:01 chainsaw net-misc/asterisk-chan_sccp 2011-09-01 14:44:29 chainsaw net-misc/asterisk-cdr_shell 2011-09-01 14:45:40 chainsaw net-misc/asterisk-res_bonjour 2011-09-01 14:47:06 chainsaw net-misc/asterisk-app_conference2011-09-01 14:47:42 chainsaw app-emulation/frodo 2011-09-04 10:58:13 hwoarang net-misc/vget 2011-09-04 11:00:38 hwoarang Additions: net-misc/flexget2011-08-29 00:17:00 floppym dev-python/transmissionrpc 2011-08-29 00:37:47 floppym games-arcade/blobwars 2011-08-29 18:43:08 pacho dev-libs/libee 2011-08-29 19:48:16 maksbotan dev-libs/liblognorm 2011-08-29 19:54:35 maksbotan mail-client/claws-mail-gdata2011-08-30 11:27:46 fauli dev-php/pecl-stomp 2011-08-30 12:43:42 olemarkus media-radio/grig2011-08-31 07:13:01 tomjbe app-admin/sagan-rules 2011-08-31 08:30:15 maksbotan app-admin/sagan 2011-08-31 08:36:54 maksbotan app-vim/xolox-misc 2011-08-31 10:09:30 radhermit www-apache/mod_auth_token 2011-08-31 15:42:19 flameeyes sys-fs/ocfs2-tools 2011-08-31 17:15:18 alexxy sys-cluster/open-mx 2011-08-31 18:34:14 alexxy app-misc/ofl2011-08-31 23:48:47 mattst88 app-portage/repo-commit 2011-09-01 07:21:39 mgorny net-misc/asterisk-g729 2011-09-02 13:00:51 chainsaw app-office/libreoffice-l10n 2011-09-03 11:45:52 scarabeus dev-python/scripttest 2011-09-03 18:10:45 djc media-libs/ffmpegsource 2011-09-03 18:14:46 maksbotan net-misc/identicurse2011-09-03 19:51:44 xarthisius dev-python/wstools 2011-09-04 06:39:34 djc -- Robin Hugh Johnson Gentoo Linux Developer E-Mail : robb...@gentoo.org GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 Removed Packages: app-accessibility/speechd,removed,williamh,2011-08-29 18:57:45 net-misc/asterisk-addons,removed,chainsaw,2011-09-01 14:33:35 net-misc/asterisk-chan_capi,removed,chainsaw,2011-09-01 14:43:01 net-misc/asterisk-chan_sccp,removed,chainsaw,2011-09-01 14:44:29 net-misc/asterisk-cdr_shell,removed,chainsaw,2011-09-01 14:45:40 net-misc/asterisk-res_bonjour,removed,chainsaw,2011-09-01 14:47:06 net-misc/asterisk-app_conference,removed,chainsaw,2011-09-01 14:47:42 app-emulation/frodo,removed,hwoarang,2011-09-04 10:58:13 net-misc/vget,removed,hwoarang,2011-09-04 11:00:38 Added Packages: net-misc/flexget,added,floppym,2011-08-29 00:17:00 dev-python/transmissionrpc,added,floppym,2011-08-29 00:37:47 games-arcade/blobwars,added,pacho,2011-08-29 18:43:08 dev-libs/libee,added,maksbotan,2011-08-29 19:48:16 dev-libs/liblognorm,added,maksbotan,2011-08-29 19:54:35 mail-client/claws-mail-gdata,added,fauli,2011-08-30 11:27:46 dev-php/pecl-stomp,added,olemarkus,2011-08-30 12:43:42 media-radio/grig,added,tomjbe,2011-08-31 07:13:01 app-admin/sagan-rules,added,maksbotan,2011-08-31 08:30:15 app-admin/sagan,added,maksbotan,2011-08-31 08:36:54 app-vim/xolox-misc,added,radhermit,2011-08-31 10:09:30 www-apache/mod_auth_token,added,flameeyes,2011-08-31 15:42:19 sys-fs/ocfs2-tools,added,alexxy,2011-08-31 17:15:18 sys-cluster/open-mx,added,alexxy,2011-08-31 18:34:14 app-misc/ofl,added,mattst88,2011-08-31 23:48:47 app-portage/repo-commit,added,mgorny,2011-09-01 07:21:39 net-misc/asterisk-g729,added,chainsaw,2011-09-02 13:00:51 app-office/libreoffice-l10n,added,scarabeus,2011-09-03 11:45:52 dev-python/scripttest,added,djc,2011-09-03 18:10:45 media-libs/ffmpegsource,added,maksbotan,2011-09-03 18:14:46 net-misc/identicurse,added,xarthisius,2011-09-03 19:51:44 dev-python/wstools,added,djc,2011-09-04 06:39:34 Done.