pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [GLUG-tech] busybox port to NetBSD pkgsrc



On Tue, 2007-01-09 at 20:54 +0200, Ross Cameron wrote:
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

Here's a wild shot in the dark:

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
DESCR=                  The "Swiss Army Knife" of embedded Linux

USE_TOOLS+=             gmake
>

HAS_CONFIGURE= YES
CONFIGURE_SCRIPT= /usr/bin/gmake defconfig



Take a look @ one of the other ports, and see what these entries have. If you have done so already, try another port :)

hth


-- 

Kind Regards
Rudi Ahlers
SoftDux CEO
Web:    http://www.SoftDux.com
Forum:  http://Forum.SoftDux.com


Home | Main Index | Thread Index | Old Index