From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QtesY-00074D-Tp for garchives@archives.gentoo.org; Wed, 17 Aug 2011 12:05:51 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id F2E7721C05E; Wed, 17 Aug 2011 12:05:42 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 8B15821C05E for ; Wed, 17 Aug 2011 12:05:42 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C64CD6420D for ; Wed, 17 Aug 2011 12:05:41 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id D5B1D80040 for ; Wed, 17 Aug 2011 12:05:40 +0000 (UTC) From: "Sebastian Parborg" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sebastian Parborg" Message-ID: <0928c63e4ccf5a2dcd60cc31495469e1d14d2e35.darkdefender@gentoo> Subject: [gentoo-commits] proj/ebuildgen:master commit in: website/ X-VCS-Repository: proj/ebuildgen X-VCS-Files: website/ebuildgenerator.html website/ebuildgenerator.xml X-VCS-Directories: website/ X-VCS-Committer: darkdefender X-VCS-Committer-Name: Sebastian Parborg X-VCS-Revision: 0928c63e4ccf5a2dcd60cc31495469e1d14d2e35 Date: Wed, 17 Aug 2011 12:05:40 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: f138d61f3e9498cf4feb65f3bc3a73b3 commit: 0928c63e4ccf5a2dcd60cc31495469e1d14d2e35 Author: Sebastian Parborg gmail com> AuthorDate: Wed Aug 17 12:04:52 2011 +0000 Commit: Sebastian Parborg gmail com> CommitDate: Wed Aug 17 12:04:52 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/ebuildgen.git= ;a=3Dcommit;h=3D0928c63e Added the website src files --- website/ebuildgenerator.html | 142 ++++++++++++++++++++++++++++++++++++= ++++++ website/ebuildgenerator.xml | 138 ++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 280 insertions(+), 0 deletions(-) diff --git a/website/ebuildgenerator.html b/website/ebuildgenerator.html new file mode 100644 index 0000000..3156265 --- /dev/null +++ b/website/ebuildgenerator.html @@ -0,0 +1,142 @@ + + + + + + + + + + + +Gentoo Linux Documentation +-- + Ebuild Generator GSoC 2011 + + + + + +
= 3D"Gentoo
<= tr> + + +
+

Ebuild Generator GSoC 2011

+
+Content: + +
+

= 1.=C2=A0 + Introduction

+

What problem does this= project try to solve?

+

+ When writing ebuilds it can be a hassle to hunt down depende= cies for + the program and link them to the useflag that triggers them. +

+

+ The point of this program is to help users write ebuilds by = generating + the useflags, dependecies and link useflags to dependecies f= or them. + It is able to guess dependecies for packages that are not in= stalled on the system. +

+

+ Note that if the program that you try to generate the ebuild= for is a simple + "./configure && make &= ;& make install" project the generated ebuild should not + need any edits to work +

+

= 2.=C2=A0 + How to use

+

Installation

+

+ At this time the ebuild for the ebuild generator is not in p= ortage, get it from the overlay dir on: + https:= //github.com/DarkDefender/ebuildgen . + After you have emerged it you should be able to run the prog= ram with the command "genebuild" +

+

Gererating an ebuild

+

