Reasoning behind division of debian packages?

Get help with compiling or installing the game, and discuss announcements of new official releases.

Moderator: Forum Moderators

Post Reply
User avatar
turin
Lord of the East
Posts: 11662
Joined: January 11th, 2004, 7:17 pm
Location: Texas
Contact:

Reasoning behind division of debian packages?

Post by turin »

I recently noticed that the wesnoth debian packages have been split up (again). It used to be just wesnoth, wesnoth-data, wesnoth-music, wesnoth-server, and wesnoth-editor...

So, my question is, why is it split up by campaign now?:

Code: Select all

joe@slapstick:~$ apt-cache search wesnoth
wesnoth - fantasy turn-based strategy game
wesnoth-data - data files for Wesnoth
wesnoth-editor - map editor for Wesnoth
wesnoth-ei - Eastern Invasion campaign for Wesnoth
wesnoth-httt - Heir to the Throne campaign for Wesnoth
wesnoth-music - music files for Wesnoth
wesnoth-server - multiplayer network server for Wesnoth
wesnoth-sotbe - Son of the Black Eye campaign for Wesnoth
wesnoth-tdh - The Dark Hordes campaign for Wesnoth
wesnoth-trow - The Rise of Wesnoth campaign for Wesnoth
joe@slapstick:~$
The campaign files are not IMHO big enough to merit needing their own packages, and having them be separate packages IMHO creates the impression that they are not officially supported campaigns.
For I am Turin Turambar - Master of Doom, by doom mastered. On permanent Wesbreak. Will not respond to private messages. Sorry!
And I hate stupid people.
The World of Orbivm
silene
Posts: 1109
Joined: August 28th, 2004, 10:02 pm

Re: Reasoning behind division of debian packages?

Post by silene »

turin wrote:The campaign files are not IMHO big enough to merit needing their own packages
On the ~17000 packages available on my Debian computer, wesnoth-httt is one of the 500 biggest. I disagree with you: a 4.2MB package doesn't strike me as "not big". And in fact, it should have been even bigger, since there is no reason for it not to contain the HTTT translations, becoming a 5.3MB package.
User avatar
turin
Lord of the East
Posts: 11662
Joined: January 11th, 2004, 7:17 pm
Location: Texas
Contact:

Post by turin »

Well, I just think it would make more sense if all the campaigns were bundled together, whether in a separate package (wesnoth-campaigns) or in wesnoth-data.

My reasoning behind this is that, if I was a new user, I would think they were user-made campaigns that had become debian packages, and wouldn't download any of them. Then I would open the game, and not see any campaigns.

But whatever you want to do is fine, it won't cause ME any problems...
For I am Turin Turambar - Master of Doom, by doom mastered. On permanent Wesbreak. Will not respond to private messages. Sorry!
And I hate stupid people.
The World of Orbivm
ott
Inactive Developer
Posts: 838
Joined: September 28th, 2004, 10:20 am

Post by ott »

wesnoth-campaigns depends on at least one of the four actual mainline campaigns, and wesnoth depends on wesnoth-campaigns -- so a new user won't be presented with a campaign-less wesnoth, they will have at least one campaign installed, by default HttT.
This quote is not attributable to Antoine de Saint-Exupéry.
Uppi

Post by Uppi »

What exactly is the point in splitting of wesnoth-data? Its not like you can play wesnoth without the data...
scott
Posts: 5243
Joined: May 12th, 2004, 12:35 am
Location: San Pedro, CA

Post by scott »

Maybe you can just update one package and keep the others
Hope springs eternal.
Wesnoth acronym guide.
Uppi

Post by Uppi »

scott wrote:Maybe you can just update one package and keep the others
Taht would make sense, if the data has another update cycle as the main programm. But at the moment data updates are coupled with the programm updates,
silene
Posts: 1109
Joined: August 28th, 2004, 10:02 pm

Post by silene »

Uppi wrote:What exactly is the point in splitting of wesnoth-data? Its not like you can play wesnoth without the data...
You mean: keeping the data out of the binary package? I don't know the reason for Wesnoth, since the package dependencies actually enforce the same version for both packages.

But it's not uncommon to split a package between executable and data, especially when the data package is huge. The best (or worst, depending on your point of view) example is Vegastrike. One of the data packages is around 150MB (yes, three digits), and I think a lot of players are quite happy not to have to download it again whenever the maintainer notices that he has forgotten a compilation option when building the binary. Yet they both have the same update cycle.
User avatar
turin
Lord of the East
Posts: 11662
Joined: January 11th, 2004, 7:17 pm
Location: Texas
Contact:

Post by turin »

ott wrote:wesnoth-campaigns depends on at least one of the four actual mainline campaigns, and wesnoth depends on wesnoth-campaigns -- so a new user won't be presented with a campaign-less wesnoth, they will have at least one campaign installed, by default HttT.
And this, IMHO, will make the user think that HttT is the ONLY official campaign... is there any reason to think it won't?
For I am Turin Turambar - Master of Doom, by doom mastered. On permanent Wesbreak. Will not respond to private messages. Sorry!
And I hate stupid people.
The World of Orbivm
User avatar
xtifr
Posts: 414
Joined: February 10th, 2005, 2:52 am
Location: Sol III

Post by xtifr »

Separating out the (platform-independent) data gives the mirrors a break. Debian supports 11 platforms at present, so if you had the data bundled with the executables, there would be 11 copies on all the mirrors. With it separated out, you only need one copy.

I think the top-level package should give you all the official campaigns. Also, it might be nice to make wesnoth-campagn into a virtual package. Here's how I might do it:

wesnoth: empty metapackage, installs the full game, with everything in the official release
depends: wesnoth-core, wesnoth-httt, wesnoth-ei, wesnoth-sotbe, wesnoth-tdh, wesnoth-trow

wesnoth-core: everything you need to play MP or campaigns you install.
depends: wesnoth-data, ${shlibs:Depends}
recommends: wesnoth-music
suggests (or recommends): (wesnoth-httt | wesnoth-campaign)

wesnoth-editor: um, the editor :)
depends: wesnoth-core, ${shlibs:Depends}

wesnoth-httt: I think we all know what this is :)
depends: wesnoth-core
provides: wesnoth-campaign

wesnoth-utbs: not an official campaign, so not depended on by wesnoth pkg
depends: wesnoth-core
provides: wesnoth-campaign

etc.

There may be some issues with getting the version dependencies correct, but it's no worse, I think, than the present scheme.
"When a man is tired of Ankh-Morpork, he is tired of ankle-deep slurry" -- Catroaster

Legal, free live music: Surf Coasters at Double Down Saloon, Las Vegas on 2005-03-06. Tight, high-energy Japanese Surf-Rock.
isaac
Inactive Developer
Posts: 173
Joined: January 15th, 2004, 5:09 pm
Location: Zaragoza, Spain
Contact:

Post by isaac »

Well, I think the main points of why splitting it in several packages have already been named anyway, I (as Debian packager) will remark them.

1) Why split wesnoth-data from wesnoth? As xtifr has already said, Debian supports 11 architectures, if the architecture-independent data is clearly separated it doesn't need to be replicated for every arch.

2) Why split wesnoth campaigns in different packages? Because wesnoth campaigns are quite big (at least some of them) and can require quite time to download them with a low-speed link, as silene said, wesnoth-httt is one of the biggest Debian packages out there.

3) Why has it been done now? Because it wasn't possible before (or at least, relatively easy to do).

You should also notice two things:
a) You can't install wesnoth with no campaigns, you need at least one.
b) The package "Recommends" every campaign, so a user using
aptitude or some other advanced packaging tool will get every of them or
at least will be aware of the existence of the packages.

Anyway it will be improved in future versions, I will include the translations in the right package as silene has proposed, include "official" in the description to make clear they're part of Wesnoth and some other improvements.

Best regards
User avatar
Viliam
Translator
Posts: 1341
Joined: January 30th, 2004, 11:07 am
Location: Bratislava, Slovakia
Contact:

Post by Viliam »

I am not a Debian user, just curious...

How will be language files packaged? Per campaign, per language, or per both campaign and language?

Per campaign - would reflect the separation of campaigns.

Per language - would reflect users' needs. Average user does not understand most of languages, so s/he does not need to download them. Also, when a new translation is made, there is no need to update other packages, only create one.

Per campaign and per language - in theory the best solution; however, this means many many packages, is it ok?
Post Reply