Hi, I created an ebuild to install ulogd 0.97. This is the userspace logging daemon for ULOG targets in iptables. I didn't see any existing ebuilds which install ulogd. This is my first ebuild so plenty of feedback is appreciated. jim
Created attachment 1020 [details] ulogd-0.97.ebuild
The attachment is actully a tar.gz file that includes a script for rc-update so that ulogd can be started and stopped.
Hi James I have comitted an ebuild. You have asked for comments, you'll get them ;) Well, actually the best thing to do would be for you to look into the ebuild as it made its way in. Few remarks: 1. What was the idea behind this S=${WORKDIR}/${PN/-v3/3x} line? PN==ulogd in this case, I do not see anything being replaced. Besides doing standart assignment: S=${WORKDIR}/${P} works just fine. Thus your setting is incorrect and as a result you needed to cd ${S} in the beginning of every function. 2. ./configure is a crytical step and should be followed by ||die 3. you missed "/" in --prefix=/usr and thus had to do that sed trick (which is unnecessary) 4. dosc were not installed Generally, you should have used skel.ebuild as a template, that would eliminated few of these problems. Still, a good start! Keep up your submissions :) George
Thanks for the response. I haven't done any C/C++ programming for about 10 years so I'm fairly unfamiliar with most C/C++ build processes (I've done Java the past 4 years and MUMPS-like code for years before that). But I can cut and paste with the best of them. :) 1. I think this was a side effect of copying another ebuild and mimicing (sp) what they did. I think I have to go in the ulogd-0.97 directory within ${S} for the build to work. What's the appropriate way to do this? 2. Makes sense. 3. Knowledge gap. Specifically what should the line look like? I'm not familiar enough with the build process to know where it should go and what it should look like. 4. I'm not sure how to install the docs. They're being built but don't look like man pages. Where should they go? Also, should the CFLAGS from make.conf be substituted somewhere? Thanks, jim
Ok, I did an emerge rsync and saw what you changed. It makes more sense now. Thanks. I'll start with skel.ebuild next time. I just took an existing one and modified it.
Quick responce WRT CFLAGS: normally you should not do anything, they are passed to ebuild as specified in that usual chain (make.defaults, make.conf, command-line). Sometimes it is undesirable to have too much or too little (yes, that happens ;)) optimization or some specific flag is know to break things. Then you need to mangle CGLAGS - to force include/exclude of certain options. BTW, best way to learn about some specific feature is to grep for it through ebuilds (like: grep -Hrne "feature" /usr/portage or find /usr/portage -iname "*.ebuild"|xargs grep -le "feature"...) George