Coder Social home page Coder Social logo

tooloop-packages's Introduction

Tooloop Packages

This repository contains presentations and addons, that come bundled with Tooloop OS. It’s also a great place to get information on how to build your own package.

Package format

Tooloop Packages are ZIP files, wrapping a Debian package and additional images, that are displayed in the app center:

package.zip
│
├─ <package-name>_v.v.v_aaa.deb (mandatory)
│
└─ media/
   ├─ <preview_image>.jpg (mandatory)
   ├─ <optional-image>.png
   ├─ <optional-image>.jpg
   └─ ...

The Debian package

This is the folder structure:

│
├─ media/ (your image files)
│  ├─ some-image.jpg
│  └─ ...
│
package/ (the Debian package)
├─ DEBIAN/
│  ├─ control (mandatory)
│  ├─ postinst (optional)
│  ├─ postrm (optional)
│  └─ ...
│
└─ assets/
    ├─ presentation/
    │  ├─ LICENSE.md
    │  ├─ README.md
    │  ├─ start-presentation.sh (mandatory)
    │  ├─ stop-presentation.sh (mandatory)
    │  └─ ...
    │
    └─ data/
        └─ ...

The /DEBIAN folder contains the package information and some control files. All other folders are simply copied to disk for you.

The DEBIAN/control file

This file contains all the information about your package. It’s used to display information in the app center.

https://linux.die.net/man/5/deb-control

Package: my-app
# Use semantic versioning https://semver.org/
Version: 1.0.0
Maintainer: Tooloop Multimedia
Homepage: https://www.tooloop.de
Bugs: https://github.com/Tooloop/Tooloop-Packages
# One of "tooloop/presentation", "tooloop/addon"
Section: tooloop/presentation
Architecture: amd64
Depends: tooloop-transparent-cursor
# App name shown in the app center.
Name: My App
# The thumbnail shown in the app center
Thumbnail: my-app-thumbnail.jpg
# The media files, shown in the detail view of the package
# can be JPGs and PNGs
Media: my-app-image1.jpg, my-app-image2.png
# First line is the short description shown in the app center.
# All following lines are used as detailed description.
Description: A simple example, how to make a processing app
 Longer description, indented by one space
 .
 empty lines have just a single point
 *Markdown* _is_ ok
 ends with one additional line break

Scripts

You can add scripts in DEBIAN to further customize installation:

script when
preinst before installation
postinst after installation
prerm before removal
postrm after removal

Use those to create folders, auto-generate files, cleanup, etc.

Building and deploying your package

There scripts that you can use to build and deploy your package on a Tooloop OS Box. In fact, it’s these scripts that are used by the Tooloop OS installer. Start by simply copying the hello-world folder and hack away from there.

  1. Clone this repo on a Tooloop Box
  2. Add your package folder (e. g. by copying the hello-world example)
  3. Build packages
    ./build.sh
  4. Deploy packages
    ./deploy.sh
  5. Restart the control center
    sudo systemctyl restart tooloop-control.service

Useful commands

Install package

sudo apt install --allow-unauthenticated <PACKAGE>

Remove package

sudo apt purge <PACKAGE> && sudo apt autoremove

List installed

apt list --installed tooloop*

List available

apt list tooloop*

Search packages in section tooloop

aptitude -F'|%p|%d|' search '?section(tooloop/addon)'

https://askubuntu.com/a/473511/873460

Links

DEB packaging

http://packaging.ubuntu.com/html/packaging-new-software.html https://blog.serverdensity.com/how-to-create-a-debian-deb-package/ https://www.debian.org/doc/debian-policy/ch-binary.html

tooloop-packages's People

Contributors

vollstock avatar

Watchers

 avatar  avatar

tooloop-packages's Issues

Add Onboarding app

Should replace current video, which is not pre-installed and this hardly helps with first steps.

Browser based and windowed. This way there’s no additional installation required and the user may actually test mentioned things directly.

Add picom package

To make the video play synchonize properly, picom needs to be off (see #5 ).
This should probably be an optional feature anyway, as most presentation (e. g. Unity apps or mpv) will have some sort of vsync feature.

There needs to be a mechanism to start picom in autostart only if installed.

Let the video player play all files in the data folder

It’s pretty un-usable right now as it hard code lists the files to play in the start script.
It should rather simply play all video (and image?) files in the data folder and/or check for a playlist file.

This way the player would simply do what it’s supposed to be doing and only the actaual data needs to be changed.

Change standard content of media player

the videos were the first attempt to be some kind of welcome screen but werew actually never used.

Now theres a real oboarding package and we can simply include something small and fun.
Maybe even educational. Mixed media, am image, a video.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.