new file: ts/build/packages/template/.dna

new file:   ts/build/packages/template/bin/your_own_binaries_should_go_here
	new file:   ts/build/packages/template/build/conf/50example
	new file:   ts/build/packages/template/build/finalize
	new file:   ts/build/packages/template/build/pip3.freeze
	new file:   ts/build/packages/template/dependencies
	new file:   ts/build/packages/template/etc/cmd/README
	new file:   ts/build/packages/template/etc/cmd/example.fullscreen
	new file:   ts/build/packages/template/etc/cmd/example.global
	new file:   ts/build/packages/template/etc/cmd/example.window
	new file:   ts/build/packages/template/etc/console/README
	new file:   ts/build/packages/template/etc/init.d/example
	new file:   ts/build/packages/template/etc/init.d/example.init
	new file:   ts/build/packages/template/etc/systemd/system/example.service
	new file:   ts/build/packages/template/etc/systemd/system/multi-user.target.wants/example.service
	new file:   ts/build/packages/template/lib64/any_additional_libs_go_here
	new file:   ts/build/packages/template/lib64/icons/hicolor/scalable/apps/example.svg
	new file:   ts/build/packages/template/lib64/menu/README
	new file:   ts/build/packages/template/lib64/menu/example
This commit is contained in:
Donald A. Cupp Jr. 2025-04-16 15:28:36 -05:00
parent 43c5369de4
commit 6866bd9efd
19 changed files with 376 additions and 0 deletions

View file

View file

@ -0,0 +1 @@
# Tell people what your packages does, and what TS variables it uses, and what they do.

View file

@ -0,0 +1 @@
#example 78

View file

@ -0,0 +1,2 @@
base
#add your own dependancies to this file, base should always be included.

View file

@ -0,0 +1,15 @@
In here you place the commands to start your application if using the scripts
/etc/thinstation.packages
or /etc/thinstation.console
see examples for for information
possible types are
example.global (this is always needed)
example.menu
example.console
example.window
example.fullscreen

View file

@ -0,0 +1 @@
CMD_FULLSCREEN="example -FULLSCREEN"

View file

@ -0,0 +1 @@
CMD_GLOBAL="example -startapp"

View file

@ -0,0 +1 @@
CMD_FULLSCREEN="example"

View file

@ -0,0 +1 @@
Place a 0 length file in here as the same name as the package if your application is a Console App

View file

@ -0,0 +1 @@
/etc/thinstation.packages

View file

@ -0,0 +1,33 @@
#! /bin/sh
. `dirname $0`/common
# You can anything that your application needs to have configured or downloaded here.
# This should run during boot, but not necessarily start your application.
# If you need a process started during boot, you would need to adjust the .service file from oneshot to simple,
# along with a few other minor changes
case "$1" in
init)
if ! pkg_initialized $PACKAGE; then
# Your startup instructions go here
pkg_set_init_flag $PACKAGE
fi
;;
console)
;;
window)
;;
fullscreen)
;;
help)
echo "Usage: $0 init"
;;
*)
exit 1
;;
esac
exit 0

View file

@ -0,0 +1,15 @@
[Unit]
Description=ThinStation example
After=profile-setup.service pkg.service
Before=display-manager.service
ConditionPathIsReadWrite=/etc
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/thinstation.env
ExecStart=/etc/init.d/example.init init
SyslogIdentifier=thinstation
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1 @@
../example.service

View file

