...
ctftools; developer-dtrace; developer-linker; developer-object-file; driver-kvm; driver-kvm-dev; driver-ppt; driver-viona; driver-vmm; kernel-man; libelfsign; libgrubmgmt1; libm-dev; libmalloc; libmp; libmvec; libnls; libpool-dev; libppt1; libsched; libsctp; libsendfile; libuuid-dev; libvmmapi; libzoneinfo; libzonestat; scheduler; system-crt; system-header; system-library-man; zones-brand-bhyve;
Script for getting all the dependencies for the component
Code Block |
---|
|
#!/bin/bash
#This script creates a dependency file and loads them.
#The first part of the script creates a file with a list of dependencies, the second part loads them.
#File create for save temporary values
>list_one
>list_two
>pkg_dep
>tmp0
>tmp1
>tmp
#
function get_depends()
{
## This function get depends for build component
[ -z "$(grep -f pkg_dep <<< $1)" ] &&
apt-get install -s $1 2>/dev/null | grep Inst | awk '{print $2}'| sort -u &&
echo $pkg >> pkg_dep
}
#
#
function all_dep()
{
##This recursion function for get recursion depends for build conmponents
for pkg in $@; do
all_dep $(get_depends $pkg)
done
}
## Loop for get depends for build components
while read component; do
apt-get --dry-run build-dep $component 2>/dev/null | grep Inst | awk '{print $2}' >> list_one
done < list_component
while read pkg; do
apt-get install -s $pkg 2>/dev/null | grep Inst | awk '{print $2}' >> list_two
done < list_pkg_sec
cat list_one >> tmp0
cat list_two >> tmp0
cat list_component >> tmp0
cat list_pkg_sec >> tmp0
cat tmp0 | sort -u >> tmp1
## Loop for get depends, use function 'all_dep'
while read pkg; do
all_dep $pkg >/dev/null
done < tmp1
cat pkg_dep >> tmp1
cat tmp1 | sort -u >> tmp
while read pkg; do
sudo apt-get download $pkg
done < tmp |