public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/ebuildgen:master commit in: website/
@ 2011-08-17 12:05 Sebastian Parborg
  0 siblings, 0 replies; 2+ messages in thread
From: Sebastian Parborg @ 2011-08-17 12:05 UTC (permalink / raw
  To: gentoo-commits

commit:     0928c63e4ccf5a2dcd60cc31495469e1d14d2e35
Author:     Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
AuthorDate: Wed Aug 17 12:04:52 2011 +0000
Commit:     Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
CommitDate: Wed Aug 17 12:04:52 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/ebuildgen.git;a=commit;h=0928c63e

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 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<link title="new" rel="stylesheet" href="/css/main.css" type="text/css">
+<link REL="shortcut icon" HREF="/favicon.ico" TYPE="image/x-icon">
+<link rel="search" type="application/opensearchdescription+xml" href="http://www.gentoo.org/search/www-gentoo-org.xml" title="Gentoo Website">
+<link rel="search" type="application/opensearchdescription+xml" href="http://www.gentoo.org/search/forums-gentoo-org.xml" title="Gentoo Forums">
+<link rel="search" type="application/opensearchdescription+xml" href="http://www.gentoo.org/search/bugs-gentoo-org.xml" title="Gentoo Bugzilla">
+<link rel="search" type="application/opensearchdescription+xml" href="http://www.gentoo.org/search/packages-gentoo-org.xml" title="Gentoo Packages">
+<link rel="search" type="application/opensearchdescription+xml" href="http://www.gentoo.org/search/archives-gentoo-org.xml" title="Gentoo List Archives">
+<title>Gentoo Linux Documentation
+--
+  Ebuild Generator GSoC 2011</title>
+</head>
+<body style="margin:0px;" bgcolor="#ffffff"><table width="100%" border="0" cellspacing="0" cellpadding="0">
+<tr><td valign="top" height="125" bgcolor="#45347b"><a href="/"><img border="0" src="/images/gtop-www.jpg" alt="Gentoo Logo"></a></td></tr>
+<tr><td valign="top" align="right" colspan="1" bgcolor="#ffffff"><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr>
+<td width="99%" class="content" valign="top" align="left">
+<br><h1>Ebuild Generator GSoC 2011</h1>
+<form name="contents" action="http://www.gentoo.org">
+<b>Content</b>:
+        <select name="url" size="1" OnChange="location.href=form.url.options[form.url.selectedIndex].value" style="font-family:sans-serif,Arial,Helvetica"><option value="#doc_chap1">1. Introduction</option>
+<option value="#doc_chap2">2. How to use</option>
+<option value="#doc_chap3">3. Where to go from here</option></select>
+</form>
+<p class="chaphead"><a name="doc_chap1"></a><span class="chapnum">1. 
+            </span>Introduction</p>
+<p class="secthead"><a name="doc_chap1_sect1">What problem does this project try to solve?</a></p>
+<p>
+            When writing ebuilds it can be a hassle to hunt down dependecies for
+            the program and link them to the useflag that triggers them.
+        </p>
+<p>
+            The point of this program is to help users write ebuilds by generating
+            the useflags, dependecies and link useflags to dependecies for them.
+            It is able to guess dependecies for packages that are not installed on the system.
+        </p>
+<p>
+            Note that if the program that you try to generate the ebuild for is a simple
+            <span class="code-input">"./configure &amp;&amp; make &amp;&amp; make install"</span> project the generated ebuild should not
+            need any edits to work
+        </p>
+<p class="chaphead"><a name="doc_chap2"></a><span class="chapnum">2. 
+            </span>How to use</p>
+<p class="secthead"><a name="doc_chap2_sect1">Installation</a></p>
+<p>
+            At this time the ebuild for the ebuild generator is not in portage, get it from the overlay dir on:
+            <a href="https://github.com/DarkDefender/ebuildgen">https://github.com/DarkDefender/ebuildgen</a> .
+            After you have emerged it you should be able to run the program with the command "genebuild"
+        </p>
+<p class="secthead"><a name="doc_chap2_sect2">Gererating an ebuild</a></p>
+<p>
+                Lets say I want to generate an ebuild for the "moc" project (<a href="http://moc.daper.net">http://moc.daper.net</a>).
+                It's svn based so I simply type the following command.
+            </p>
+<a name="doc_chap2_pre1"></a><table class="ntable" width="100%" cellspacing="0" cellpadding="0" border="0">
+<tr><td bgcolor="#7a5ada"><p class="codetitle">Code Listing 2.1: Generating and ebuild from svn</p></td></tr>
+<tr><td bgcolor="#eeeeff" align="left" dir="ltr"><pre>
+                    $ <span class="code-input">genebuild --svn svn://daper.net/moc/trunk</span>
+                </pre></td></tr>
+</table>
+<table class="ncontent" width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#bbffbb"><p class="note"><b>Note: </b>
+                    At this time the ebuild generator only supports GIT, HG and SVN
+                </p></td></tr></table>
+<p>
+                It will go ahead and download the source code to <span class="path" dir="ltr">/tmp/ebuildgen/curproj/</span>
+                and then search the project for the topmost configure.{in,ac}. Then it will use the
+                Makefile.ac in the same dir as the configure script and then scan the source files.
+            </p>
+<p>
+                When it is done scanning source files it will try to link the includes it found in
+                the source files to packages using qfile and the pfl online database.
+            </p>
+<table class="ncontent" width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#ffffbb"><p class="note"><b>Important: </b>Make sure to double check that the dependecies that it pulls in are sane!</p></td></tr></table>
+<p>
+                After the generator is done it will place the generated ebuild in 
+                <span class="path" dir="ltr">/tmp/ebuildgen/generated.ebuild</span>.
+                Rename and edit the ebuild to you liking, put it in your local portage and emerge away.
+            </p>
+<p class="chaphead"><a name="doc_chap3"></a><span class="chapnum">3. 
+            </span>Where to go from here</p>
+<p class="secthead"><a name="doc_chap3_sect1">Sanity checks</a></p>
+<p>
+                Because the generator doesn't run anycode from the projects that it will generate an ebuild for,
+                it is likely that there will be cases where it guesses wrong dependecies.
+                There for it would be good to have a check that tells the uses if the generator pulled in any
+                obsolete packages or missed some vital ones.
+            </p>
+<p>
+                If the "auto dependency builder" by Alexander Bersenev doesn't get included in portage I'll try
+                to implement it to solve this problem.
+                That way my ebuild generator "guesses" and the auto dependency builder confirms if the generator
+                has guessed right.
+            </p>
+<p class="secthead"><a name="doc_chap3_sect2">Support for more languages and build scripts</a></p>
+<p>
+                There is very basic support for pure makefile projects in the generator. But I've disabled it as
+                it is not good enough yet to be useful.
+            </p>
+<p>
+                Before I start to try supporting other stuff I have to flesh out the current support that I have.
+                There is alot for missing features and/or incomplete features that needs to be done.
+            </p>
+<p>
+                But after that I think I'll try to support scons/cmake and later perhaps python projects.
+            </p>
+<p class="secthead"><a name="doc_chap3_sect3">Interested in contributing to the project?</a></p>
+<p>
+                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 name "DarkDefender"
+            </p>
+<p>
+                The source code is located on github <a href="https://github.com/DarkDefender/ebuildgen">https://github.com/DarkDefender/ebuildgen</a>
+            </p>
+<br><br>
+</td>
+<td width="1%" bgcolor="#dddaec" valign="top"><table border="0" cellspacing="4px" cellpadding="4px">
+<tr><td class="topsep" align="center"><p class="altmenu"><a title="View a printer-friendly version" class="altlink" href="darkdefende@gmail.com?style=printable">Print</a></p></td></tr>
+<tr><td class="topsep" align="center"><p class="alttext">Updated August 16, 2011</p></td></tr>
+<tr><td class="topsep" align="left"><p class="alttext"><b>Summary: </b>
+  Generate ebuilds for autotools C/C++ based projects. The main goal is to
+  help users write ebuilds by guessing useflags and dependecies.
+</p></td></tr>
+<tr><td align="left" class="topsep"><p class="alttext">
+   <a href="mailto:darkdefende@gmail.com" class="altlink"><b>Sebastian Parborg</b></a>
+<br><i>Author</i><br></p></td></tr>
+<tr lang="en"><td align="center" class="topsep">
+<p class="alttext"><b>Donate</b> to support our development efforts.
+        </p>
+<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
+<input type="hidden" name="cmd" value="_xclick"><input type="hidden" name="business" value="paypal@gentoo.org"><input type="hidden" name="item_name" value="Gentoo Linux Support"><input type="hidden" name="item_number" value="1000"><input type="hidden" name="image_url" value="/images/paypal.png"><input type="hidden" name="no_shipping" value="1"><input type="hidden" name="return" value="http://www.gentoo.org"><input type="hidden" name="cancel_return" value="http://www.gentoo.org"><input type="image" src="http://images.paypal.com/images/x-click-but21.gif" name="submit" alt="Donate to Gentoo">
+</form>
+</td></tr>
+<tr lang="en"><td align="center"><iframe src="http://sidebar.gentoo.org" scrolling="no" width="125" height="850" frameborder="0" style="border:0px padding:0x" marginwidth="0" marginheight="0"><p>Your browser does not support iframes.</p></iframe></td></tr>
+</table></td>
+</tr></table></td></tr>
+<tr><td colspan="2" align="right" class="infohead">
+Copyright 2001-2011 Gentoo Foundation, Inc. Questions, Comments? <a class="highlight" href="/main/en/contact.xml">Contact us</a>.
+</td></tr>
+</table></body>
+</html>

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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
+<!-- $Header$ -->
+
+<guide>
+<title>Ebuild Generator GSoC 2011</title>
+
+<author title="Author">
+   <mail link="darkdefende@gmail.com">Sebastian Parborg</mail>
+</author>
+
+<abstract>
+  Generate ebuilds for autotools C/C++ based projects. The main goal is to
+  help users write ebuilds by guessing useflags and dependecies.
+</abstract>
+
+<version>1</version>
+<date>2011-08-16</date>
+
+<chapter>
+<title>Introduction</title>
+    <section>
+    <title>What problem does this project try to solve?</title>
+    <body>
+        <p>
+            When writing ebuilds it can be a hassle to hunt down dependecies for
+            the program and link them to the useflag that triggers them.
+        </p>
+        <p>
+            The point of this program is to help users write ebuilds by generating
+            the useflags, dependecies and link useflags to dependecies for them.
+            It is able to guess dependecies for packages that are not installed on the system.
+        </p>
+        <p>
+            Note that if the program that you try to generate the ebuild for is a simple
+            <i>"./configure &amp;&amp; make &amp;&amp; make install"</i> project the generated ebuild should not
+            need any edits to work
+        </p>
+    </body>
+    </section>
+</chapter>
+
+<chapter>
+    <title>How to use</title>
+    <section>
+        <title>Installation</title>
+        <body>
+
+        <p>
+            At this time the ebuild for the ebuild generator is not in portage, get it from the overlay dir on:
+            <uri>https://github.com/DarkDefender/ebuildgen</uri> .
+            After you have emerged it you should be able to run the program with the command "genebuild"
+        </p>
+
+        </body>
+    </section>
+    <section>
+        <title>Gererating an ebuild</title>
+        <body>
+            <p>
+                Lets say I want to generate an ebuild for the "moc" project (<uri>http://moc.daper.net</uri>).
+                It's svn based so I simply type the following command.
+            </p>
+                <pre caption="Generating and ebuild from svn">
+                    $ <i>genebuild --svn svn://daper.net/moc/trunk</i>
+                </pre>
+                <note>
+                    At this time the ebuild generator only supports GIT, HG and SVN
+                </note>
+            <p>
+                It will go ahead and download the source code to <path>/tmp/ebuildgen/curproj/</path>
+                and then search the project for the topmost configure.{in,ac}. Then it will use the
+                Makefile.ac in the same dir as the configure script and then scan the source files.
+            </p>
+            <p>
+                When it is done scanning source files it will try to link the includes it found in
+                the source files to packages using qfile and the pfl online database.
+            </p>
+            <impo>Make sure to double check that the dependecies that it pulls in are sane!</impo>
+            <p>
+                After the generator is done it will place the generated ebuild in 
+                <path>/tmp/ebuildgen/generated.ebuild</path>.
+                Rename and edit the ebuild to you liking, put it in your local portage and emerge away.
+            </p>
+        </body>
+    </section>
+</chapter>
+
+<chapter>
+    <title>Where to go from here</title>
+    <section>
+        <title>Sanity checks</title>
+        <body>
+            <p>
+                Because the generator doesn't run anycode from the projects that it will generate an ebuild for,
+                it is likely that there will be cases where it guesses wrong dependecies.
+                There for it would be good to have a check that tells the uses if the generator pulled in any
+                obsolete packages or missed some vital ones.
+            </p>
+            <p>
+                If the "auto dependency builder" by Alexander Bersenev doesn't get included in portage I'll try
+                to implement it to solve this problem.
+                That way my ebuild generator "guesses" and the auto dependency builder confirms if the generator
+                has guessed right.
+            </p>
+        </body>
+    </section>
+    <section>
+        <title>Support for more languages and build scripts</title>
+        <body>
+            <p>
+                There is very basic support for pure makefile projects in the generator. But I've disabled it as
+                it is not good enough yet to be useful.
+            </p>
+            <p>
+                Before I start to try supporting other stuff I have to flesh out the current support that I have.
+                There is alot for missing features and/or incomplete features that needs to be done.
+            </p>
+            <p>
+                But after that I think I'll try to support scons/cmake and later perhaps python projects.
+            </p>
+        </body>
+    </section>
+    <section>
+        <title>Interested in contributing to the project?</title>
+        <body>
+            <p>
+                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 name "DarkDefender"
+            </p>
+            <p>
+                The source code is located on github <uri>https://github.com/DarkDefender/ebuildgen</uri>
+            </p>
+        </body>
+    </section>
+</chapter>
+</guide>
+



^ permalink raw reply related	[flat|nested] 2+ messages in thread
* [gentoo-commits] proj/ebuildgen:master commit in: website/
@ 2011-08-18 16:58 Sebastian Parborg
  0 siblings, 0 replies; 2+ messages in thread
From: Sebastian Parborg @ 2011-08-18 16:58 UTC (permalink / raw
  To: gentoo-commits

commit:     ee10d4a1c8662ca8564be77ad557b0ac291eb957
Author:     Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
AuthorDate: Thu Aug 18 16:57:53 2011 +0000
Commit:     Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
CommitDate: Thu Aug 18 16:57:53 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/ebuildgen.git;a=commit;h=ee10d4a1

Fixed href to point to gentoo.org and not "/"!

---
 website/ebuildgenerator.html |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/website/ebuildgenerator.html b/website/ebuildgenerator.html
index 3156265..67db917 100644
--- a/website/ebuildgenerator.html
+++ b/website/ebuildgenerator.html
@@ -2,7 +2,7 @@
 <html lang="en">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<link title="new" rel="stylesheet" href="/css/main.css" type="text/css">
+<link title="new" rel="stylesheet" href="http://www.gentoo.org/css/main.css" type="text/css">
 <link REL="shortcut icon" HREF="/favicon.ico" TYPE="image/x-icon">
 <link rel="search" type="application/opensearchdescription+xml" href="http://www.gentoo.org/search/www-gentoo-org.xml" title="Gentoo Website">
 <link rel="search" type="application/opensearchdescription+xml" href="http://www.gentoo.org/search/forums-gentoo-org.xml" title="Gentoo Forums">
@@ -14,7 +14,7 @@
   Ebuild Generator GSoC 2011</title>
 </head>
 <body style="margin:0px;" bgcolor="#ffffff"><table width="100%" border="0" cellspacing="0" cellpadding="0">
-<tr><td valign="top" height="125" bgcolor="#45347b"><a href="/"><img border="0" src="/images/gtop-www.jpg" alt="Gentoo Logo"></a></td></tr>
+<tr><td valign="top" height="125" bgcolor="#45347b"><a href="http://www.gentoo.org/"><img border="0" src="http://www.gentoo.org/images/gtop-www.jpg" alt="Gentoo Logo"></a></td></tr>
 <tr><td valign="top" align="right" colspan="1" bgcolor="#ffffff"><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr>
 <td width="99%" class="content" valign="top" align="left">
 <br><h1>Ebuild Generator GSoC 2011</h1>



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-08-18 16:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-17 12:05 [gentoo-commits] proj/ebuildgen:master commit in: website/ Sebastian Parborg
  -- strict thread matches above, loose matches on Subject: below --
2011-08-18 16:58 Sebastian Parborg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox