Board index FlightGear Development New features

The FlightGear Package Manager

Discussion and requests for new features. Please note that FlightGear developers are volunteers and may or may not be able to consider these requests.

Re: The FlightGear Package Manager

Postby Gijs » Wed Oct 08, 2008 4:40 pm

Airports: EHAM, EHLE, KSFO
Aircraft: 747-400
User avatar
Gijs
Moderator
 
Posts: 9544
Joined: Tue Jul 03, 2007 3:55 pm
Location: Delft, the Netherlands
Callsign: PH-GYS
Version: Git
OS: Windows 10

Re: The FlightGear Package Manager

Postby enricogranata » Wed Oct 08, 2008 8:37 pm



this one is somewhat beyond my present task. it's a very good system, but I see it better fit for fgrun than for this tool (also, as I am just starting development, the more compact the better.. new tags can be added in a future release in a non-breaking way if deemed useful :lol: )



this document is much more fit to the task at hand. this is how the PM relates to the tasks suggested therein

* allow aircraft to be fully searchable based on aircraft-type/development status (i.e. provide meta info to be used by GUI & web frontends)
- this one, I am not doing because it requires that some central server contains all the package files and lets the program scan them

* allow aircraft to be downloaded from within FlightGear on demand
* allow aircraft to be installed from within FlightGear
* allow aircraft to be uninstalled/removed (managed) from within FlightGear
* allow aircraft to be updated from within FlightGear
if you replace "FlightGear" with "Package Manager", this is just what my program will do once it's finished (a few weeks for some usable alpha hopefully)

* allow aircraft to be copied/duplicated within base package (to facilitate working on multiple versions)
* allow aircraft to be relocated/moved (renamed) within base package
maybe in a future release :D

* allow aircraft to be used without requiring an installation
not doing that, it depends on FlightGear

* allow aircraft to be installed in and used from custom directories (i.e. non-base package, as in ~/.fgfs/Aircraft or support something like --user-aircraft=/folder/with/non-base-package-aircraft) [1] [2]
not doing this either, the PM is heavily aware of FlightGear's directory layout

* allow aircraft to be run from tarballs/archives to allow users to test aircraft easily (Libraries to transparently access archives likes directories: ZZIPLIB [3])
this depends on FlightGear

* provide support for proper dependency tracking between aircraft and common resources [4]
this is built into the XML format I've designed :wink:
Callsign: EG10485
Aircraft: B737-300, B747-400, Mig-29, Carreidas, PC7
Airports: LIRN, LIRF, LFPG, BIRK and many other European ones
Programmer of: https://sourceforge.net/projects/fgfspm/ - FlightGear Package Manager
enricogranata
 
Posts: 163
Joined: Sat Sep 06, 2008 10:30 am
Location: LIRN

Re: The FlightGear Package Manager

Postby MD-Terp » Wed Oct 08, 2008 10:08 pm

I wrote:When a new model is created it automatically gets added to the "global objects" file available for link under the scenemodels "downloads" tab. So if you periodically re-download and unpack the "global objects" file, you will always get ALL of the new models created and placed since the last time you did so.

saturn5 wrote:Interesting- does it also include the updates for new shared objects, or when something is updated but not all-new?

There is a separate download link for global objects versus shared ones. http://scenemodels.flightgear.org

saturn5 wrote:(congrats on the new bridge btw!)

Awesome, thanks :)
Cheers,
-Rob.

"Retired" from FlightGear involvement as of July 2010.
viewtopic.php?f=3&t=8809
User avatar
MD-Terp
 
Posts: 2410
Joined: Wed Jan 23, 2008 7:37 am
Location: Baltimore, Maryland, USA
Callsign: N531MD, AVA0025

New release

Postby enricogranata » Fri Oct 10, 2008 4:20 pm

