Files
create/vagrant/Xenial/generate_yaml.sh
2021-04-14 14:41:33 +02:00

106 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
# snapcraft yaml automatic generation tool for FreeCAD 0.17
# (c) 2017 vejmarie
# Distributed under LGPL v2.0
# Please report bugs at vejmarie@ruggedpod.qyshare.com
rm snapcraft.yaml
lib_list=`ls /opt/local/FreeCAD-0.17/lib/*.so`
mod_list=`ls -ltd $(find /opt/local/FreeCAD-0.17/Mod) | awk '{ print $9}'`
bin_list=`ls -ltd $(find /opt/local/FreeCAD-0.17/bin) | awk '{ print $9}'`
data_list=`ls -ltd $(find /opt/local/FreeCAD-0.17/data) | awk '{ print $9}'`
python_list=`ls -ltd $(find /usr/lib/python2.7) | awk '{ print $9}'`
pyside_list=`ls -ltd $(find /usr/share/PySide/typesystems) | awk '{ print $9}'`
python_binary=`ls /usr/bin/python /usr/bin/py*2.7`
syslib=`ls -ltd $(find /usr/lib/x86_64-linux-gnu/dri) | awk '{ print $9}'`
syslib2=`ls -ltd $(find /usr/lib/x86_64-linux-gnu/gtk-2.0) | awk '{ print $9}'`
syslib3=`ls -ltd $(find /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0) | awk '{ print $9}'`
syslib4=`ls -ltd $(find /usr/lib/locale) | awk '{ print $9}'`
syslib5=`ls -ltd $(find /usr/share/X11/locale) | awk '{ print $9}'`
syslib6=`ls -ltd $(find /usr/lib/x86_64-linux-gnu/*gtk*) | awk '{ print $9}'`
syslib7=`ls -ltd $(find /usr/share/glib-2.0) | awk '{ print $9}'`
syslib8=`ls -ltd $(find /usr/share/i18n/locales) | awk '{ print $9}'`
echo "
name: freecad
version: 0.17
summary: development version
description: development version This version is far from being bug free but integrates the latest FreeCAD technologies
parts:
example-part:
plugin: copy
files:
bin/launcher : bin/launcher" >> snapcraft.yaml
# bin/FreeCAD : opt/local/FreeCAD-0.17/bin/FreeCAD" >> snapcraft.yaml
for i in $bin_list
do
if [ ! -d "$i" ]
then
second_name=`echo $i | sed 's/\///'`
echo " $i : $second_name" >> snapcraft.yaml
fi
done
for i in $lib_list
do
second_name=`echo $i | sed 's/\///'`
echo " $i : $second_name" >> snapcraft.yaml
done
for i in $mod_list
do
if [ ! -d "$i" ]
then
second_name=`echo $i | sed 's/\///'`
echo " $i : $second_name" >> snapcraft.yaml
fi
done
for i in $data_list
do
if [ ! -d "$i" ]
then
second_name=`echo $i | sed 's/\///'`
echo " $i : $second_name" >> snapcraft.yaml
fi
done
for i in $python_list $pyside_list
do
if [ ! -d "$i" ]
then
second_name=`echo $i | sed 's/\///'`
echo " $i : $second_name" >> snapcraft.yaml
fi
done
for i in $python_binary
do
if [ ! -d "$i" ]
then
second_name=`echo $i | sed 's/\///'`
echo " $i : $second_name" >> snapcraft.yaml
fi
done
for i in $syslib $syslib2 $syslib3 $syslib4 $syslib5 $syslib6 $syslib7 $syslib8
do
if [ ! -d "$i" ]
then
second_name=`echo $i | sed 's/\///'`
echo " $i : $second_name" >> snapcraft.yaml
fi
done
# python:
# plugin: python2
echo "
snap:
- bin/launcher
- opt/local/FreeCAD-0.17/bin/FreeCAD
- opt
- usr" >> snapcraft.yaml
for i in $lib_list
do
second_name=`echo $i | sed 's/\///'`
echo " - $second_name" >> snapcraft.yaml
done
echo "
apps:
FreeCAD:
command: bin/launcher
plugs: [ locale-control,x11,opengl,network-bind,home,unity7,removable-media ]
" >> snapcraft.yaml