parent
20d8b1ad77
commit
0872980414
178
README
178
README
|
@ -1,150 +1,52 @@
|
|||
Mini-tutorial: Let's package FlightGear.
|
||||
# What the fuck?
|
||||
|
||||
Long story short:
|
||||
These are stand-alone executable packages.
|
||||
They have two personalities: Sometimes they think they're an ELF executable, so you can just run them and play
|
||||
these awesome games, if you have execution credentials (chmod +x [package file]). Sometimes, they think they're
|
||||
an ISO file, so you can also mount them with fuseiso, acetoneiso, or your ISO management application of choice,
|
||||
and peek what's inside.
|
||||
|
||||
Inside the packages you'll find two things:
|
||||
|
||||
$ pacman2appDir flightgear -subversion
|
||||
$ buildAppImage
|
||||
A minimal installation for each game, sometimes next to i.e. a minimal Wine or Perl installation
|
||||
A little script (AppRun) to glue it all together when you run the package
|
||||
How the fuck?
|
||||
Using the awesome superpowers of PortableLinuxApps.org, and some script magic.
|
||||
|
||||
# Why the fuck?
|
||||
|
||||
Short story long:
|
||||
Why the fuck not. I'm just a casual gamer with no space left in my laptop for games (or anything work-unrelated
|
||||
for that matter). I'm also tired of the state of release segmentation between Linux distributions, or having some
|
||||
old nightly game version I enjoyed playing every now and then stop working because the library it was linked against
|
||||
no longer exists, because my distribution decided to update it. So I discovered this AppImage thingy, and decided
|
||||
to contribute back. I like it, and I'd like to see it converted in the future of Linux package distribution.
|
||||
|
||||
I fell in love with this stuff in in the very moment it occurred to me that I could package Starcraft together with
|
||||
a minimal Wine install in an AppImage, copy it to an USB drive, take it to my college's lab (se use Ubuntu on all
|
||||
labs), and have Starcraft running right when I click on it. Move the USB drive over among some friends, and you have
|
||||
an instant Starcraft party. On Linux. And with no drugs. Like, woah.
|
||||
|
||||
$ pacman2appDir flightgear
|
||||
Now I can stash the games I'm not usually playing in some external hard drive, and rescue them anytime I feel like
|
||||
playing them again, knowing that every single dependency will be still in its place.
|
||||
Also games usually take less space, because I can play them without uncompressing them, and performance
|
||||
isn't affected that much, how cool is that?
|
||||
|
||||
# Who the fuck?
|
||||
|
||||
These packages will be included:
|
||||
flightgear
|
||||
simgear
|
||||
libxmu
|
||||
libxi
|
||||
zlib
|
||||
openscenegraph
|
||||
subversion
|
||||
libxrandr
|
||||
glu
|
||||
flightgear-data
|
||||
[sudo] password for raziel:
|
||||
Got any constructive feedback? Does any game fail to run in your machine? Write me to
|
||||
|
||||
tux AT portablelinuxgames.org
|
||||
Please note that what I'm doing here is packing some games I like, and sharing them over just in case they're
|
||||
useful to someone else. I'm only sharing the games I think I'm free to distribute (I've also packaged some
|
||||
commercial games I've bought, but I'm not sharing those with you guys!). If you're the owner of any of these
|
||||
games and you don't like them being here without your explicit permission, please let me know and I'll take it
|
||||
down. I just want to share something I think it's cool, I'm not taking any profit with this, other than maybe
|
||||
Internet Karma™.
|
||||
|
||||
Oops! For some reason, FlightGear depends on subversion, we don't really want
|
||||
that, so we ignore it:
|
||||
All these packages are working on my system (32bit ArchLinux on Dell XPS L502X), but I don't have the spare time
|
||||
to test every package as well as I should on different distros, so if any package fails to run on your machine,
|
||||
please send me an email with the exact error message and I'll try to fix it (when I find time). Or uncompress
|
||||
the package, fix it yourself, pack it back up and share it if you want; your AppImage, your rules.
|
||||
|
||||
|
||||
$ pacman2appDir flightgear -subversion
|
||||
|
||||
|
||||
Ignoring subversion...
|
||||
These packages will be included:
|
||||
flightgear
|
||||
simgear
|
||||
libxmu
|
||||
libxi
|
||||
zlib
|
||||
openscenegraph
|
||||
libxrandr
|
||||
glu
|
||||
flightgear-data
|
||||
[sudo] password for raziel:
|
||||
resolving dependencies...
|
||||
|
||||
Targets (10): plib-1.8.5-4 flightgear-2.10.0-1 flightgear-data-2.10.0-1 glu-9.0.0-1 libxi-1.6.2-1 libxmu-1.1.1-1 libxrandr-1.4.0-1 openscenegraph-3.0.1-8
|
||||
simgear-2.10.0-1 zlib-1.2.7-1
|
||||
|
||||
Total Download Size: 0.00 MiB
|
||||
|
||||
Proceed with download? [Y/n]
|
||||
(10/10) checking package integrity [-------------------------------------------------------------] 100%
|
||||
Assuming main package is /var/cache/pacman/pkg/flightgear-2.10.0-1-i686.pkg.tar.xz with version 2.10.0
|
||||
Uncompressing /var/cache/pacman/pkg/flightgear-2.10.0-1-i686.pkg.tar.xz...
|
||||
Uncompressing /var/cache/pacman/pkg/simgear-2.10.0-1-i686.pkg.tar.xz...
|
||||
Uncompressing /var/cache/pacman/pkg/libxmu-1.1.1-1-i686.pkg.tar.xz...
|
||||
Uncompressing /var/cache/pacman/pkg/libxi-1.6.2-1-i686.pkg.tar.xz...
|
||||
Uncompressing /var/cache/pacman/pkg/zlib-1.2.7-1-i686.pkg.tar.xz...
|
||||
Uncompressing /var/cache/pacman/pkg/openscenegraph-3.0.1-8-i686.pkg.tar.xz...
|
||||
Uncompressing /var/cache/pacman/pkg/libxrandr-1.4.0-1-i686.pkg.tar.xz...
|
||||
Uncompressing /var/cache/pacman/pkg/glu-9.0.0-1-i686.pkg.tar.xz...
|
||||
Uncompressing /var/cache/pacman/pkg/flightgear-data-2.10.0-1-any.pkg.tar.xz...
|
||||
tar: Ignoring unknown extended header keyword `SCHILY.fflags'
|
||||
tar: Ignoring unknown extended header keyword `SCHILY.fflags'
|
||||
tar: Ignoring unknown extended header keyword `SCHILY.fflags'
|
||||
tar: Ignoring unknown extended header keyword `SCHILY.fflags'
|
||||
tar: Ignoring unknown extended header keyword `SCHILY.fflags'
|
||||
tar: Ignoring unknown extended header keyword `SCHILY.fflags'
|
||||
tar: Ignoring unknown extended header keyword `SCHILY.fflags'
|
||||
tar: Ignoring unknown extended header keyword `SCHILY.fflags'
|
||||
Found .desktop file 'FlightGear' (fgfs --fg-root)
|
||||
Using it as main program
|
||||
ls: cannot access usr/share/pixmaps/flightgear.png: No such file or directory
|
||||
ls: cannot access usr/share/pixmaps/flightgear.*: No such file or directory
|
||||
! Icon flightgear not found
|
||||
usr/share/pixmaps:
|
||||
find: `usr/share/pixmaps': No such file or directory
|
||||
Possible missing libraries: (use --auto-copy-libs to copy them into usr/lib/)
|
||||
/usr/lib/libglapi.so.0
|
||||
/usr/lib/libGL.so.1
|
||||
/usr/lib/libglut.so.3
|
||||
/usr/lib/libopenal.so.1
|
||||
/usr/lib/libpng15.so.15
|
||||
/usr/lib/libsystemd-daemon.so.0
|
||||
/usr/lib/libudev.so.1
|
||||
Deleting usr/include...
|
||||
Deleting usr/share/applications...
|
||||
Deleting usr/share/man...
|
||||
Deleting usr/share/doc...
|
||||
Deleting usr/lib/pkgconfig...
|
||||
Deleting usr/lib/libSimGearCore.a...
|
||||
Deleting usr/lib/libSimGearScene.a...
|
||||
Deleting usr/lib/libXrandr.a...
|
||||
Deleting usr/lib/libz.a...
|
||||
Deleting .PKGINFO...
|
||||
|
||||
|
||||
Done, now let's package it
|
||||
|
||||
|
||||
$ cd flightgear.AppDir
|
||||
$ buildAppImage
|
||||
|
||||
|
||||
Building package in ../FlightGear 2.10.0-r2.run...
|
||||
Creating /home/raziel/packaging/staging/FlightGear 2.10.0-r2.run...
|
||||
xorriso 0.4.8 : RockRidge filesystem manipulator, libburnia project.
|
||||
|
||||
xorriso : UPDATE : Thank you for being patient for 1 seconds
|
||||
Drive current: -dev '/home/raziel/packaging/staging/FlightGear 2.10.0-r2.run'
|
||||
Media current: stdio file, overwriteable
|
||||
Media status : is blank
|
||||
Media summary: 0 sessions, 0 data blocks, 0 data, 1313m free
|
||||
Volume id : 'ISOIMAGE'
|
||||
xorriso : UPDATE : 13823 files added in 1 seconds
|
||||
Added to ISO image: directory '/'='/home/raziel/packaging/staging/FlightGear 2.10.0-archlinux-r1'
|
||||
xorriso : UPDATE : 1 files added in 1 seconds
|
||||
Added to ISO image: file '/.DirIcon'='/home/raziel/packaging/staging/FlightGear 2.10.0-archlinux-r1/AppRun.png'
|
||||
xorriso : UPDATE : 9 file filters processed in 2 seconds
|
||||
xorriso : UPDATE : 39 file filters processed in 3 seconds
|
||||
xorriso : UPDATE : 53 file filters processed in 4 seconds
|
||||
...
|
||||
xorriso : UPDATE : 12258 file filters processed in 236 seconds
|
||||
xorriso : UPDATE : 12261 file filters processed in 236 seconds
|
||||
xorriso : UPDATE : Writing: 2192s 0.5% fifo 0% buf 50%
|
||||
xorriso : UPDATE : Writing: 2254s 0.6% fifo 0% buf 50%
|
||||
...
|
||||
xorriso : UPDATE : Writing: 403042s 99.8% fifo 0% buf 50% 3.1xD
|
||||
ISO image produced: 403939 sectors
|
||||
Written to media : 403968 sectors at LBA 32
|
||||
Writing to '/home/raziel/packaging/staging/FlightGear 2.10.0-r2.run' completed sucessfully.
|
||||
|
||||
ok
|
||||
Embedding icon into runtime...
|
||||
|
||||
Embedding runtime into the header of /home/raziel/packaging/staging/FlightGear 2.10.0-r2.run...
|
||||
ok
|
||||
Making /home/raziel/packaging/staging/FlightGear 2.10.0-r2.run executable...
|
||||
ok
|
||||
Size: 789.062500 MB
|
||||
|
||||
|
||||
|
||||
|
||||
There, done!
|
||||
Btw, if you have a pure 64bit system, please note that 32bit AppImages won't work by default. Please check this
|
||||
tutorial to see how to configure a 64bit operative system to run 32bit AppImages.
|
||||
|
|
Loading…
Reference in New Issue