Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian packaging and fonts #332

Closed
barak opened this issue Feb 1, 2017 · 18 comments
Closed

Debian packaging and fonts #332

barak opened this issue Feb 1, 2017 · 18 comments

Comments

@barak
Copy link

barak commented Feb 1, 2017

I have a debian-packaging-related question.

Should the debian binary package require the fonts-3270 package, and use the font from there, and ditch the corresponding .ttf file from the binary package?

Or even more radically, perhaps all the fonts in the repo should be packaged into a fonts-cool-retro-term package, upon which the binary package containing the executable depends, thus allowing their proper installation in the system and use from elsewhere?

Currently the fonts get baked into the binary executable file itself, I believe---either of the above would require that to change, either for just one font (IBM 3270 Medium) or for all of them.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/41552036-debian-packaging-and-fonts?utm_campaign=plugin&utm_content=tracker%2F479407&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F479407&utm_medium=issues&utm_source=github).
@yurikhan
Copy link
Contributor

yurikhan commented Feb 1, 2017

That would be a good thing. Also, that would require the packager to research the licensing status of the fonts involved. Which would also be a good thing.

@barak
Copy link
Author

barak commented Feb 1, 2017

$ git log --stat --no-merges -- '**fonts**' '*.ttf' '*.TTF' '*.otf' '*.OTF'

Urk.

@buhtz
Copy link

buhtz commented Jul 20, 2017

@alexmyczko
Copy link
Contributor

alexmyczko commented Jan 14, 2020

@barak i do the separate package building here http://phd-sid.ethz.ch/debian/cool-retro-term/VERYNEW/

but see the @pazos post at #240 (comment) that is what we need for linux (system fonts being used, and not the font embedded into the binary)

@alexmyczko
Copy link
Contributor

@barak
Copy link
Author

barak commented Jan 14, 2020

Cool, thanks @alexmyczko, that's great. I've merged most of your changes into my debian packaging branch.

I'd really like to get this into Debian proper.

But, I'm thinking we need a proper strategy to make that happen. How does this sound to you?

