FOSSLC is a non-profit organization that specializes in technology and know-how to record conferences with excellent quality. Click on the icons below to view great videos from communities we are actively involved with:

 

Build System Research

14 Oct in Packaging, Freeseer
Freeseer

I have continued my research into different build systems that could make it easier to build Freeseer for the future. I spent today researching GNU's Autotools and I created some notes that can be found under my fork of Freeseer under ./docs/Autotools-Notes/. These include my summary of two excellent tutorials that explain how to setup a project for use with Autotools along with an in-depth pdf guide explaining additional features and configuration options of Autotools.

After reviewing the various uses of Autotools, I believe it does not fit for the Freeseer project. Autotools is more focused towards compiled software through the use of C and C++ along with tracking dependencies. For our needs, Freeseer only needs minimal compilation (two files) and three make files. Cmake followed the similar line of reasoning; this build system is geared towards compiling a lot of files and making them distributed across many platforms.

These two systems definitely might hold some potential for the Ingres project team.

The rest of this week, I will be investigating Python specific build systems -- distutils and setuptools.

Jaymes Bearden

PS: I sent an email to the mailing list about this issue but having this available through Google search might help other people, so I will include this information here:

I ran into an interesting error when I attempted to do a git push just now:

tripp@tripp-laptop:~/dev/Freeseer$ git push
Password:
Counting objects: 9, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (7/7), done.

error: RPC failed; result=22, HTTP code = 411

Writing objects: 100% (7/7), 1.22 MiB | 983 KiB/s, done.
Total 7 (delta 2), reused 0 (delta 0)

I Googled the error (git push RPC failed; result=22, HTTP code=411) and
found that people were having issues with Github and https. I originally
setup my fork's remote to use the https url as follows: https://jaymes-bearden@github.com/jaymes-bearden/freeseer.git.

tripp@tripp-laptop:~/dev/Freeseer$ git remote -v show
main    http://github.com/fosslc/freeseer.git (fetch)
main    http://github.com/fosslc/freeseer.git (push)

origin    https://jaymes-bearden@github.com/jaymes-bearden/freeseer.git (fetch)
origin    https://jaymes-bearden@github.com/jaymes-bearden/freeseer.git (push)

The fix was to simply change to using SSH authentication and
transfer. I already had SSH generated keys that I use for other things,
so I imported my public key into my global settings at github. After you
login to Github, you add an ssh key through Account Settings | SSH
Public Keys. You'll want to put ~/.ssh/id_rsa.pub in there.

After that, grab the SSH URI from your Fork's project page under the source tab. It will be in the following form:

git@github.com:jaymes-bearden/freeseer.git

Next, change your remote as follows:
tripp@tripp-laptop:~/dev/Freeseer$

git remote set-url origin git@github.com:jaymes-bearden/freeseer.git

tripp@tripp-laptop:~/dev/Freeseer$ git remote -v show
main    http://github.com/fosslc/freeseer.git (fetch)
main    http://github.com/fosslc/freeseer.git (push)

origin    git@github.com:jaymes-bearden/freeseer.git (fetch)
origin    git@github.com:jaymes-bearden/freeseer.git (push)

Hopefully this might help someone in the future :)