The NM files contain all needed information to build and provide packages with the pakfire builder.
The file extension nm has some historical reasons. In the past the build system wasn't directly integrated into pakfire. It was shipped as a stand allone system called "Naoki" and NM stands for Naoki Makefile. After integration of Naoki into pakfire, to share code we decided to keep the old nm extension.
Every NM file is splitted into tree seperate parts or blocks, which contain a lot of Basic, Build and Packaging information.
![]() |
Header | The Header contains all basic information about a package |
![]() |
Build | This part contains build information and commands |
![]() |
Packages | This section contains everything to generate the final packages |
A typically NM file looks like the following example:
############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team <info@ipfire.org> # ############################################################################### name = flex version = 2.5.35 release = 3 groups = Development/Tools url = http://flex.sourceforge.net/ license = BSD summary = A tool for creating scanners (text pattern recognizers). description The flex program generates scanners. Scanners are programs which can \ recognize lexical patterns in text. Flex takes pairs of regular \ expressions and C code as input and generates a C source file as \ output. The output file is compiled and linked with a library to \ produce an executable. The executable searches through its input for \ occurrences of the regular expressions. When a match is found, it \ executes the corresponding C code. Flex was designed to work with \ both Yacc and Bison, and is used by many programs as part of their \ build process. end source_dl = sources = %{thisapp}.tar.bz2 build requires bison gcc-c++ m4 end keep_libraries = /usr/lib/libfl_pic.a configure_options += \ --mandir=/usr/share/man test make check end install_cmds echo "#!/bin/sh" > %{BUILDROOT}/usr/bin/lex echo "exec /usr/bin/flex -l \"$$@\"" >> %{BUILDROOT}/usr/bin/lex chmod 755 %{BUILDROOT}/usr/bin/lex end end packages package %{name} requires = m4 end package %{name}-devel template DEVEL end end
Older Revisions • January 7, 2020 at 3:49 am • Jon