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 <gentoo-soc+bounces-1355-garchives=archives.gentoo.org@lists.gentoo.org>) id 1QVSA2-0003On-Pk for garchives@archives.gentoo.org; Sat, 11 Jun 2011 17:39:51 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 991591C085; Sat, 11 Jun 2011 17:39:32 +0000 (UTC) Received: from mail-yi0-f53.google.com (mail-yi0-f53.google.com [209.85.218.53]) by pigeon.gentoo.org (Postfix) with ESMTP id 63EF21C085 for <gentoo-soc@lists.gentoo.org>; Sat, 11 Jun 2011 17:39:32 +0000 (UTC) Received: by yic15 with SMTP id 15so2098547yic.40 for <gentoo-soc@lists.gentoo.org>; Sat, 11 Jun 2011 10:39:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=izvse3kSh6Rxv2+1APvIqCZ7hiUz05HBLKuv+bY5LWs=; b=Rqkv5zdFzRa7xoU3+mXNG54x4RwKIC0IpHWzyj72DqZXS0/e68u/qYHX734BC0t6t3 MXqcsub4kb8rceh45z7y7tEmRRuY10liLo/QbC2csDslFhn32T+hQyB6Kx98wXtTYQs+ plGqEa/KMaq56UTHQvHiXFI8CSEtOaL5EidXQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=CwHutj3E2DuTDLPnber8KFKlBUOPm7hdjU4Nfzpe76wPhZjF5DYszGNc2r1g5DXYKb b9HzWz4IAkgrOrbdYkLtmbFsIxINpimcmlIZn2S0AhtoRKSU4/NcfO57f0OyQI4lCfm1 7c0SkWe15QS7T3rxhPCwFuti8wy5wSPHBTOmo= Precedence: bulk List-Post: <mailto:gentoo-soc@lists.gentoo.org> List-Help: <mailto:gentoo-soc+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-soc+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-soc+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-soc.gentoo.org> X-BeenThere: gentoo-soc@lists.gentoo.org Reply-to: gentoo-soc@lists.gentoo.org MIME-Version: 1.0 Received: by 10.150.193.12 with SMTP id q12mr4066690ybf.9.1307813971777; Sat, 11 Jun 2011 10:39:31 -0700 (PDT) Received: by 10.151.26.19 with HTTP; Sat, 11 Jun 2011 10:39:31 -0700 (PDT) Date: Sat, 11 Jun 2011 19:39:31 +0200 Message-ID: <BANLkTikXOTXCJpc0QLrML04BV335a3Z3Lw@mail.gmail.com> Subject: [gentoo-soc] Ebuild generator week 4 update From: Sebastian Parborg <darkdefende@gmail.com> To: gentoo-soc@lists.gentoo.org Content-Type: text/plain; charset=ISO-8859-1 X-Archives-Salt: X-Archives-Hash: 676ce4165076913ebf48bff85f82adb2 This week I've come really close to generate a actual ebuild for the "doneyet" project. So soon my ebuild generator will actually generate ebuild and not just gather information about the packages. I've managed to solve the problem I've had last week with how I should store the information that I get from the makefiles. At first I thought that it would be good to have a huge list with all the targets -> dependencies linked so that it would have a tree structure. But after I've made some prototypes I thought that it would be to cumbersome so instead I create multiple lists with (kinda like the structure in the makefile itself) so that I can link them when needed and get access to all the deps and targets without having to search a huge tree list. To figure out what files I need to search for includes I look at the first target list (they are ordered in the order they are in the makefile), because it is the one that would be built when you just type "make", and then search for any *.o targets and return all files that the .o file target depends on. This also caused me to implement the first "try catch exception" in my program as files listed in the makefile might not exist. I didn't know makefiles allowed this... Anyhow, after that was done I implemented a .h file -> package "converter" with the help of qfile. I will change this later as you have to have all the deps for the program installed otherwise qfile is useless. Now I have begun working on the ebuild text output so I can finally put the information to use. I think I will make it to the deadline of my next milestone as I think I'm quite close right now. I would also like to have some input on a few things: 1. I would like my generator to be able to download the source archive for the project so you don't have to fill out the URL in the ebuildfile manually and for ease of use. But where should I download the unpack the files? I first thought that I should do it like portage and save the archive in distfile and unpack in where portage usually does. However to do this you have to be root and I don't know if it's a good idea or not. 2. How do I handle makefile projects that doesn't have an "install" target? For the doneyet project you only need to installed the compiled binary so I can just do "doexe" but I realize that you can't take that for granted. 3. Should I look for RDEPEND deps? Next week I plan to finish the "make, make install" project support, but I need more projects to test things out on so I know that I haven't overlooked anything! So if you have any "good and simple" makefile project please post them here.