
	# ----- DEPS FOR SHELLS, PERLS, MANS, INFOES -----------------
	echo
	echoc GREEN "Building Temporary manifest ..."
	find $PKG_DIR -type f | grep -v "\/install\/" > ${TEMPA}

	echoc GREEN "Seaching shell's scripts ..."
	while read x ; do
		[ ! -x $x ] && continue
		file $x | grep -q "Bourne"
		if [ $? -eq 0 ]; then
			echo "Found at least one shell script ($x)"
			echo $DEPS_SHELL >> $PKG_INSTALL/REQUEST
			break
		fi
	done < ${TEMPA}

	echoc GREEN "Seaching perl's scripts ..."
	while read x ; do
		[ ! -x "$x" ] && continue
		file "$x" | grep -q "perl"
		if [ $? -eq 0 ]; then
			echo "Found at least one perl script ($x)"
			echo $DEPS_PERL >> $PKG_INSTALL/REQUEST
			break
		fi
	done < ${TEMPA}
	rm -f ${TEMPA}

	# ----- INSTALL-SCRIPTS -----------------------------------
	echo
	echoc GREEN "Adjusting scripts : "
	[ -f $PKG_INSTALL/COMPILE ] && gzip -v9f $PKG_INSTALL/COMPILE
	[ -f $PKG_INSTALL/NOTES ]   && gzip -v9f $PKG_INSTALL/NOTES
	#
	for i in  MANIFEST  MD5SUM* REQUEST COMPILE* NOTES*  CONFLICTS
	do
		TEMPSCRIPT="$PKG_INSTALL/$i"
		if [ -f $TEMPSCRIPT ]; then
			echo $i
			chmod 640 $TEMPSCRIPT
			chown root.root $TEMPSCRIPT
		fi
	done
	

	# ---- LIBRARY NAME ------------------------------------
	echo
	echoc CYAN "Preparazione dei link delle librerie ..."
	for i in `find $PKG_DIR -type f -iname "lib*.so.*.*"` ; do
		LDIR="`dirname $i`"
		LNAME="`basename $i`"
		LSO="`echo $LNAME | cut -f 1 -d '.' `"
		LVER="`echo $LNAME | cut -f 3- -d '.' `"
		LX=`echo $LVER | cut -f 1 -d '.' `
		LY=`echo $LVER | cut -f 2 -d '.' `
		LZ=`echo $LVER | cut -f 3 -d '.' `
		echoc PURPLE "SONAME=$LSO   V=$LVER   X=$LX   Y=$LY   Z=$LZ"
		if [ "$LSO" = "" -o "$LVER" = "" -o "$LX" = "" -o "$LY" = "" ]; then
			echoc YELLOW "There's a blank value ... skipping"
			continue
		fi
		( 
			cd $LDIR
			ln -s $LNAME   $LSO.so.$LX
			ln -s $LNAME   $LSO.so
			ln -s $LNAME   ${LSO}${LX}.so
			grep -q "#SIMLINK:$LNAME" $PKG_INSTALL/INSTALL
			if [ $? -eq 0 ]; then
			  echoc YELLOW "Aggiungo del codice ad INSTALL ..."
  			  echo ""                    >>$PKG_INSTALL/INSTALL
			  echo "#SIMLINK:$LNAME"    >>$PKG_INSTALL/INSTALL
			  echo "( cd $LDIR"          >>$PKG_INSTALL/INSTALL
			  echo "rm $LSO.so.$LX    ; ln -s $LNAME $LSO.so.$LX" >>$PKG_INSTALL/INSTALL
			  echo "rm $LSO.so        ; ln -s $LNAME $LSO.so"     >>$PKG_INSTALL/INSTALL
			  echo "rm ${LSO}${LX}.so ; ln -s $LNAME ${LSO}${LX}.so" >>$PKG_INSTALL/INSTALL
			  echo ")" >>$PKG_INSTALL/INSTALL
		        fi
		)
	done

	# ---- MD5 ----
	echo
	echoc GREEN "Calculating MD5 Checksums ..."
	cd $PKG_DIR
	find -type f -perm +111 1>$TEMPDATA
        >$PKG_INSTALL/MD5SUM
        for item in $TEMPDATA ; do
          md5sum "$item" >>$PKG_INSTALL/MD5SUM
        done
	gzip -v9f $PKG_INSTALL/MD5SUM


	# ---- DIRECTORY PERMISSION
	echo
	echoc GREEN "Applying directory permissions (press ENTER at the end)..."
	OLD_DIR=$PWD
	cd $PKG_DIR
	echo | badpenguin-permissions.sh 2>/dev/null
	cd $OLD_DIR
	echo

	# ---- DIRECTORY PERMISSION INCOMING
        if [ -d $PKG_DIR/incoming ]; then
  	  echo
	  echoc GREEN "Applying permissions to incoming (press ENTER at the end)..."
	  OLD_DIR=$PWD
	  cd $PKG_DIR/incoming
	  echo | badpenguin-permissions.sh 2>/dev/null
	  cd $OLD_DIR
	  echo
        fi
	# Next
	[ $AUTOBUILD -gt 0 ] && AUTOBUILD=6
	echo 6 > $FAUTOBUILD
