[gentoo-dev] Autodep project

2011-09-04 Thread Александр Берсенев
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

2011-09-04 Thread Marc Schiffbauer
* Александр Берсенев 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

2011-09-04 Thread justin
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

2011-09-04 Thread justin
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

2011-09-04 Thread Александр Берсенев
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

2011-09-04 Thread Robin H. Johnson
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.