----- Forwarded message from "Joseph S. Barrera III" <j...@barrera.org> -----

From: "Joseph S. Barrera III" <j...@barrera.org>
Date: Fri, 11 Jan 2013 22:19:29 -0800
To: Friends of Rohit Khare <f...@xent.com>
Subject: [FoRK] Raise your hand if you rate minimum LOC as an important
        metric
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
        rv:17.0) Gecko/20130107 Thunderbird/17.0.2
Reply-To: j...@barrera.org, Friends of Rohit Khare <f...@xent.com>

I'm currently trying to replace a (piece of build software) that requires > 
100 KLOC C++/rpm spec files/etc with something that uses <= 1 KLOC python.

I'm getting intense opposition from (person*) because my solution does not 
use "existing best practices" but is instead home-grown.

But the so-called "existing best practices" include a 40 KLOC port of apt 
(debian tool) to RPM/RHEL (?!) which has not been supported for many  
years.

It also includes many lines of rpm *.spec files. The previous developer  
likes to claim that since he is using RPM, he gets relocatability for  
free. But he doesn't use %post (which would be invoked at install, after  
build), and everything he does at build-time, I already do as well.

My build system has lines like (and this includes test of functionality,  
hence the occasional second parameter which indicates a non-obvious python 
import):

    env.build_python('virtualenv')
    env.build_python('kerberos')
    env.build_python('paramiko')
    env.build_python('poster')
    env.build_python('urllib2_kerberos', 'urllib2')
    env.build_python('pyfits')

    # (these are the complicated cases)

    b = package(env, 'tables')
    if not b.installed():
        b.extract()
        hdf5_dir = b.get_absolute_install_dir('hdf5')
        b.setup_build('--hdf5=%s' % hdf5_dir)
        b.setup_install('--hdf5=%s' % hdf5_dir)
        b.check_import()

    b = package(env, 'sip')
    if not b.installed():
        b.extract()
b.configure_py('-e %s/include/%s' % (b.absolute_install_dir, env.python))
        b.make()
        b.make_install()
        b.check_import()

The typical spec file in the old system is ~100 lines. Many of my build  
lines are single-liners and the rest are ~ 10 lines.

The RPM proponent is very vocal and has great political advantage.

Any advice or help?

Thanks,

- Joe

_______________________________________________
FoRK mailing list
http://xent.com/mailman/listinfo/fork

----- End forwarded message -----
-- 
Eugen* Leitl <a href="http://leitl.org";>leitl</a> http://leitl.org
______________________________________________________________
ICBM: 48.07100, 11.36820 http://www.ativel.com http://postbiota.org
8B29F6BE: 099D 78BA 2FD3 B014 B08A  7779 75B0 2443 8B29 F6BE

Reply via email to