Let's make a dfsg branch, which contains only free-by-Debian-standards materials. It may refer to things like fonts in a list of requirements. The executable scans at runtime for suitable fonts, and if it can't find what it really wants it backs off to something it can live with (as it does now, sure, but maybe with a popup unless that's disabled by an option or something like that.)

To make life easy, qmltermwidget gets packaged separately, just like qml-module-qtgraphicaleffects is currently.

All the fonts get moved to their own repo (or multiple repos), or at least their own branch. Maybe package the not-too-nonfree ones for uploading into non-free. Or maybe we kick out a tiny "contrib" package which just downloads/installs all the fonts at install time. Or just include a shell script to do that, which people can invoke if they get the urge.

The package proper Recommends: the non-free font packages, but can run without them.

Maybe put some verbiage somewhere encouraging people to make free versions of these archaic fonts, from scratch based on screen captures and such.

Also, need to fix cool-retro-term --version and cool-retro-term --help to not try to connect to the server at startup, so they can happen at autobuilder time and so they don't spit out warnings about X vs Wayland and whatnot. Or at least to send the "regular" --help/--version output to stdout not stderr. This would avoid the man page lagging behind.

@barak
Copy link
Author

barak commented Jan 14, 2020

(Fixed that last sterr/stout thing, #569)

@alexmyczko
Copy link
Contributor

it is already in NEW queue https://ftp-master.debian.org/new.html

@alexmyczko
Copy link
Contributor

things in main can not depend (and imho should not recommend nor suggest) on stuff in non-free or contrib

@alexmyczko
Copy link
Contributor

alexmyczko commented Jan 14, 2020

can we get an amigashell mode? https://github.com/rewtnull/amigafonts/
also see http://www.aiei.ch/linux/amiga/

and the typewriter one? #425

if we could set a separate color for the cursor?
http://bootes.ethz.ch/crt-amiga.png

what is the reason pixels/scanlines (not default) is limited to a set of fonts and not all system fonts?

@barak
Copy link
Author

barak commented Jan 14, 2020

We could set up a stub package retro-font-collection and have it Depends: font-crappy-substitute | font-nonfree-actual-old-font for all the fonts we want. It could also Suggests: font-downloader-in-contrib.

Or, just ship a shell script to download the font files to /usr/local/share/fonts/ and run fc-cache -fv, and require the user to run it manually if they want to go that route. As long as things run without the non-free fonts, albeit at some aesthetic disadvantage, that seems fine.

The whole font issue seems like a "don't let the perfect be the enemy of the good" sort of issue. Let's get the package proper into plain old Debian, and have it use non-free fonts if available. Make life easy...

@alexmyczko
Copy link
Contributor

Cool, thanks @alexmyczko, that's great. I've merged most of your changes into my debian packaging branch.

I suggest you don't need that branch as it might happen to land in salsa.debian.org,
and then there's always the debian source package which you can easily dget and have the debian/* incl. patches (if existing)

I'd really like to get this into Debian proper.

So do I.

But, I'm thinking we need a proper strategy to make that happen. How does this sound to you?

Let's make a dfsg branch, which contains only free-by-Debian-standards materials. It may refer to things like fonts in a list of requirements. The executable scans at runtime for suitable fonts, and if it can't find what it really wants it backs off to something it can live with (as it does now, sure, but maybe with a popup unless that's disabled by an option or something like that.)

The debian package is free-by-Debian-standards (it's called DFSG):
https://www.debian.org/social_contract#guidelines

To make life easy, qmltermwidget gets packaged separately, just like qml-module-qtgraphicaleffects is currently.

If no other software needs that, that doesn't make sense. Keep it like it is (or this should have happened 4+ years ago)

All the fonts get moved to their own repo (or multiple repos), or at least their own branch. Maybe package the not-too-nonfree ones for uploading into non-free. Or maybe we kick out a tiny "contrib" package which just downloads/installs all the fonts at install time. Or just include a shell script to do that, which people can invoke if they get the urge.

Why mess around with repos. This is not Ubuntu with PPAs (besides I recommend sticking with
ONE repo, the official, and nothing else, that's what everyone sugggests), nobody wants a
frankendebian:
https://wiki.debian.org/DontBreakDebian

No downloaderscript, that's why there's debian packages. And no non-free stuff, please.

The package proper Recommends: the non-free font packages, but can run without them.

No it doesn't, and yes it runs just fine. It's just some fonts that are non-free right, feel free to find/create free alternatives that later replace the non-free ones.

Maybe put some verbiage somewhere encouraging people to make free versions of these archaic fonts, from scratch based on screen captures and such.

Good idea, there's plenty of free software tools to do so. autotrace/potrace/fontforge

Also, need to fix cool-retro-term --version and cool-retro-term --help to not try to connect to the server at startup, so they can happen at autobuilder time and so they don't spit out warnings about X vs Wayland and whatnot. Or at least to send the "regular" --help/--version output to stdout not stderr. This would avoid the man page lagging behind.

Sounds good.

@alexmyczko
Copy link
Contributor

We could set up a stub package retro-font-collection and have it Depends: font-crappy-substitute | font-nonfree-actual-old-font for all the fonts we want. It could also Suggests: font-downloader-in-contrib.

I will not. And I discourage anyone to do so.

Or, just ship a shell script to download the font files to /usr/local/share/fonts/ and run fc-cache -fv, and require the user to run it manually if they want to go that route. As long as things run without the non-free fonts, albeit at some aesthetic disadvantage, that seems fine.

No for the reasons already mentioned.

The whole font issue seems like a "don't let the perfect be the enemy of the good" sort of issue. Let's get the package proper into plain old Debian, and have it use non-free fonts if available. Make life easy...

shrug

@alexmyczko
Copy link
Contributor

@barak meanwhile i updated the packaging to create a separate package, but i don't call it qml-module-qtgraphicaleffects, but qml-module-qmltermwidget

@barak
Copy link
Author

barak commented Jan 20, 2020

It seems like you're doing a great job. Please feel free to merge any of my mods as you wish. If you need someone to dput a new version I'm happy to do so, although I guess you already have a DD who's doing that job.

@alexmyczko
Copy link
Contributor

alexmyczko commented Jan 20, 2020

@barak was that an offer for general packages or only crt? are you on irc?

@barak
Copy link
Author

barak commented Jan 21, 2020

Can do others too if you'd like, sure. (Within reason etc)
Not on IRC, but email barak at pearlmutter dot net gets to me.

@alexmyczko
Copy link
Contributor

i guess this issue can be closed now?

@barak barak closed this as completed Jan 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants