Giter Club home page Giter Club logo

appimages's Introduction

โš ๏ธ IMPORTANT NOTICE

In https://github.com/AppImage/AppImages/commit/798093a8b2b41b8a32fb1cc5301bcab9ed5f2cb8 we reorganized this repository to simplify its structure and make it easier to understand. Unfortunately this requires existing links to this repository to be updated. We apologize for the inconvenience caused.

  • recipes/meta/Recipe was renamed to pkg2appimage to better reflect its nature
  • recipes/meta was moved to recipes/
  • Legacy recipes were moved to legacy/. They should be converted to .yml recipes

AppImages discourse Build Status Codacy Badge Gitter Donate

This repository contains the pkg2appimage tool and some recipes to generate AppImages (portable Linux apps) using AppImageKit. See the Bintray page tab for downloads of the generated AppImages.

Recipes are the .yml files used to create the AppImages, and Dockerfiles are used to build Docker images on Docker Hub (think of them as glorified chroot environments) in which the recipes can run. Finally, everything is tied together using travis-ci which uses Docker containers created by the Dockerfiles from this repository to generate AppImages using the recipes from this repository. The result are AppImages are uploaded to a Bintray repository and can run on most modern desktop Linux distributions.

This repository is intended to showcase the AppImage format and AppImageKit software used to create AppImages. Upstream projects are encouraged to use this showcase to produce their own upstream packaging AppImages, as some projects (like Subsurface already do).

Usage

There are multiple ways to generate AppImages. If you already have existing binaries (either in archive or .deb format or a ppa) then the recommended way to convert these to an AppImage is to write a .yml description file and run it with pkg2appimage:

To build an AppImage from a .yml description file:

bash -ex ./pkg2appimage recipes/XXX.yml

.yml description files tell pkg2appimage where to get the ingredients from, and how to convert them to an AppImage (besides the general steps already included in pkg2appimage). Study some examples to see how it works.

Miscellaneous

Uploading AppImages to Bintray

The script bintray.sh can be used by anyone to upload AppImages to Bintray.

The script will:

  1. Extract metadata from the AppImage
  2. Make the AppImage updatable with zsync
  3. Upload the AppImage to Bintray

In order to use bintray.sh you must first define your Bintray credentials in the environment. In order to get your Bintray API Key, you need to enter the "API Key" section in https://bintray.com/profile/edit

Example:

wget https://raw.githubusercontent.com/AppImage/AppImages/master/bintray.sh
export BINTRAY_USER=<Your Bintray username>
export BINTRAY_REPO=<Your Bintray repository>
export BINTRAY_REPO_OWNER=<Your bintray Organization (optional)>
export BINTRAY_API_KEY=<Your Bintray API Key>
./bintray.sh "Subsurface-4.5.1.667-x86_64.AppImage"

If you use Travis for CI, you can define these variables in the Travis control panel, specially the BINTRAY_API_KEY, in order to keep it secure.

Contributing

You are invited to contribute to the AppImage format, the AppImageKit tools, and the example AppImages provided by us).

The preferred channel of communication for general questions and remarks is our forum and mailing list at http://discourse.appimage.org/.

For technical contibutions, https://github.com/probonopd/AppImageKit - please file Issues (also for wishlist items or discussion topics) or submit Pull requests.

There is also the #AppImage IRC channel on irc.freenode.net and we use Gitter which has the advantage that one does not have to be online all the time and one can communicate despite not being in the same timezone.

Donations

Donate

Acknowledgments

This project would not have been possible without the contributors to AppImageKit and without the services which generously support Open Source projects:

  • JFrog for providing Bintray, the distribution platform used to distribute AppImages built by the recipes in this project to users. Bintray has been truly invaluable for this project since it not only provides us with free hosting and traffic for our AppImages, but also makes it really easy to set up a repository for custom binary formats such as AppImage, and to maintain the metadata associated with the downloads. Thanks to the easy-to use REST API, we were able to set up an automated workflow involving GitHub and Travis CI to build, upload and catalog AppImages in no time. Also, JFrog Bintray relieved us from the burden to create a web UI for the repository by providing a generic one out-of-the-box.
  • Travis CI for providing cloud-based test and build services that are easy to integrate with GitHub.
  • GitHub for making it possible to work on Code in the Cloud, and for making it super easy to contribute to Open Source projects.

appimages's People

Contributors

adnoc avatar adrianschroeter avatar alex1702 avatar barthalion avatar casept avatar crayxt avatar darealshinji avatar dirkhh avatar francescoceruti avatar garbee avatar hroncok avatar knapsu avatar kortschak avatar lyzardking avatar mahiso avatar nandub avatar orivej avatar ozmartian avatar philippgille avatar probonopd avatar razzziel avatar rcoacci avatar shoogle avatar theassassin avatar triplus avatar

Watchers

 avatar  avatar

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.