At the usual URL ( https://sourceforge.net/projects/fgfspm/ ) there is a new release of the PackageManager. the main news is that this one ships with a graphical user interface, so you can actually try it (if you have something to install of course) :D

be aware that the program doesn't try to detect what is already installed (so, the initial packages list will be empty even if you have tens of aircrafts and the whole world scenery*)

* I don't know if this will be "fixed" eventually because I am not sure it's a bug anyways. installed data might have dependencies that the Package Manager is not aware of, and the program also wouldn't know where to look for updates

present issues are that checksums are not actually checked, temporary files are not deleted, and feedback from the program is very scarce to say the least :lol:

any testing and help is mostly appreciated. even more appreciated would be if someone created and uploaded packages for some aircrafts or scenery tiles :mrgreen:
Callsign: EG10485
Aircraft: B737-300, B747-400, Mig-29, Carreidas, PC7
Airports: LIRN, LIRF, LFPG, BIRK and many other European ones
Programmer of: https://sourceforge.net/projects/fgfspm/ - FlightGear Package Manager
enricogranata
 
Posts: 163
Joined: Sat Sep 06, 2008 10:30 am
Location: LIRN

Re: The FlightGear Package Manager

Postby Gijs » Fri Oct 10, 2008 5:02 pm

Looks great! It as a little search to find out how to launch (chec kthe dist/ folder ;) ) but I succeed.
Do you like if I make a package for my 747-400?
Airports: EHAM, EHLE, KSFO
Aircraft: 747-400
User avatar
Gijs
Moderator
 
Posts: 9544
Joined: Tue Jul 03, 2007 3:55 pm
Location: Delft, the Netherlands
Callsign: PH-GYS
Version: Git
OS: Windows 10

Re: The FlightGear Package Manager

Postby Jester » Fri Oct 10, 2008 5:05 pm

I couldn't try it yet, looks like I need to upgrade java...
Jester
 
Posts: 1191
Joined: Wed Feb 28, 2007 4:53 pm
Location: Hungary
Callsign: BA996,Rescue1
IRC name: Jester01
Version: GIT
OS: Debian Linux

Re: The FlightGear Package Manager

Postby Gijs » Fri Oct 10, 2008 5:12 pm

Is this what you want? I don't understand everything, after reading your manual...
Please check the code below carefylly and tell me what I need to fill in and how.

Code: Select all
<?xml version="1.0"?>
<flightgear-resource type="aircraft" pmversion="0.2">
   <resource-info>
      <name>Boeing 747-400</name>
      <version>…</version>
      <status>beta</status>
      <description>…</description>
   </resource-info>
   <type-info>
   <aircraft-info>
      <flightgear-id>747-400</flightgear-id>
      <type>airliner</type>
      <maker>Gijs de Rooy</maker>
      <fdm>jsbsim</fdm>
      <engine>turbofan</engine>
      <cockpit3d/>
      <tutorial/>
   </aircraft-info>
   </type-info>
   <dependencies fgversion="…">
      <dependency>…</dependency>
   </dependencies>
   <location type="zip">…</location>
   <location type="zip">…</location>
   <checksum algo="crc">…</checksum>
   <update-type>…</update-type>
</flightgear-resource>
Airports: EHAM, EHLE, KSFO
Aircraft: 747-400
User avatar
Gijs
Moderator
 
Posts: 9544
Joined: Tue Jul 03, 2007 3:55 pm
Location: Delft, the Netherlands
Callsign: PH-GYS
Version: Git
OS: Windows 10

Re: The FlightGear Package Manager

Postby enricogranata » Fri Oct 10, 2008 5:23 pm

Gijs wrote:Is this what you want? I don't understand everything, after reading your manual...
Please check the code below carefylly and tell me what I need to fill in and how.


OK, I am walking you through it (sorry for not being clear in the first place)

