-
Notifications
You must be signed in to change notification settings - Fork 52
Contributing to Optware ng
This page briefly describes how you can contribute your patches to Optware-ng. For some starter guidelines on creating new packages see Adding a package to Optware ng
Official Optware-ng build machine (see http://jenkins.nas-admin.org/view/Optware) runs 64bit Ubuntu 14.04LTS with following modifications:
- Additional packages installed:
ant build-essential git subversion cvs openjdk-7-jre openjdk-7-jdk texinfo m4 libglib2.0-dev flex bison yasm libxml2-dev ruby intltool unicode-data rcs gperf python-mako scons itstool libxml2-utils icon-naming-utils g++-multilib doxygen libgdk-pixbuf2.0-dev txt2man xmlto xsltproc docbook docbook-xsl asciidoc gcj-jdk cmake libncurses5-dev libx11-dev fakechroot
- java 8 from oracle:
sudo add-apt-repository ppa:webupd8team/java
&sudo aptitude install oracle-java8-installer
- texinfo 4.13a built from source: http://ftp.gnu.org/gnu/texinfo/texinfo-4.13a.tar.gz
- This run as root
for f in $(cd /usr/lib/x86_64-linux-gnu; ls *crt*.o); do ln -s x86_64-linux-gnu/${f} /usr/lib/${f}; done
. This is needed for old emacs host build.
You can either clone Optware-ng sourcecode directly with git clone https://github.com/Optware/Optware-ng.git
, or, if you plan to contribute to Optware-ng:
- Create yourself a github account, if you haven't got one already
- Fork Optware-ng repo
- Pull your fork with
git clone https://github.com/<you>/Optware-ng.git
- Push your local changes to your fork
- Send pull request(s) to Optware-ng
I can highly recommend smartgit as a git client with good github support. See here for a simple way to install it on Ubuntu
From your cloned Optware-ng source tree run these commands to setup a target:
$ make <platform>-target
$ cd <platform>; make directories toolchain ipkg-utils
where <platform>
is one of these: https://github.com/Optware/Optware-ng/blob/master/Optware_targets_list
All further commands should be issued from <platform>
dir.
Official build machine currently has 10 Cores and runs builds with make -j10
. Most of the Optware-ng packages respect -j
make switch and build with as many parallel jobs as requested, so you can make paralleled builds as well by appending make
command with -j<jobs>
.
$ make <package1> <package2> ...
$ make <package1>-ipk <package2>-ipk ...
$ make index
This will copy all built ipks to packages
dir and index them (create Packages*
indexes)
$ make
This will first make ipks for all packages for the target, and then index them. After successful build feed will be available in packages
dir.