When I first started developing aprsdigi (in the late 1990's!), I had a dual-boot Intel laptop running some linux distro (most recently Fedora Core). I had been deploying on real hardware (servers located at various radio tower sites) using Cobbler and a crossover Ethernet cable between the laptop and the server being installed.
My current development hardware is a Mac OS X laptop and I am trying to modernize and virtualize development using tools like vagrant, git, puppet, razor, etc. and thought I would document my environment here as a reminder to me and as a means for others to potentially develop and package aprsdigi.
I use Virtualbox for the VM infrastructure and Vagrant to configure those VMs. Because I'm paranoid (foolish), I didn't want to use the pre-built boxes from Hashicorp, instead preferring to build my boxes from a known vanilla CentOS distro. Then, when I'm finally ready to deploy aprsdigi on real hardware, I can use razor to deploy basically the same distro.
I want something based on vanilla CentOS 7.1 with the latest updates installed. I do this with packer and [CentOS boxcutter] (https://github.com/boxcutter/) templates. It should be pretty easy to use other distro templates to similarly build aprsdigi.
git clone https://github.com/boxcutter/centos.git
cd centos
cat >Makefile.local <<EOF
CM=puppet
UPDATE=true
EOF
make virtualbox/centos71
make test-virtualbox/centos71
make ssh-virtualbox/centos71
vagrant box add centos71-puppetlatest-1.0.17 box/virtualbox/centos71-puppetlatest-1.0.17.box
Using the CentOS 7.1 image created with packer and boxcutter, now configure a Vagrantfile that uses a shell bootstrap and login:
vagrant up
vagrant ssh
Last login: Sat Jun 20 17:39:07 2015 from 10.0.2.2
Welcome to your Packer-built virtual machine.
[vagrant@localhost ~]$ cd /vagrant
Unlike in Fedora Core, the ax25 libraries and tools are not available in any repo I was able to find for EPEL. The [linux ax25 "unofficial" distros] (https://linuxax25.googlecode.com) do seem to work. See the shell bootstrap for details.
Aprdigi (and the RPM SPEC file I use to package it) is built using the [GNU autotools] (https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html).
Automake, aclocal, configure, etc. need to be configured and run so as to have a proper Makefile. See the following configuration files:
aclocal
automake --add-missing
autoconf
./configure
make
Here's what I do to build the RPMs:
cd
mkdir -p rpmbuild/SOURCES
wget -o rpmbuild/SOURCES/aprsdigi-3.10.0.tar.gz https://github.com/n2ygk/aprsdigi/archive/v3.10.0.tar.gz
rpmbuild -ba rpmbuild/SPECS/aprsdigi.spec