#!/bin/bash

homedir=`pwd`
prefix=$homedir/bin/rootfs
target=$homedir
build_dir=$homedir/../nas_build.standard
kversion=2.4.18

/bin/rm $prefix/home/httpd/* -rf
/bin/rm $prefix/etc/init.d/* -rf
########################################
# install init.d
######################################
cd $target/init.d
/sbin/dos2unix *
/bin/chmod 755 *
cp -f * $prefix/etc/init.d
cd $target

make -e prefix=$prefix install

###################################
# install index page to build_env
###################################
cd $target/rc/gen_index
make -e build=$build_dir install
cd $target

################################################
# install java filemanager_applet to build_env
################################################
cd $target/java
make -e prefix=$prefix install
cd $target

#####################
# install wlan
#######################
cd $target/driver/wlan
make -e prefix=$prefix install
cd $target

###################################################
# copy bridge-util
######################################
cd $target/open_source/bridge-utils/brctl
cp brctl $prefix/sbin
strip $prefix/sbin/brctl
cd $target

###################################################
# copy linux-wlan
######################################
cp $target/open_source/linux-wlan-ng-priv-0.1.10/src/p80211/p80211.o $prefix/lib/modules/2.4.18/misc
cp $target/open_source/linux-wlan-ng-priv-0.1.10/src/prism2/driver/prism2_pci.o $prefix/lib/modules/2.4.18/misc
cp $target/open_source/linux-wlan-ng-priv-0.1.10/src/prism2/download/prism2dl $prefix/sbin
cp $target/open_source/linux-wlan-ng-priv-0.1.10/src/wlanctl/wlanctl $prefix/sbin/wlanctl-ng
strip $prefix/sbin/prism2dl
strip $prefix/sbin/wlanctl-ng
cd $target

###################################################
# copy on_line_test
##################################################
cd $target/test_software/on_line_test/IN_NAS
make clean
make -e prefix=$prefix install
cd $prefix/sbin
ln -sf ../etc/logs/test test
cd $target

###################################################
# copy busybox
######################################
cd $target/open_source/busybox-0.60.1
cp busybox $prefix/bin
strip $prefix/bin/busybox
cd $target

#################################################
# copy LVM-tools
#################################################
cd $target/open_source/LVM/1.0.5/tools
cp vgchange vgcreate vgdisplay vgextend vgreduce vgremove vgscan lvchange lvcreate lvdisplay lvextend lvreduce lvremove pvcreate pvdisplay $prefix/sbin
strip $prefix/sbin/vgchange
strip $prefix/sbin/vgcreate
strip $prefix/sbin/vgdisplay
strip $prefix/sbin/vgextend
strip $prefix/sbin/vgreduce
strip $prefix/sbin/vgremove
strip $prefix/sbin/vgscan
strip $prefix/sbin/lvchange
strip $prefix/sbin/lvcreate
strip $prefix/sbin/lvdisplay
strip $prefix/sbin/lvextend
strip $prefix/sbin/lvreduce
strip $prefix/sbin/lvremove
strip $prefix/sbin/pvcreate
strip $prefix/sbin/pvdisplay
cp lib/liblvm-10.so.1.0 $prefix/lib
strip $prefix/lib/liblvm-10.so.1.0
cd $target

#################################################
# copy LVM driver and daemon
#################################################
cp $target/driver/lvm/driver/lvm-mod.o $prefix/lib/modules/2.4.18/misc
cp $target/driver/lvm/app/lvmd $prefix/sbin
strip $prefix/sbin/lvmd
/bin/chmod 644 $prefix/lib/modules/2.4.18/misc/lvm-mod.o
##################################################
# copy reiserfs utility
###################################################
#cp $target/open_source/reiserfsprogs-3.x.1b/mkreiserfs/mkreiserfs $prefix/sbin
#cp $target/open_source/reiserfsprogs-3.x.1b/fsck/reiserfsck $prefix/sbin
#cp $target/open_source/reiserfsprogs-3.x.1b/resize_reiserfs/resize_reiserfs $prefix/sbin
#strip $prefix/sbin/mkreiserfs
#strip $prefix/sbin/reiserfsck
#strip $prefix/sbin/resize_reiserfs
cd $target

##################################################
# copy ext2/ext3 utility
###################################################
cp $target/open_source/ext2resize-1.1.17/src/ext2resize $prefix/sbin
strip $prefix/sbin/ext2resize

###################################################
# copy tar
######################################
cd $target/open_source/tar-1.13.25
strip $target/open_source/tar-1.13.25/src/tar
make -e prefix=$prefix install
cd $target

###################################################
#copy mt
##################################################
cd $target/open_source/mt-st-0.7
strip $target/open_source/mt-st-0.7/mt
make -e prefix=$prefix install
cd $target

###################################################
# copy nfscopy
# this is compilered in support glibc 2.2x env
####################################################
cd $target/open_source/fileutils-4.1/src
strip cp
cp -avf cp $prefix/sbin/backupcopy
cd $target

###################################################
# copy ftpcopy
# this is compilered in support glibc 2.2x env
###################################################
#cd $target/open_source/ftpcopy-0.4.8/src
#strip ftpcopy
#strip ftpls
#cp -avf ftpcopy $prefix/sbin
#cp -avf ftpls $prefix/sbin
cd $target

####################################################
# copy ntpd
###################################################
cd $target/open_source/ntp-4.1.1/ntpd
strip ntpd
cp -avf ntpd $prefix/usr/sbin
cd $target/open_source/ntp-4.1.1/ntpdate
strip ntpdate
cp -avf ntpdate $prefix/usr/sbin
cd $target/open_source/ntp-4.1.1/ntpq
strip ntpq
cp -avf ntpq $prefix/usr/sbin

####################################################
# copy thttpd
####################################################
cd $target/open_source/thttpd
make -e prefix=$prefix install
cd $target

#######################################
# copy genpower for UPS
######################################
cd $target/open_source/genpower-1.0.2
make -e prefix=$prefix install
cd $target

#####################################################
# copy firewall ULOG open_source/ulogd-0.98
#####################################################
cd $target/open_source/ulogd-0.98
make -e prefix=$prefix install
cd $target

#######################################
# copy ddns client
######################################
cd $target/open_source/ez-ipupdate-3.0.10
strip ez-ipupdate
cp -avf ez-ipupdate $prefix/usr/sbin
cd $target

######################
# copy iptables
##########################
strip ./open_source/iptables-1.2.4/iptables
strip ./open_source/iptables-1.2.4/extensions/*.so
cp -avf $target/open_source/iptables-1.2.4/iptables $prefix/sbin
cp -avf $target/open_source/iptables-1.2.4/extensions/*.so $prefix/usr/local/lib/iptables

######################################################
# copy open_source/bind-src/(named & ndc & named-xfer)
######################################################
strip ./open_source/bind-src/bin/named/named
strip ./open_source/bind-src/bin/ndc/ndc
strip ./open_source/bind-src/bin/named-xfer/named-xfer
cp -avf $target/open_source/bind-src/bin/named/named $prefix/usr/sbin
cp -avf $target/open_source/bind-src/bin/ndc/ndc $prefix/usr/sbin
cp -avf $target/open_source/bind-src/bin/named-xfer/named-xfer $prefix/usr/sbin

#################################################
# change shell script mode to 755
#################################################
chmod 755 $prefix/etc/init.d/*
rm -f $prefix/etc/init.d/vssver.scc

###################################################
# copy open_source/samba-2.2.0
# this is compilered in support glibc 2.2x env
###################################################
cd $target/open_source/samba/source/bin
objcopy --strip-all smbd
cp -av smbd $prefix/usr/local/samba/sbin
objcopy --strip-all smbmount
cp -av smbmount $prefix/usr/bin

ln -sf /usr/local/samba/sbin/smbd $prefix/usr/local/samba/bin/smbstatus
ln -sf /usr/local/samba/sbin/smbd $prefix/usr/local/samba/bin/smbpasswd
ln -sf /usr/local/samba/sbin/smbd $prefix/usr/local/samba/sbin/nmbd
ln -sf /usr/bin/smbmount $prefix/usr/bin/smbmnt

###################################################
# copy open_source/samba-tng
###################################################
cd $target/open_source/samba-tng/source/bin
objcopy --strip-all nasrpc 
cp -av nasrpc $prefix/usr/local/samba/sbin

###################################################
# copy open_source/hc-cron-0.13
###################################################
cd $target/open_source/hc-cron-0.13
objcopy --strip-all cron 
cp -av cron $prefix/usr/sbin

###################################################
# copy netatalk-1.4B2+asun2.1.3
####################################################
# cd $target/open_source/netatalk-1.4B2+asun2.1.3/etc/afpd
# objcopy --strip-all afpd
# cp -av afpd $prefix/usr/sbin
#
# cd $target/open_source/netatalk-1.4B2+asun2.1.3/etc/atalkd
# objcopy --strip-all atalkd
# cp -av atalkd $prefix/usr/sbin
#
# cd $target/open_source/netatalk-1.4B2+asun2.1.3/bin/nbp
# objcopy --strip-all nbprgstr
# cp -av nbprgstr $prefix/usr/bin
#
# cd $target/open_source/netatalk-1.4B2+asun2.1.3/bin/nbp
# objcopy --strip-all nbpunrgstr
# cp -av nbpunrgstr $prefix/usr/bin

###################################################
# copy netatalk-1.6.4
####################################################
#cp -av $target/open_source/netatalk/etc/afpd/afpd $prefix/usr/sbin
#/usr/bin/strip $prefix/usr/sbin/afpd
#cp -av $target/open_source/netatalk/etc/atalkd/atalkd $prefix/usr/sbin
#/usr/bin/strip $prefix/usr/sbin/atalkd
#cp -av $target/open_source/netatalk/etc/papd/papd $prefix/usr/sbin
#/usr/bin/strip $prefix/usr/sbin/papd
#cp -av $target/open_source/netatalk/bin/nbp/nbprgstr $prefix/usr/bin
#/usr/bin/strip $prefix/usr/bin/nbprgstr
#cp -av $target/open_source/netatalk/bin/nbp/nbpunrgstr $prefix/usr/bin
#/usr/bin/strip $prefix/usr/bin/nbpunrgstr

#cp -av /lib/libcrypto.so.0.9.6b $prefix/lib
#cd $prefix/lib; rm libcrypto.so.2 -f; /bin/ln -sf libcrypto.so.0.9.6b libcrypto.so.2
#cp -av /lib/libdb-3.2.so $prefix/lib
#cd $prefix/usr/lib; rm libdb-3.2.so -f; /bin/ln -sf ../../lib/libdb-3.2.so libdb-3.2.so
#/bin/mkdir -p $prefix/lib/security
#cp -av /lib/security/pam_unix.so $prefix/lib/security

#/bin/mkdir -p $prefix/etc/pam.d
#cp -av $target/init.d/netatalk $prefix/etc/pam.d

#/bin/mkdir -p $prefix/usr/local/etc/netatalk
#/bin/mkdir -p $prefix/usr/local/etc/netatalk/uams
#cd $target/open_source/netatalk/etc/uams/.libs/
#cp -a uams_pam.a $prefix/usr/local/etc/netatalk/uams/
#cp -a ../uams_pam.la $prefix/usr/local/etc/netatalk/uams/
#cp -a uams_pam.so $prefix/usr/local/etc/netatalk/uams/
#cp -a uams_guest.a $prefix/usr/local/etc/netatalk/uams/
#cp -a ../uams_guest.la $prefix/usr/local/etc/netatalk/uams/
#cp -a uams_guest.so $prefix/usr/local/etc/netatalk/uams/
#cp -a uams_passwd.a $prefix/usr/local/etc/netatalk/uams/
#cp -a ../uams_passwd.la $prefix/usr/local/etc/netatalk/uams/
#cp -a uams_passwd.so $prefix/usr/local/etc/netatalk/uams/
#cd $prefix/usr/local/etc/netatalk/uams
#rm -f uams_clrtxt.so
#ln -sf uams_passwd.so uams_clrtxt.so

#cd $prefix/usr/local/etc/netatalk
#ln -sf /etc/atalk/etc/afpd.conf afpd.conf
#ln -sf /etc/atalk/etc/atalkd.conf atalkd.conf
#ln -sf /etc/atalk/etc/AppleVolumes.system AppleVolumes.system
#ln -sf /etc/atalk/etc/AppleVolumes.default AppleVolumes.default
#ln -sf /etc/atalk/etc/papd.conf papd.conf

###################################################
# copy netatalk-2.0
####################################################
#cd $target/open_source/netatalk-2.0-B2-QNAP
#make -e prefix=$prefix/usr/local install

cd $target/open_source/netatalk-2.0-B2-QNAP/etc/afpd
objcopy --strip-all afpd 
cp -av afpd $prefix/usr/sbin

cd $target/open_source/netatalk-2.0-B2-QNAP/etc/atalkd
objcopy --strip-all atalkd 
cp -av atalkd $prefix/usr/sbin

cd $target/open_source/netatalk-2.0-B2-QNAP/bin/nbp
objcopy --strip-all nbprgstr 
cp -av nbprgstr $prefix/usr/bin

cd $target/open_source/netatalk-2.0-B2-QNAP/bin/nbp
objcopy --strip-all nbpunrgstr 
cp -av nbpunrgstr $prefix/usr/bin

cd $target/open_source/netatalk-2.0-B2-QNAP/etc/uams/.libs
objcopy --strip-all uams_passwd.so 
cp -av uams_passwd.so $prefix/usr/local/etc/netatalk/uams/
#objcopy --strip-all uams_dhx_passwd.so
#cp -av uams_dhx_passwd.so $prefix/usr/local/etc/netatalk/uams/
objcopy --strip-all uams_guest.so
cp -av uams_guest.so $prefix/usr/local/etc/netatalk/uams/

cd $target/open_source/e2fsprogs-1.22/e2fsck
objcopy --strip-all e2fsck 
cp -av e2fsck $prefix/sbin

cd $target/open_source/e2fsprogs-1.22/resize
objcopy --strip-all resize2fs
cp -av resize2fs $prefix/sbin

cd $target/open_source/util-linux/fdisk
objcopy --strip-all fdisk 
cp -av fdisk $prefix/sbin

cd $target/open_source/util-linux/disk-utils
objcopy --strip-all fsck.minix
objcopy --strip-all mkfs.minix
cp -av fsck.minix mkfs.minix $prefix/sbin

cd $target/open_source/raidtools-0.90
objcopy --strip-all raidstart 
cp -av raidstart $prefix/sbin

cd $target/open_source/mdadm-1.4.0
objcopy --strip-all mdadm
cp -av mdadm $prefix/sbin

cd $target/open_source/thttpd
objcopy --strip-all thttpd 
cp -av thttpd $prefix/usr/local/sbin

#cp rsync
cd $target/open_source/rsync
objcopy --strip-all rsync 
cp -av rsync $prefix/usr/bin

#cd $target/open_source/NASNFS
#objcopy --strip-all nasnfsd
#objcopy --strip-all rquotad
#cp -av nasnfsd $prefix/usr/sbin
#cp -av rquotad $prefix/usr/sbin

cd $target/open_source/mars_nwe
objcopy --strip-all nwserv 
objcopy --strip-all ncpserv 
objcopy --strip-all nwbind 
objcopy --strip-all nwconn 
cp -av nwserv $prefix/usr/sbin
cp -av ncpserv $prefix/usr/sbin
cp -av nwbind $prefix/usr/sbin
cp -av nwconn $prefix/usr/sbin

cd $target/open_source/ucd-snmp-4.1.1/agent
objcopy --strip-all snmpd 
cp -av snmpd $prefix/usr/sbin
rm $prefix/usr/sbin/snmptrap
ln -sf /usr/sbin/snmpd $prefix/usr/sbin/snmptrap

#cd $target/open_source/ucd-snmp-4.1.1/apps
#objcopy --strip-all snmptrap 
#cp -av snmptrap $prefix/usr/sbin

#
# copy ftp server package
#
#cd $target/open_source/proftpd-1.2.6
#cd $target/open_source/proftpd-1.2.7
cd $target/open_source/proftpd-1.2.7p
objcopy --strip-all proftpd 
cp -av proftpd $prefix/usr/local/sbin

cd $target/open_source/shadow/src
objcopy --strip-all useradd 
objcopy --strip-all userdel 
objcopy --strip-all usermod 
cp -av useradd $prefix/usr/sbin
cp -av userdel $prefix/usr/sbin
cp -av usermod $prefix/usr/sbin
objcopy --strip-all groupadd 
objcopy --strip-all groupdel 
objcopy --strip-all groupmod 
cp -av groupadd $prefix/usr/sbin
cp -av groupdel $prefix/usr/sbin
cp -av groupmod $prefix/usr/sbin

##########################################
# copy quota utility
#########################################
#cd $target/open_source/quota-3.01-final
cd $target/open_source/quota-3.05
objcopy --strip-all quotacheck 
objcopy --strip-all setquota 
objcopy --strip-all repquota 
objcopy --strip-all quotaon 
objcopy --strip-all quota 
cp -av quotacheck $prefix/sbin
cp -av setquota $prefix/sbin
cp -av repquota $prefix/sbin
cp -av quotaon $prefix/sbin
cp -av quota $prefix/sbin

##########################################
# copy kernel module drivers
#########################################
cd $target/kernel/$kversion/linux-NAS

cp drivers/usb/usbcore.o $prefix/lib/modules/$kversion/misc
cp drivers/usb/host/usb-uhci.o $prefix/lib/modules/$kversion/misc
cp drivers/usb/usb-uhci.o $prefix/lib/modules/$kversion/misc
cp drivers/usb/host/ehci-hcd.o $prefix/lib/modules/$kversion/misc
cp drivers/usb/ehci-hcd.o $prefix/lib/modules/$kversion/misc
cp drivers/usb/hid.o $prefix/lib/modules/$kversion/misc
cp drivers/usb/printer.o $prefix/lib/modules/$kversion/misc
cp drivers/scsi/scsi_mod.o $prefix/lib/modules/$kversion/misc
cp drivers/scsi/sd_mod.o $prefix/lib/modules/$kversion/misc
cp drivers/usb/storage/usb-storage.o $prefix/lib/modules/$kversion/misc
cp drivers/input/input.o $prefix/lib/modules/$kversion/misc
 
cp drivers/char/serial.o $prefix/lib/modules/$kversion/misc/
cp drivers/net/bonding.o $prefix/lib/modules/$kversion/misc/
#debug,albert mask cp drivers/net/e1000-5.2.22/src/e1000.o $prefix/lib/modules/$kversion/misc/
cp drivers/net/e1000/e1000.o $prefix/lib/modules/$kversion/misc/
cp fs/jbd/jbd.o $prefix/lib/modules/$kversion/misc/
cp fs/ext3/ext3.o $prefix/lib/modules/$kversion/misc/

##########################################
# copy misc NAS module drivers and daemons
#########################################
cd $target/driver

#debug,albert mask make install
make -e prefix=$prefix install
cp nasmgr/bin/$kversion/*.o	$prefix/lib/modules/$kversion/misc
cp nasmgr/bin/app/hwmond	$prefix/sbin/
cp nasmgr/bin/app/sysmond	$prefix/sbin/
cp nasmgr/bin/app/pwroffd	$prefix/sbin/

#
# copy dhcp server package
#
cd $target/open_source/dhcp-2.0/server
objcopy --strip-all dhcpd 
cp -av dhcpd $prefix/usr/sbin

#
# copy printer package
#
cd $target/open_source/lpr-0.71/lpr
objcopy --strip-all lpr 
cp -av lpr $prefix/usr/bin

#
# copy pptp package
#
cd $target/open_source/pptp-linux-1.0.2
objcopy --strip-all pptp
objcopy --strip-all pptp_callmgr
cp -av pptp $prefix/usr/sbin
cp -av pptp_callmgr $prefix/usr/sbin

#
# copy utelnetd & naslogin
#
cd $target/open_source/tinylogin-0.80
objcopy --strip-all tinylogin
cp -av tinylogin $prefix/bin/naslogin
cd $target/open_source/utelnetd-0.1.1
objcopy --strip-all utelnetd
cp -av utelnetd $prefix/bin

cd $target/bin
tar cvf nas3_build.tar rootfs

#cp -f nas3_build.tar /mnt/pub/tmp
echo  "----------> Done!"