@ -0,0 +1,298 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
id="svg1"
sodipodi:version="0.32"
inkscape:version="0.39"
width="128.00000pt"
height="128.00000pt"
sodipodi:docbase="/home/francois/Documents/work/XFce4/themes"
sodipodi:docname="xfce-terminal.svg"
inkscape:export-filename="/home/francois/new_xfce-terminal.png"
inkscape:export-xdpi="27.000000"
inkscape:export-ydpi="27.000000"
xmlns="http://www.w3.org/2000/svg"
xmlns:cc="http://web.resource.org/cc/"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs
id="defs3">
<linearGradient
id="linearGradient877">
<stop
style="stop-color:#ffffff;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop878" />
<stop
style="stop-color:#ffffff;stop-opacity:0.91372550;"
offset="0.12375000"
id="stop879" />
<stop
style="stop-color:#ffffff;stop-opacity:0.87058824;"
offset="0.18562500"
id="stop880" />
<stop
style="stop-color:#ffffff;stop-opacity:0.85098040;"
offset="0.21656251"
id="stop881" />
<stop
style="stop-color:#ffffff;stop-opacity:0.83137256;"
offset="0.24750000"
id="stop882" />
<stop
style="stop-color:#ffffff;stop-opacity:0.74901962;"
offset="0.37125000"
id="stop883" />
<stop
style="stop-color:#ffffff;stop-opacity:0.70588237;"
offset="0.43312502"
id="stop884" />
<stop
style="stop-color:#ffffff;stop-opacity:0.68627453;"
offset="0.46406251"
id="stop885" />
<stop
style="stop-color:#ffffff;stop-opacity:0.67450982;"
offset="0.47953126"
id="stop886" />
<stop
style="stop-color:#ffffff;stop-opacity:0.67058825;"
offset="0.48500001"
id="stop887" />
<stop
style="stop-color:#ffffff;stop-opacity:0.66666669;"
offset="0.49500000"
id="stop888" />
<stop
style="stop-color:#ffffff;stop-opacity:0.33333334;"
offset="0.78928030"
id="stop889" />
<stop
style="stop-color:#ffffff;stop-opacity:0.16470589;"
offset="0.82118571"
id="stop890" />
<stop
style="stop-color:#ffffff;stop-opacity:0.082352944;"
offset="0.88642740"
id="stop891" />
<stop
style="stop-color:#ffffff;stop-opacity:0.039215688;"
offset="0.98000002"
id="stop892" />
<stop
style="stop-color:#ffffff;stop-opacity:0.019607844;"
offset="0.99000001"
id="stop893" />
<stop
style="stop-color:#ffffff;stop-opacity:0.0078431377;"
offset="0.99000001"
id="stop894" />
<stop
style="stop-color:#ffffff;stop-opacity:0.0039215689;"
offset="0.99000001"
id="stop895" />
<stop
style="stop-color:#ffffff;stop-opacity:0.0000000;"
offset="0.99000001"
id="stop896" />
<stop
style="stop-color:#ffffff;stop-opacity:0.0000000;"
offset="0.98000002"
id="stop897" />
<stop
style="stop-color:#ffffff;stop-opacity:0.0000000;"
offset="0.99000001"
id="stop900" />
<stop
style="stop-color:#ffffff;stop-opacity:0.0000000;"
offset="1.0000000"
id="stop901" />
</linearGradient>
<linearGradient
id="linearGradient926">
<stop
style="stop-color:#ffffff;stop-opacity:0.52195120;"
offset="0.0000000"
id="stop927" />
<stop
style="stop-color:#ffffff;stop-opacity:0.39512196;"
offset="0.98000002"
id="stop858" />
<stop
style="stop-color:#ffffff;stop-opacity:0.14146341;"
offset="0.99000001"
id="stop860" />
<stop
style="stop-color:#ffffff;stop-opacity:0.0000000;"
offset="1.0000000"
id="stop929" />
</linearGradient>
<linearGradient
id="linearGradient903">
<stop
style="stop-color:#bdbbbb;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop904" />
<stop
style="stop-color:#dedddd;stop-opacity:1.0000000;"
offset="0.50000000"
id="stop907" />
<stop
style="stop-color:#ffffff;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop906" />
</linearGradient>
<linearGradient
id="linearGradient897">
<stop
style="stop-color:#757373;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop898" />
<stop
style="stop-color:#e5e6e6;stop-opacity:1.0000000;"
offset="0.49257576"
id="stop902" />
<stop
style="stop-color:#ffffff;stop-opacity:0.0000000;"
offset="1.0000000"
id="stop899" />
</linearGradient>
<linearGradient
xlink:href="#linearGradient926"
id="linearGradient900"
x1="0.42424244"
y1="0.031250000"
x2="0.012121212"
y2="0.99218750" />
<linearGradient
xlink:href="#linearGradient926"
id="linearGradient873"
x1="0.46760562"
y1="0.039062500"
x2="0.46760562"
y2="0.75781250" />
<linearGradient
xlink:href="#linearGradient897"
id="linearGradient876"
x1="0.54037267"
y1="0.96093750"
x2="0.38509318"
y2="0.60156250" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.9531250"
inkscape:cx="64.000000"
inkscape:cy="64.000000"
inkscape:window-width="920"
inkscape:window-height="901"
showgrid="true"
gridspacingx="1.0000000mm"
gridspacingy="1.0000000mm"
snaptogrid="false"
horizgrid="true"
vertgrid="true"
gridtolerance="5.0000000px"
showguides="true"
snaptoguides="true"
inkscape:window-x="182"
inkscape:window-y="40">
<sodipodi:guide
orientation="horizontal"
position="104.98688"
id="guide911" />
<sodipodi:guide
orientation="vertical"
position="59.632546"
id="guide912" />
<sodipodi:guide
orientation="vertical"
position="104.98688"
id="guide913" />
<sodipodi:guide
orientation="horizontal"
position="48.377953"
id="guide914" />
</sodipodi:namedview>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:9.9458075;stroke-linecap:round;stroke-linejoin:round;"
d="M 28.968321,74.136978 C 36.004265,66.908607 39.522237,70.522794 43.040209,74.136978 C 46.558181,77.751166 50.076153,81.365350 57.112097,74.136978"
id="path908"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:9.9458075;stroke-linecap:round;"
d="M 102.17703,39.531034 L 102.17703,116.92736"
id="path910"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:9.9458075;stroke-linecap:round;"
d="M 124.73529,58.880115 C 124.85465,58.880115 124.73529,45.980727 102.17703,45.980727 C 86.063996,45.980727 79.499426,52.430420 79.618783,62.104962 C 79.618783,71.779502 89.286604,75.004349 102.17703,75.004349 C 118.29008,75.004349 128.07725,81.454042 127.95789,94.353432 C 127.95789,104.02796 119.99536,110.55922 102.17703,110.47767 C 86.063996,110.47767 76.396176,100.80311 76.515532,91.128583"
id="path916"
sodipodi:nodetypes="ccccccc" />
<rect
style="fill-rule:evenodd;stroke:none;stroke-width:3.7943192;fill:#000000;fill-opacity:0.38235295;"
id="rect917"
width="149.67355"
height="120.01327"
x="8.9616179"
y="24.369932"
ry="0.88898715" />
<rect
style="fill-rule:evenodd;stroke:#000000;stroke-width:3.9160004;"
id="rect894"
width="149.67355"
height="120.01327"
x="3.3792825"
y="18.151813"
ry="0.88898715" />
<rect
style="fill-rule:evenodd;stroke:none;stroke-width:0.96349487pt;fill:#ffffff;fill-opacity:1.0000000;"
id="rect895"
width="142.38805"
height="112.51243"
x="7.0142145"
y="21.902227"
ry="0.83342543" />
<rect
style="fill:#363636;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.2250000;stroke-linejoin:round;stroke-opacity:1.0000000;"
id="rect896"
width="137.30406"
height="98.768517"
x="9.4802208"
y="32.911888"
ry="0.0000000" />
<metadata
id="metadata74">
<rdf:RDF
id="RDF75">
<cc:Work
rdf:about=""
id="Work76">
<dc:format
id="format77">image/svg+xml</dc:format>
<dc:type
id="type79"
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="font-size:40.000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Trek;text-anchor:start;writing-mode:lr;"
d="M 54.243290,88.278409 L 41.693720,88.278409 C 36.290418,88.278455 31.671484,86.884057 27.836904,84.095219 C 22.607917,80.434981 19.993423,74.683101 19.993423,66.839562 C 19.993423,59.344753 22.607917,53.636447 27.836904,49.714628 C 31.845786,46.751623 36.464717,45.270078 41.693720,45.269989 L 54.243290,45.269989 L 54.243290,38.733755 L 59.603001,38.733755 L 59.603001,45.269989 L 89.669680,45.269989 L 89.669680,57.950283 L 59.603001,57.950283 L 59.603001,75.728840 L 72.152570,75.728840 C 77.294350,75.728895 81.913290,77.166867 86.009390,80.042754 C 91.238310,83.964544 93.852800,89.759997 93.852870,97.429137 C 93.852800,104.66260 91.238310,110.45805 86.009390,114.81552 C 82.000440,117.77863 77.381500,119.26017 72.152570,119.26016 L 59.603001,119.26016 L 59.603001,125.79639 L 54.243290,125.79639 L 54.243290,119.26016 L 23.130816,119.26016 L 23.130816,106.57986 L 54.243290,106.57986 L 54.243290,88.278409 M 59.603001,106.57986 L 64.831989,106.57986 C 67.707886,106.57989 70.017350,105.70839 71.760400,103.96537 C 73.590490,102.22241 74.505560,100.04366 74.505610,97.429137 C 74.505560,95.076132 73.546920,92.984537 71.629670,91.154352 C 69.799477,89.237101 67.446436,88.278455 64.570539,88.278409 L 59.603001,88.278409 L 59.603001,106.57986 M 54.243290,57.950283 L 48.752853,57.950283 C 46.312635,57.950358 44.046742,58.734707 41.955170,60.303328 C 39.950706,61.784945 38.948486,63.963687 38.948502,66.839562 C 38.948486,69.628419 40.037857,71.937886 42.216619,73.767970 C 43.785292,75.075275 46.051186,75.728895 49.014302,75.728840 L 54.243290,75.728840 L 54.243290,57.950283"
id="text978" />
<path
style="fill:url(#linearGradient900);fill-opacity:0.32352939;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;"
d="M 12.282817,36.390407 L 12.282817,129.06891 C 63.406396,82.790874 88.968183,66.263006 143.74347,36.512840 L 12.282817,36.390407 z "
id="path925"
sodipodi:nodetypes="cccc" />
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,3 @@
You can put a menu into blackbox by placing a file in here with the same name as your package name.
See example for an example

View file

@ -0,0 +1,2 @@
package="example"; icon="example"; needs="x11"; title="Description Windowed"; command="pkg window example"
package="example"; icon="example"; needs="x11"; title="Destription Fullscreen"; command="pkg fullscreen example"