On Thu, Feb 9, 2012 at 9:57 AM, Bruce N <[email protected]> wrote: > I noticed that RPM packages of Asterisk downloaded from Digium repository > installs DAHDI on a VPS just fine without the need to tamper the mother > node (install DAHDI on mother node first). However, when installing > Asterisk from source one has to install DAHDI drivers on the mother node > first to make it available to the VPS. That is something I would like to > avoid. So, I want to build my own custom Asterisk RPM package but it's the > first time for me and need some guidance from those who are familiar with > RPM package development. Digium repositories also do not include all > Asterisk features and add-ons (e.g. OOH323, etc...) hence I want to build > my own.
That's because some modules are build as submodules of the primary package. Look on http://packages.asterisk.org/centos/5/asterisk-1.8/x86_64/RPMS/ (for example) and you'll see the submodules that gives you the other modules, such as ooh323 that you mention. > My first question is if the building process requires me to install > Asterisk on a physical server with all features and then build the RPM? If > so, how does that package work on different type of hardware? I also don't > understand why a compiled version is able to get DAHDI running on a VPS > while same is not possible from a source install. You have to build for the hardware architecture that you're installing on. x86_64 can load both i386 and x86_64 build (both in terms of installation and of building). A 32-bit OS can only build 32-bit RPMs. Sometimes you can crosscompile and build, but if you're using something like mock, you do need the appropriate hardware to build on. I don't understand what you mean by install DAHDI on a VPS in regards to "compiled" or "source". An RPM is pre-compiled software, but the ability of the system to load or allow the loading of kernel modules is not circumvented by building an RPM. > My second question is if you know of any simple guides that can run me > through RPM building process on a RedHat (CentOS specifically) platform. I > am hoping this doesn't require me to write a lengthy install script. The install script is the .spec file, which is provided inside an .src.rpm which you can use to build the .src.rpm. Then you use the .src.rpm to build the installable .rpm. This is usually done via rpmbuild application. If you use mock, which I mentioned earlier, then the usage of mock deals with much of the build environment creation and the packaging for you. The "old way" is to install all the dependencies required to compile Asterisk on the box to "precompile" the software for the RPM. With mock the same thing happens, but you don't dirty the build environment since it is created each time you build the RPM. It took me about a week to go from not knowing anything about RPMs to building the spec files for my environment and using mock to build both DAHDI and Asterisk 1.4/1.8 RPMs for all the modules I required along with converting all our other spec files to being usable by mock to build all our RPMs (about 12 applications in total). Leif. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