fi

# ----- (?) PERMISSIONS ---------------------------------------
if [ "$PKG_MODE" = "PERMISSIONS" ]; then
	# Title
	echo
	echoc CYAN "(?) Permissions ..."

	# ---- DIRECTORY PERMISSION
	echo
	echoc GREEN "Applying directory permissions."
	OLD_DIR=$PWD
	cd $PKG_DIR
	echo | badpenguin-permissions.sh 2>/dev/null
	cd $OLD_DIR
	echo

	# ---- DIRECTORY PERMISSION INCOMING
        if [ -d $PKG_DIR/incoming ]; then
  	  echo
	  echoc GREEN "Applying permissions to incoming (press ENTER at the end)..."
	  OLD_DIR=$PWD
	  cd $PKG_DIR/incoming
	  echo | badpenguin-permissions.sh 2>/dev/null
	  cd $OLD_DIR
	  echo
        fi
fi



# ----- (6) REQUEST ---------------------------------------
if [ "$PKG_MODE" = "REQUEST" -o $AUTOBUILD -eq 6 ]; then
	# Title
	echo
	echoc CYAN "(6) Dependencies wizard ..."

	echoc GREEN "Analizing files ..."
	> ${TEMPA}
        # Avoid sig11 on static libs
	find $PKG_DIR -type f -perm +111 -exec ldd {} >>${TEMPA} 2>/dev/null \;
	find $PKG_DIR -type f -iname "lib*so*" -exec ldd {} >>${TEMPA} 2>/dev/null \;

	echoc GREEN "Checking for missed librarians : "
	cat ${TEMPA} | grep "not found"
	if [ $? -eq 0 ]; then
		echoc RED "There are missed libraries !"
		echoc YELLOW "We suggest you to NOT continue and check the problem."
		echoc YELLOW "Press Enter to continue or CTRL+C to exit"
		read x
	fi

	echo "Parsing ldd output"
	cat ${TEMPA} | grep -v "not found" | grep "=>" >${TEMPB}

	echo "Stripping libraries name"
	> ${TEMPA}
	while read a b libs d; do
		[ "$libs" = "" ] && continue
		echo $libs | cut -b 2- >> ${TEMPA}
	done < ${TEMPB}

	echo "Sorting names"
	sort ${TEMPA} > ${TEMPB}

	echo "Stripping Unique names"
	> ${TEMPA}
	uniq -d ${TEMPB} >> ${TEMPA}
	uniq -u ${TEMPB} >> ${TEMPA}
        echo >> ${TEMPA}

	echoc GREEN "Looking libraries for deps ..."
	echo "##### Added by package-builder at `date` #####" >> $PKG_INSTALL/REQUEST
  ( cat ${TEMPA} ; echo ) | while read libs ; do
    [ "$libs" = "" ] && continue

    case "$libs" in
      lib/ld-linux.so.2)
        echo "# internal: ld-2.0.7.so"
        echo "base	libc6-shared_2	ld-2.0.7.so" >> $PKG_INSTALL/REQUEST
        continue
        ;;
      lib/libc.so.6)
        echoc GREEN "# internal: libc-2.0.7.so"
        echo "base	libc6-shared_2	libc-2.0.7.so" >> $PKG_INSTALL/REQUEST
        continue
        ;;
      lib/libm.so.6)
        echoc GREEN "# internal: libm-2.0.7.so"
        echo "base	libc6-shared_2	libm-2.0.7.so" >> $PKG_INSTALL/REQUEST
        continue
        ;;
      lib/libdl.so.2)
        echoc GREEN "# internal: libdl-2.0.7.so"
        echo "base	libc6-shared_2	libdl-2.0.7.so" >> $PKG_INSTALL/REQUEST
        continue
        ;;
    esac

    echo "- Searching $libs"
    DEPFOUND=0
    for i in $PKG_SPOOL/*; do			
      if [ -f $i/MANIFEST ]; then
        grep -h  "$libs"  "$i/MANIFEST"  >${TEMPB}
        REPLY=$?
        if [ $REPLY -eq 0 ]; then
          SHORTPKG="`basename $i | cut -f 1-2 -d '.'`"
          echoc GREEN "- Found into $i"
          if [ -f $i/INFO ]; then
            rm -f /tmp/CATEGORY
            grep "^CATEGORY" $f > /tmp/CATEGORY
            OLDCATEGORY=$CATEGORY
            . /tmp/CATEGORY
            PCATEGORY=$CATEGORY
            CATEGORY=$OLDCATEGORY
          elif [ -f $i/CATEGORY ]; then
            PCATEGORY="`cat $i/CATEGORY`"
          else
            PCATEGORY="#???"
          fi
          #
          ( cat ${TEMPB} ; echo ) | while read baselib; do
            [ "$baselib" = "" ] && continue 
            if [ -L /$baselib ]; then
            echo "    Skipping symlinks $baselib"
              continue
            else
              echo "    Adding $baselib"
            fi						
            echo "$PCATEGORY	$SHORTPKG	`basename $baselib`" >> $PKG_INSTALL/REQUEST
          done
          DEPFOUND=1
        fi
      fi
    done
    if [ $DEPFOUND -eq 0 ]; then
      echoc RED "No dependencie found for $libs"
      echo "# $libs - the dependent package was NOT found" >> $PKG_INSTALL/REQUEST
    fi
  done
  rm -f ${TEMPA} ${TEMPB}



# ----- (7) PREPARE ---------------------------------------
if [ "$PKG_MODE" = "PREPARE" -o $AUTOBUILD -eq 7 ]; then
	# Title
	echo
	echoc CYAN "(7) Preparing the .bpp package ..."
	OLD_PWD=`pwd`
	cd $PKG_DIR
	# Clean-up
	rm -f *.tar *.gz *.tgz *.bpp install/MANIFEST* install/AUTOBUILD *.lsm

	# ================= CLEAN - UP  ====================

	# Squeeze ./install
	echo "Cleaning up files before counting disk-usage ..."
	find  $PKG_INSTALL \( -name \*~ -or -name \*\# \) -exec rm -vf {} \;
        rm -v -f $PKG_DIR/$FULLNAME*

	# ================= O V E R W R I T E ====================
	# DISKUSAGE
	echo
	echo "Computing package size ..."
	DISKUSAGE=`du $PKG_DIR -s -b | cut -d / -f 1`
	echoc PURPLE "Disk usage of this package is $DISKUSAGE bytes"
	# ----------
	>$PKG_INFO
        echo "SONAME=\"$SONAME\"" >>$PKG_INFO
        echo "CATEGORY=\"$CATEGORY\"" >>$PKG_INFO
        echo "VERSION=\"$VERSION\"" >>$PKG_INFO
	echo "DISKNAME=\"$DISKNAME\""  >>$PKG_INFO
	>>$PKG_INFO
        echo "ARCH=\"$ARCH\"" >>$PKG_INFO
        echo "OPTIM=\"$OPTIM\"" >>$PKG_INFO
        echo "SUMMARY=\"$SUMMARY\"" >>$PKG_INFO
	echo "DISKUSAGE=$DISKUSAGE" >>$PKG_INFO
        echo "STATUS=\"$STATUS\"" >>$PKG_INFO
	>>$PKG_INFO
        echo "AUTHOR=\"$AUTHOR\"" >>$PKG_INFO
	echo "COPYRIGHT=\"$COPYRIGHT\"" >>$PKG_INFO
        echo "DESCRIPTION=\"$DESCRIPTION\"" >>$PKG_INFO
        echo "MANTAINER=\"$MANTAINER\"" >>$PKG_INFO
        echo "URL=\"$URL\"" >>$PKG_INFO
        echo "FTPURL=\"$FTPURL\"" >>$PKG_INFO
	# Build Time
	echo "OS=\"Linux\"" >>$PKG_INFO
	echo "DISTRIBUTION=\"$DVERSION\"" >>$PKG_INFO
        echo "BUILDHOST=\"`hostname`\"" >>$PKG_INFO
        echo "BUILDTIME=\"`date`\"" >>$PKG_INFO
        echo "BPPVERSION=\"$PVERSION\"" >>$PKG_INFO

	# =========================================================

	case "$ARCH" in
          #ignore ANY+i386
          ANY|i386)       : ;;
          i486|i586|i686) FULLNAME="$FULLNAME_$ARCH" ;;          
        esac


	# Preparing TAR archive
	echo "Tarring ..."
	tar  --sparse  --verify  -p  -f $FULLNAME  -c *
	if [ $? -ne 0 ] ; then 
          echo " * * *  T A R - E R R O R  * * *"
          exit 1
        fi

	# Creating Manifest
	echo "Creating MANIFEST file"
	rm -f $PKG_INSTALL/MANIFEST
	tar -tf "$FULLNAME" > "$PKG_INSTALL/MANIFEST"

	# Adding Manifest
	echo "Appending MANIFEST ..."
	tar -f $FULLNAME -u install/MANIFEST
	if [ $? -ne 0 ] ; then 
          echo " * * *  T A R (u) - E R R O R  * * *"
          exit 1
        fi

	# Compressing Package
	echo "Gzipping ..."
	gzip -v9 -S .bpp $FULLNAME
	if [ $? -ne 0 ] ; then
          echo " * * *  G Z I P - E R R O R  * * *"
          exit 1
        fi

	cd $OLD_PWD
	echoc GREEN "Package has been successfully updated." 
	# Next
	rm  -f  $FAUTOBUILD  $MILESTONE
fi



# ----- (8) ANNOUNCE ---------------------------------------
if [ "$PKG_MODE" = "ANNOUNCE" ]; then
	# Title
	echo
	echoc CYAN "Announcing the package $FULLNAME ..."

        if [ ! -f "${PKG_DIR}/${FULLNAME}.bpp" ]; then
          echoc RED "Il pacchetto $SONAME non e' stato costruito !"
          exit 1
        fi

	# Rimuove obsoleti
	for i in $DIST_DIR/agxlinux/packages/$CATEGORY/$SONAME[_-]*
	do
	  [ ! -f $i ] && continue
	  BASENAME=`basename $i`
	  echo -n "Vuoi spostare $BASENAME ? (s/n)"
	  #echo -n "Vuoi ELIMINARE $BASENAME ? (s/n)"
	  CHOICE="Z"
	  while [ 0 ]; do
	    read CHOICE
	    if [ "$CHOICE" = "S" -o "$CHOICE" = "s" ]; then
              mv -i "$DIST_DIR/agxlinux/packages/$CATEGORY/$BASENAME"  "$DIST_DIR/agxlinux/packages/z-removed/"
	      #rm -v "$DIST_DIR/agxlinux/packages/$CATEGORY/$BASENAME"
	      break
            fi
	    if [ "$CHOICE" = "N" -o "$CHOICE" = "n" ]; then
	      break
            fi
            echo "carattere non valido"
          done
        done

        # Sposto il pacchetto 
        mv -i "${PKG_DIR}/${FULLNAME}.bpp" "$DIST_DIR/agxlinux/packages/$CATEGORY/"

fi

DEPS_SHELL="# base		bash_1"			# Dependencie for shell script
DEPS_PERL="# development-gnu		perl_"		# Dependencie for perl script
DEPS_INFO="# documentation		texinfo_"	# Dependencie for info files
DEPS_MAN="# documentation		man_"		# Dependencie for man pages
