Hi there all,... Im putting together a port of busybox for the NetBSD
pkgsrc package manager.
I've put it in /usr/pkgsrc/sysutils/busybox please
comment on this if you feel this is the wrong place.
Below is my Makefile, it downloads the package from the net and
builds no problem.
My issue is with taking the finished build and wrapping it up in a
package. I just cant figure it out.
Also I know that the Makefile isn't 100% correct (but it works), so
any advice would be appreciated, its the first time Ive used pkgsrc.
======================== Makefile ========================
# $NetBSD$
#
DISTNAME= busybox-1.3.1
#PKGNAME= busybox-1.3.1
CATEGORIES= sysutils
MASTER_SITES= http://busybox.net/downloads/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= ross%goal.co.za@localhost
HOMEPAGE= http://busybox.net/
COMMENT= The "Swiss Army Knife" of embedded Linux
USE_TOOLS+= gmake
>
HAS_CONFIGURE= NO
CONFIGURE_SCRIPT= gmake defconfig
.include "../../mk/bsd.pkg.mk"
======================== Makefile ========================
After running:
bmake clean clean-depends
bmake
The busybox package builds no problem and produces a 100% fully working binary!
It places the "install tree" in
/usr/pkgsrc/sysutils/busybox/work/busybox-1.3.1/_install
and if I run the tree command in that directory I get the following:
======================== install tree ========================
root@seyos-devel:/usr/pkgsrc/sysutils/busybox/work/busybox-1.3.1/_install# tree
.
|-- bin
| |-- addgroup -> busybox
| |-- adduser -> busybox
| |-- bbconfig -> busybox
| |-- busybox
| |-- cat -> busybox
| |-- catv -> busybox
| |-- chattr -> busybox
| |-- chgrp -> busybox
| |-- chmod -> busybox
| |-- chown -> busybox
| |-- cp -> busybox
| |-- cpio -> busybox
| |-- date -> busybox
| |-- dd -> busybox
| |-- delgroup -> busybox
| |-- deluser -> busybox
| |-- df -> busybox
| |-- dmesg -> busybox
| |-- dumpkmap -> busybox
| |-- echo -> busybox
| |-- ed -> busybox
| |-- egrep -> busybox
| |-- false -> busybox
| |-- fdflush -> busybox
| |-- fgrep -> busybox
| |-- getopt -> busybox
| |-- grep -> busybox
| |-- gunzip -> busybox
| |-- gzip -> busybox
| |-- hostname -> busybox
| |-- ip -> busybox
| |-- ipaddr -> busybox
| |-- ipcalc -> busybox
| |-- iplink -> busybox
| |-- iproute -> busybox
| |-- iprule -> busybox
| |-- iptunnel -> busybox
| |-- kill -> busybox
| |-- linux32 -> busybox
| |-- linux64 -> busybox
| |-- ln -> busybox
| |-- login -> busybox
| |-- ls -> busybox
| |-- lsattr -> busybox
| |-- mkdir -> busybox
| |-- mknod -> busybox
| |-- mktemp -> busybox
| |-- more -> busybox
| |-- mount -> busybox
| |-- mountpoint -> busybox
| |-- mt -> busybox
| |-- mv -> busybox
| |-- netstat -> busybox
| |-- nice -> busybox
| |-- pidof -> busybox
| |-- ping -> busybox
| |-- ping6 -> busybox
| |-- pipe_progress -> busybox
| |-- printenv -> busybox
| |-- ps -> busybox
| |-- pwd -> busybox
| |-- rm -> busybox
| |-- rmdir -> busybox
| |-- rpm -> busybox
| |-- run-parts -> busybox
| |-- sed -> busybox
| |-- setarch -> busybox
| |-- sleep -> busybox
| |-- stat -> busybox
| |-- stty -> busybox
| |-- su -> busybox
| |-- sync -> busybox
| |-- tar -> busybox
| |-- touch -> busybox
| |-- true -> busybox
| |-- umount -> busybox
| |-- uname -> busybox
| |-- uncompress -> busybox
| |-- usleep -> busybox
| |-- vi -> busybox
| |-- watch -> busybox
| `-- zcat -> busybox
|-- linuxrc -> bin/busybox
|-- sbin
| |-- adjtimex -> ../bin/busybox
| |-- fdisk -> ../bin/busybox
| |-- freeramdisk -> ../bin/busybox
| |-- fsck -> ../bin/busybox
| |-- fsck.minix -> ../bin/busybox
| |-- getty -> ../bin/busybox
| |-- halt -> ../bin/busybox
| |-- hdparm -> ../bin/busybox
| |-- hwclock -> ../bin/busybox
| |-- ifconfig -> ../bin/busybox
| |-- ifdown -> ../bin/busybox
| |-- ifup -> ../bin/busybox
| |-- init -> ../bin/busybox
| |-- insmod -> ../bin/busybox
| |-- klogd -> ../bin/busybox
| |-- loadkmap -> ../bin/busybox
| |-- logread -> ../bin/busybox
| |-- losetup -> ../bin/busybox
| |-- lsmod -> ../bin/busybox
| |-- makedevs -> ../bin/busybox
| |-- mdev -> ../bin/busybox
| |-- mkfs.minix -> ../bin/busybox
| |-- mkswap -> ../bin/busybox
| |-- modprobe -> ../bin/busybox
| |-- nameif -> ../bin/busybox
| |-- pivot_root -> ../bin/busybox
| |-- poweroff -> ../bin/busybox
| |-- raidautorun -> ../bin/busybox
| |-- reboot -> ../bin/busybox
| |-- rmmod -> ../bin/busybox
| |-- route -> ../bin/busybox
| |-- runlevel -> ../bin/busybox
| |-- setconsole -> ../bin/busybox
| |-- start-stop-daemon -> ../bin/busybox
| |-- sulogin -> ../bin/busybox
| |-- swapoff -> ../bin/busybox
| |-- swapon -> ../bin/busybox
| |-- switch_root -> ../bin/busybox
| |-- sysctl -> ../bin/busybox
| |-- syslogd -> ../bin/busybox
| |-- udhcpc -> ../bin/busybox
| |-- vconfig -> ../bin/busybox
| |-- watchdog -> ../bin/busybox
| `-- zcip -> ../bin/busybox
`-- usr
|-- bin
| |-- [ -> ../../bin/busybox
| |-- [[ -> ../../bin/busybox
| |-- ar -> ../../bin/busybox
| |-- arping -> ../../bin/busybox
| |-- awk -> ../../bin/busybox
| |-- basename -> ../../bin/busybox
| |-- bunzip2 -> ../../bin/busybox
| |-- bzcat -> ../../bin/busybox
| |-- cal -> ../../bin/busybox
| |-- chpst -> ../../bin/busybox
| |-- chvt -> ../../bin/busybox
| |-- cksum -> ../../bin/busybox
| |-- clear -> ../../bin/busybox
| |-- cmp -> ../../bin/busybox
| |-- comm -> ../../bin/busybox
| |-- crontab -> ../../bin/busybox
| |-- cut -> ../../bin/busybox
| |-- dc -> ../../bin/busybox
| |-- deallocvt -> ../../bin/busybox
| |-- diff -> ../../bin/busybox
| |-- dirname -> ../../bin/busybox
| |-- dos2unix -> ../../bin/busybox
| |-- du -> ../../bin/busybox
| |-- dumpleases -> ../../bin/busybox
| |-- eject -> ../../bin/busybox
| |-- env -> ../../bin/busybox
| |-- envdir -> ../../bin/busybox
| |-- envuidgid -> ../../bin/busybox
| |-- ether-wake -> ../../bin/busybox
| |-- expr -> ../../bin/busybox
| |-- fdformat -> ../../bin/busybox
| |-- find -> ../../bin/busybox
| |-- fold -> ../../bin/busybox
| |-- free -> ../../bin/busybox
| |-- ftpget -> ../../bin/busybox
| |-- ftpput -> ../../bin/busybox
| |-- fuser -> ../../bin/busybox
| |-- head -> ../../bin/busybox
| |-- hexdump -> ../../bin/busybox
| |-- hostid -> ../../bin/busybox
| |-- id -> ../../bin/busybox
| |-- install -> ../../bin/busybox
| |-- ipcrm -> ../../bin/busybox
| |-- ipcs -> ../../bin/busybox
| |-- killall -> ../../bin/busybox
| |-- killall5 -> ../../bin/busybox
| |-- last -> ../../bin/busybox
| |-- length -> ../../bin/busybox
| |-- less -> ../../bin/busybox
| |-- loadfont -> ../../bin/busybox
| |-- logger -> ../../bin/busybox
| |-- logname -> ../../bin/busybox
| |-- lzmacat -> ../../bin/busybox
| |-- md5sum -> ../../bin/busybox
| |-- mesg -> ../../bin/busybox
| |-- mkfifo -> ../../bin/busybox
| |-- nc -> ../../bin/busybox
| |-- nmeter -> ../../bin/busybox
| |-- nohup -> ../../bin/busybox
| |-- nslookup -> ../../bin/busybox
| |-- od -> ../../bin/busybox
| |-- openvt -> ../../bin/busybox
| |-- passwd -> ../../bin/busybox
| |-- patch -> ../../bin/busybox
| |-- printf -> ../../bin/busybox
| |-- readahead -> ../../bin/busybox
| |-- readlink -> ../../bin/busybox
| |-- realpath -> ../../bin/busybox
| |-- renice -> ../../bin/busybox
| |-- reset -> ../../bin/busybox
| |-- resize -> ../../bin/busybox
| |-- rpm2cpio -> ../../bin/busybox
| |-- rx -> ../../bin/busybox
| |-- seq -> ../../bin/busybox
| |-- setkeycodes -> ../../bin/busybox
| |-- setsid -> ../../bin/busybox
| |-- setuidgid -> ../../bin/busybox
| |-- sha1sum -> ../../bin/busybox
| |-- softlimit -> ../../bin/busybox
| |-- sort -> ../../bin/busybox
| |-- strings -> ../../bin/busybox
| |-- sum -> ../../bin/busybox
| |-- tail -> ../../bin/busybox
| |-- taskset -> ../../bin/busybox
| |-- tee -> ../../bin/busybox
| |-- telnet -> ../../bin/busybox
| |-- test -> ../../bin/busybox
| |-- tftp -> ../../bin/busybox
| |-- time -> ../../bin/busybox
| |-- top -> ../../bin/busybox
| |-- tr -> ../../bin/busybox
| |-- traceroute -> ../../bin/busybox
| |-- tty -> ../../bin/busybox
| |-- uniq -> ../../bin/busybox
| |-- unix2dos -> ../../bin/busybox
| |-- unlzma -> ../../bin/busybox
| |-- unzip -> ../../bin/busybox
| |-- uptime -> ../../bin/busybox
| |-- uudecode -> ../../bin/busybox
| |-- uuencode -> ../../bin/busybox
| |-- vlock -> ../../bin/busybox
| |-- wc -> ../../bin/busybox
| |-- wget -> ../../bin/busybox
| |-- which -> ../../bin/busybox
| |-- who -> ../../bin/busybox
| |-- whoami -> ../../bin/busybox
| |-- xargs -> ../../bin/busybox
| `-- yes -> ../../bin/busybox
`-- sbin
|-- chroot -> ../../bin/busybox
|-- crond -> ../../bin/busybox
|-- dhcprelay -> ../../bin/busybox
|-- dnsd -> ../../bin/busybox
|-- fakeidentd -> ../../bin/busybox
|-- fbset -> ../../bin/busybox
|-- httpd -> ../../bin/busybox
|-- inetd -> ../../bin/busybox
|-- rdate -> ../../bin/busybox
|-- readprofile -> ../../bin/busybox
|-- setlogcons -> ../../bin/busybox
|-- telnetd -> ../../bin/busybox
`-- udhcpd -> ../../bin/busybox
5 directories, 248 files
======================== install tree ========================
Which is EXACTLY what I want in my package!
The output of pkglint is the following:
======================== pkglint ========================
root@seyos-devel:/usr/pkgsrc/sysutils/busybox# pkglint
ERROR: DESCR: Must not be empty.
WARN: Makefile:17: HAS_CONFIGURE should be set to YES or yes.
WARN: Makefile:18: "gmake defconfig" is not a valid pathname.
1 errors and 2 warnings found
======================== pkglint ========================
Any advice on how to proceed?
Many thanks
Ross Cameron
abalour%gmail.com@localhost