+ Lets say I want to generate an ebuild for the "moc" proj= ect (http://moc.daper.net). + It's svn based so I simply type the following command. +

+ + + +

Code Listing=C2=A02.1= : Generating and ebuild from svn

+                    $ genebuild --svn svn://d=
aper.net/moc/trunk
+                
+

Note: = + At this time the ebuild generator only supports GIT,= HG and SVN +

+

+ It will go ahead and download the source code to /tmp/ebuildgen/curproj/ + and then search the project for the topmost configure.{i= n,ac}. Then it will use the + Makefile.ac in the same dir as the configure script and = then scan the source files. +

+

+ When it is done scanning source files it will try to lin= k the includes it found in + the source files to packages using qfile and the pfl onl= ine database. +

+

Import= ant: Make sure to double check that the dependecies that it pulls in = are sane!

+

+ After the generator is done it will place the generated = ebuild in=20 + /tmp/ebuildgen/generate= d.ebuild. + Rename and edit the ebuild to you liking, put it in your= local portage and emerge away. +

+

= 3.=C2=A0 + Where to go from here

+

Sanity checks

+

+ Because the generator doesn't run anycode from the proje= cts that it will generate an ebuild for, + it is likely that there will be cases where it guesses w= rong dependecies. + There for it would be good to have a check that tells th= e uses if the generator pulled in any + obsolete packages or missed some vital ones. +

+

+ If the "auto dependency builder" by Alexander Bersenev d= oesn't get included in portage I'll try + to implement it to solve this problem. + That way my ebuild generator "guesses" and the auto depe= ndency builder confirms if the generator + has guessed right. +

+

Support for more langu= ages and build scripts

+

+ There is very basic support for pure makefile projects i= n the generator. But I've disabled it as + it is not good enough yet to be useful. +

+

+ Before I start to try supporting other stuff I have to f= lesh out the current support that I have. + There is alot for missing features and/or incomplete fea= tures that needs to be done. +

+

+ But after that I think I'll try to support scons/cmake a= nd later perhaps python projects. +

+

Interested in contribu= ting to the project?

+

+ Please contact me with the email on this page or pm/ping= me on IRC. + I usually hang out in #gentoo-chat on freenode by the na= me "DarkDefender" +

+

+ The source code is located on github https://github.com/DarkDefender/ebuild= gen +

+

+
+ + + + + + +

Print

Updated A= ugust 16, 2011

Summary:= + Generate ebuilds for autotools C/C++ based projects. The main goal is = to + help users write ebuilds by guessing useflags and dependecies. +

+ Sebasti= an Parborg +
Author

+

Donate to support our development efforts. +

+
+ +
+
+Copyright 2001-2011 Gentoo Foundation, Inc. Questions, Comments? Contact us. +
+ diff --git a/website/ebuildgenerator.xml b/website/ebuildgenerator.xml new file mode 100644 index 0000000..3f35b66 --- /dev/null +++ b/website/ebuildgenerator.xml @@ -0,0 +1,138 @@ + + + + + +Ebuild Generator GSoC 2011 + + + Sebastian Parborg + + + + Generate ebuilds for autotools C/C++ based projects. The main goal is = to + help users write ebuilds by guessing useflags and dependecies. + + +1 +2011-08-16 + + +Introduction +
+ What problem does this project try to solve? + +

+ When writing ebuilds it can be a hassle to hunt down depende= cies for + the program and link them to the useflag that triggers them. +

+

+ The point of this program is to help users write ebuilds by = generating + the useflags, dependecies and link useflags to dependecies f= or them. + It is able to guess dependecies for packages that are not in= stalled on the system. +

+

+ Note that if the program that you try to generate the ebuild= for is a simple + "./configure && make && make install"= project the generated ebuild should not + need any edits to work +

+ +
+
+ + + How to use +
+ Installation + + +

+ At this time the ebuild for the ebuild generator is not in p= ortage, get it from the overlay dir on: + https://github.com/DarkDefender/ebuildgen . + After you have emerged it you should be able to run the prog= ram with the command "genebuild" +

+ + +
+
+ Gererating an ebuild + +

+ Lets say I want to generate an ebuild for the "moc" proj= ect (http://moc.daper.net). + It's svn based so I simply type the following command. +

+
+                    $ genebuild --svn svn://daper.net/moc/trunk
+                
+ + At this time the ebuild generator only supports GIT,= HG and SVN + +

+ It will go ahead and download the source code to /= tmp/ebuildgen/curproj/ + and then search the project for the topmost configure.{i= n,ac}. Then it will use the + Makefile.ac in the same dir as the configure script and = then scan the source files. +

+

+ When it is done scanning source files it will try to lin= k the includes it found in + the source files to packages using qfile and the pfl onl= ine database. +

+ Make sure to double check that the dependecies that it= pulls in are sane! +

+ After the generator is done it will place the generated = ebuild in=20 + /tmp/ebuildgen/generated.ebuild. + Rename and edit the ebuild to you liking, put it in your= local portage and emerge away. +

+ +
+
+ + + Where to go from here +
+ Sanity checks + +

+ Because the generator doesn't run anycode from the proje= cts that it will generate an ebuild for, + it is likely that there will be cases where it guesses w= rong dependecies. + There for it would be good to have a check that tells th= e uses if the generator pulled in any + obsolete packages or missed some vital ones. +

+

+ If the "auto dependency builder" by Alexander Bersenev d= oesn't get included in portage I'll try + to implement it to solve this problem. + That way my ebuild generator "guesses" and the auto depe= ndency builder confirms if the generator + has guessed right. +

+ +
+
+ Support for more languages and build scripts + +

+ There is very basic support for pure makefile projects i= n the generator. But I've disabled it as + it is not good enough yet to be useful. +

+

+ Before I start to try supporting other stuff I have to f= lesh out the current support that I have. + There is alot for missing features and/or incomplete fea= tures that needs to be done. +

+

+ But after that I think I'll try to support scons/cmake a= nd later perhaps python projects. +

+ +
+
+ Interested in contributing to the project? + +

+ Please contact me with the email on this page or pm/ping= me on IRC. + I usually hang out in #gentoo-chat on freenode by the na= me "DarkDefender" +

+

+ The source code is located on github https://github= .com/DarkDefender/ebuildgen +

+ +
+
+
+