Code: Select all
<?xml version="1.0"?>
<flightgear-resource type="aircraft" pmversion="0.2">
   <resource-info>
      <name>Boeing 747-400</name>
      <version>you need two numbers here, major.minor (like in Windows 6.0 or FlightGear 1.0). you can pick any two, but if you update the aircraft they must increase (at least one of them)</version>
      <status>beta</status>
      <description>anything you like here, including "hello world"</description>
   </resource-info>
   <type-info>
   <aircraft-info>
      <flightgear-id>747-400</flightgear-id>
      <type>airliner</type>
      <maker>Gijs de Rooy</maker>
      <fdm>jsbsim</fdm>
      <engine>turbofan</engine>
      <cockpit3d/>
      <tutorial/>
   </aircraft-info>
   </type-info>
   <dependencies fgversion="1.0"> this is the version of FlightGear that this a/c needs (I am not checking for it actually, it's here for the future)
      <dependency>any package your one depends on, here you'll provide the URL of the XML file associated to that package</dependency>
   </dependencies>
   <location type="zip">the URL of the zip archive with the actual contents of your aircraft</location>
   <location type="zip">another mirror</location>
   <checksum algo="crc">the CRC32 of your zip file, you can omit it or type some random number as of now (in the future, the program will complain and ask the user if she wants to install a package with a wrong checksum)</checksum>
   <update-type>incremental</update-type>
</flightgear-resource>


the main issue is that your a/c is packed in two zip files, while the PM supports just one (multiple mirrors, but just one ZIP)..
Callsign: EG10485
Aircraft: B737-300, B747-400, Mig-29, Carreidas, PC7
Airports: LIRN, LIRF, LFPG, BIRK and many other European ones
Programmer of: https://sourceforge.net/projects/fgfspm/ - FlightGear Package Manager
enricogranata
 
Posts: 163
Joined: Sat Sep 06, 2008 10:30 am
Location: LIRN

Re: The FlightGear Package Manager

Postby enricogranata » Fri Oct 10, 2008 5:24 pm

Jester wrote:I couldn't try it yet, looks like I need to upgrade java...


I am developing it with Java 6, but 1.5 should be enough. is this an issue on some platform :?:
Callsign: EG10485
Aircraft: B737-300, B747-400, Mig-29, Carreidas, PC7
Airports: LIRN, LIRF, LFPG, BIRK and many other European ones
Programmer of: https://sourceforge.net/projects/fgfspm/ - FlightGear Package Manager
enricogranata
 
Posts: 163
Joined: Sat Sep 06, 2008 10:30 am
Location: LIRN

Re: The FlightGear Package Manager

Postby Gijs » Fri Oct 10, 2008 5:26 pm

enricogranata wrote:the main issue is that your a/c is packed in two zip files, while the PM supports just one (multiple mirrors, but just one ZIP)..

It's also available in one zip file. Check: http://files.goneabitbursar.com/747-beta1.zip

Code: Select all
<?xml version="1.0"?>
<flightgear-resource type="aircraft" pmversion="0.2">
   <resource-info>
      <name>Boeing 747-400</name>
      <version>0.1</version>
      <status>beta</status>
      <description>It's weighting over 394088 lbs... empty. Could takeoff with 875,000 lbs of load (cargo and/or passengers). Needs only 3,018 m to takeoff with maximum weight. Flies with 491 kt, 910 km/h through the skies, with over 25000 lbf of thrust. With almost 500 aircraft still in use, 20 years after it's maiden flight, it's the best selling commercial giant. And now it comes to your computer, to your screen and in your hands.</description>
   </resource-info>
   <type-info>
   <aircraft-info>
      <flightgear-id>747-400</flightgear-id>
      <type>airliner</type>
      <maker>Gijs de Rooy</maker>
      <fdm>jsbsim</fdm>
      <engine>turbofan</engine>
      <cockpit3d/>
      <tutorial/>
   </aircraft-info>
   </type-info>
   <dependencies fgversion="1.0">
      <dependency> ? what if I don't have one... ? </dependency>
   </dependencies>
   <location type="zip">http://files.goneabitbursar.com/747-beta1.zip</location>
   <update-type>incremental</update-type>
</flightgear-resource>
Airports: EHAM, EHLE, KSFO
Aircraft: 747-400
User avatar
Gijs
Moderator
 
Posts: 9544
Joined: Tue Jul 03, 2007 3:55 pm
Location: Delft, the Netherlands
Callsign: PH-GYS
Version: Git
OS: Windows 10

Re: The FlightGear Package Manager

Postby enricogranata » Fri Oct 10, 2008 5:31 pm

Code: Select all
<?xml version="1.0"?>
<flightgear-resource type="aircraft" pmversion="0.2">
   <resource-info>
      <name>Boeing 747-400</name>
      <version>0.1</version>
      <status>beta</status>
      <description>It's weighting over 394088 lbs... empty. Could takeoff with 875,000 lbs of load (cargo and/or passengers). Needs only 3,018 m to takeoff with maximum weight. Flies with 491 kt, 910 km/h through the skies, with over 25000 lbf of thrust. With almost 500 aircraft still in use, 20 years after it's maiden flight, it's the best selling commercial giant. And now it comes to your computer, to your screen and in your hands.</description>
   </resource-info>
   <type-info>
   <aircraft-info>
      <flightgear-id>747-400</flightgear-id>
      <type>airliner</type>
      <maker>Gijs de Rooy</maker>
      <fdm>jsbsim</fdm>
      <engine>turbofan</engine>
      <cockpit3d/>
      <tutorial/>
   </aircraft-info>
   </type-info>
   <dependencies fgversion="1.0">
      <dependency>you simply omit the dependency tag</dependency>
   </dependencies>
   <location type="zip">http://files.goneabitbursar.com/747-beta1.zip</location>
   <update-type>incremental</update-type>
</flightgear-resource>


which leaves us with the final version of the first package :lol:

Code: Select all
<?xml version="1.0"?>
<flightgear-resource type="aircraft" pmversion="0.2">
   <resource-info>
      <name>Boeing747-400</name>
      <version>0.1</version>
      <status>beta</status>
      <description>It's weighting over 394088 lbs... empty. Could takeoff with 875,000 lbs of load (cargo and/or passengers). Needs only 3,018 m to takeoff with maximum weight. Flies with 491 kt, 910 km/h through the skies, with over 25000 lbf of thrust. With almost 500 aircraft still in use, 20 years after it's maiden flight, it's the best selling commercial giant. And now it comes to your computer, to your screen and in your hands.</description>
   </resource-info>
   <type-info>
   <aircraft-info>
      <flightgear-id>747-400</flightgear-id>
      <type>airliner</type>
      <maker>Gijs de Rooy</maker>
      <fdm>jsbsim</fdm>
      <engine>turbofan</engine>
      <cockpit3d/>
      <tutorial/>
   </aircraft-info>
   </type-info>
   <dependencies fgversion="1.0" />
   <location type="zip">http://files.goneabitbursar.com/747-beta1.zip</location>
   <update-type>incremental</update-type>
</flightgear-resource>


the only other change I did is removing the space in <name>Boeing747-400</name> (it shouldn't be necessary but I am not sure it'll work on all platform with spaces inside)

let me know where you're uploading it, so I can use it as a live test :D
Callsign: EG10485
Aircraft: B737-300, B747-400, Mig-29, Carreidas, PC7
Airports: LIRN, LIRF, LFPG, BIRK and many other European ones
Programmer of: https://sourceforge.net/projects/fgfspm/ - FlightGear Package Manager
enricogranata
 
Posts: 163
Joined: Sat Sep 06, 2008 10:30 am
Location: LIRN

Re: The FlightGear Package Manager

Postby Gijs » Fri Oct 10, 2008 5:50 pm

Airports: EHAM, EHLE, KSFO
Aircraft: 747-400
User avatar
Gijs
Moderator
 
Posts: 9544
Joined: Tue Jul 03, 2007 3:55 pm
Location: Delft, the Netherlands
Callsign: PH-GYS
Version: Git
OS: Windows 10

Re: The FlightGear Package Manager

Postby enricogranata » Fri Oct 10, 2008 6:29 pm

I deleted the 747-400 I had, and installed it again through the PM...

to my astonishment it worked :mrgreen:

there is an issue, actually: the window showing the details of the process doesn't ever get drawn so you might think it's blocked (I am going to investigate this).. but it eventually completes and the installed aircraft is as working as if I had installed it by hand

thanks for providing the package :mrgreen:
Callsign: EG10485
Aircraft: B737-300, B747-400, Mig-29, Carreidas, PC7
Airports: LIRN, LIRF, LFPG, BIRK and many other European ones
Programmer of: https://sourceforge.net/projects/fgfspm/ - FlightGear Package Manager
enricogranata
 
Posts: 163
Joined: Sat Sep 06, 2008 10:30 am
Location: LIRN

Re: The FlightGear Package Manager

Postby Gijs » Fri Oct 10, 2008 9:24 pm

enricogranata wrote:to my astonishment it worked :mrgreen:

Wonderfull! Congrats!
Airports: EHAM, EHLE, KSFO
Aircraft: 747-400
User avatar
Gijs
Moderator
 
Posts: 9544
Joined: Tue Jul 03, 2007 3:55 pm
Location: Delft, the Netherlands
Callsign: PH-GYS
Version: Git
OS: Windows 10

Re: The FlightGear Package Manager

Postby enricogranata » Sat Oct 11, 2008 11:06 am

Gijs wrote:
enricogranata wrote:to my astonishment it worked :mrgreen:

Wonderfull! Congrats!


thanks :D I hope to release an update by the end of next week
Callsign: EG10485
Aircraft: B737-300, B747-400, Mig-29, Carreidas, PC7
Airports: LIRN, LIRF, LFPG, BIRK and many other European ones
Programmer of: https://sourceforge.net/projects/fgfspm/ - FlightGear Package Manager
enricogranata
 
Posts: 163
Joined: Sat Sep 06, 2008 10:30 am
Location: LIRN

PreviousNext

Return to New features

Who is online

Users browsing this forum: No registered users and 3 guests