• Stars
    star
    105
  • Rank 328,196 (Top 7 %)
  • Language
    Erlang
  • Created over 16 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Jungle of Erlang code
How to use the Jungerl
======================================================================

Simple! You just do 'make' to build all the erlang programs.

If you want, you can add the bin/ directory to your $PATH, and use the
useful programs in there. One is 'jerl', a simple wrapper around 'erl'
that adds all the Jungerl applications to the code path.

If a program is giving you trouble, just put an empty file called SKIP
in its top-level directory. For example, if you want to skip the
'tuntap' program, you can do: touch lib/tuntap/SKIP

If you want to compile only one program or library, you can just do 'make conf'
and then type make in the lib/PROGRAMNAME directory of your choice.

How to add an application to the Jungerl
======================================================================

Each application has its own directory called lib/<appname>.

The absolute minimum requirement for an application is to have a
Makefile in the lib/<appname> directory with two targets:

  'all' should build the program.

  'clean' should delete any object files.

Realistically, your lib/<appname>/ dir should also have any of these
subdirectories that are appropriate:

  src/   containing erlang sources

  ebin/  for putting compiled beam files

  c_src/ containing C sources

  priv/  containing files you want at runtime (e.g. built from c_src)

  doc/   (not sure what this is for..)

Once you have created your application, you should edit the 'lib/'
directory Makefile like this:

  Add your <appname> to the "LIBS" variable.

  If you depend on other applications, add a line that says so. (These
  are down near the bottom.)

Note that Applications in the Jungerl should be compatible with the
latest released version of Erlang/OTP!


Makefile Helpers
----------------------------------------------------------------------

The support/ directory contains a couple of useful include files for
your Makefiles:

  subdirs.mk: Intended for your lib/<appname>/ directory, this defines
    targets for 'all' and 'clean' that just cd into $(SUBDIRS) (by
    default c_src and src) and does the same "make" in each of them.

  include.mk: This defines a bunch of useful things for building C and
    Erlang programs. For C it has 'configure'-detected CC and CFLAGS
    variables, and ERL_C_INCLUDE_DIR for
    <prefix>/lib/erlang/usr/include/ (e.g. for writing drivers)

    For Erlang it has a 'configure'-detected ERLC, an
    automatically-detected list of beam files to build (../ebin/*.beam
    for all *.erl files) called ERL_OBJECTS, and
    automatically-detected list of headers they depend on (*.hrl and
    ../include/*.hrl) called ERL_HEADERS, and an implicit rule for
    building ../ebin/*.beam from *.erl.

That probably wasn't very clear, but if you look at how the 'tuntap'
program's Makefiles are done then it should be obvious!

More Repositories

1

keyctl_keyscript

Password caching script for multiple luks volumes
Shell
58
star
2

libowfat

[MIRROR] Reimplement libdjb under GPL
C
44
star
3

sslpoke

Tool to test SSL connections from within the java VM (with http proxy support)
Java
29
star
4

teach-seccomp

Using simple seccomp filters
C
26
star
5

go-fileupload-example

Go
20
star
6

passhash

Commandline Utility To Create Secure Password Hashes (scrypt / bcrypt / pbkdf2)
Go
16
star
7

debianpaste-clients

Client for paste.debian.net Service
Python
9
star
8

check-receiver

Daemon to receive nagios/icinga/check-mk results pushed through https/http
Go
9
star
9

co2exporter

Prometheus exporter for co2 sensors
Python
7
star
10

devolo-cli

Small cli for devolo powerlan adapters
Python
6
star
11

scryptauth

scryptauth is a go / golang library for secure password handling
Go
6
star
12

fs-test

Filesystem semantic checker
C
6
star
13

thc-ipv6

THC IPV6 TOOLKIT
C
6
star
14

checkmk-agent-hp

Check_MK agent plugins for HP Servers - DORMANT
Shell
6
star
15

ooopy

OOoPy is a library in Python for inspecting, creating or modifying OpenOffice.org documents. It uses the existing ElementTree XML library by for manipulation of the OOo XML.
Python
6
star
16

checkmk

Check_MK plugin repository.
Python
4
star
17

sun-java6

Oracle Java Debian Package Builder For Java Version 6 - ABANDONED - use java-package/make-jpkg instead
Shell
4
star
18

nnp

Utility using the "No New Privileges" Mechanism in newer Linux kernels
C
4
star
19

container-zoo

Various Dockerfiles i use or used
Dockerfile
3
star
20

python-rfc3161

Python implementation of the RFC3161 specification, using pyasn1
Python
3
star
21

runit-toolkit

runit service snippets
Python
3
star
22

lvsnapshot

Easily manage lvm snapshots including mountpoints
2
star
23

nagios_checks

Zoo of possible slightly modified internal used nagios checks
Perl
2
star
24

dirvish-stats

Efficiently determining used diskspace from hardlinked dirvish backups with persistent cache
Python
2
star
25

multipath-tools

devmapper multipath target userland tools
C
1
star
26

gitosis

Software for hosting git repositories
Python
1
star
27

ptail

Python based tail (initially for tail-f through http)
Python
1
star
28

csv-test

csv test programs in various languages including evil csv input
Go
1
star
29

rebar-templates

Templates for erlang rebar tool
1
star