bohoomil / fontconfig-ultimate

freetype2-infinality run-time settings => infinality compatible fontconfig => infinality-bundle
453 stars 38 forks source link

Support Fedora repo again #70

Open jacek99 opened 9 years ago

jacek99 commented 9 years ago

Hi,is there any possibility we could get it prebuild for Fedora, like it used to be with infinality.net

Would be much appreciated thank you

bohoomil commented 9 years ago

Thanks for the feedback.

I'd love to see binary packages for Fedora and Debian/Ubuntu. The problem is I'm neither a regular Fedora nor Debian user: I run both distros in virtual machines, but my packages certainly far from being correct in terms of either of the distros' standards. (The fontconfig configuration in both has been actually maintained manually.) All in all, I'd wholeheartedly appreciate a knowledgeable person who could maintain packages for distros other than Arch, or at least could help in maintaining them. I believe that re-using the original Fedora build scripts--which a few months ago was planned IIRC: check the appropriate thread on the infinality.net board--could speed up the process. Basically, all that needs to be done is putting all the bits together and placing them on the server (for libraries only, we could use bohoomil.com; they shouldn't affect the bandwidth dramatically I guess).

ahawthorne commented 9 years ago

I have a working freetype infinaltiy ultimate package for Fedora 21 based off of your work, Bohoomil. The RPM spec is derrived from the freetype package from RPM Fusion which uses ld-config to allow the additional freetype package to be installed along side the Fedora package. This way we don't clobber system packages.

I haven't gone further than the freetype package at this point, but I do plan on getting a package together for fontconfig - perhaps not a binary package, but at least one to manage the configuration as right now I'm doing this manually.

Anyway, I'm by no means an expert when it comes to RPM packaging or Fedora standards, but I do use Fedora daily for work and absolutely must have fonts render well and don't mind contributing anywhere I can.

Here's the repo I'm using to build the freetype-infinality-ultimate package https://github.com/ahawthorne/freetype-infinality-ultimate. RPMs - https://0021fba2f558f2ffe3f9191cca96d0516f8ad92e.googledrive.com/host/0B-fnBvrhyoD0Sk9XWjRRLV9kRFU/Fedora/21/x86_64/

bohoomil commented 9 years ago

Thank you very much, @ahawthorne. I will certainly check the files as soon as possible.

It seems to be a good moment to discuss a few problems non-Archers may be interested in. If possible, I'd appreciate your checking out pull request #71 and share your opinions on the direction fontconfig-ib for other Linux distributions should take. Thank you in advance.

beniked commented 9 years ago

Hello there, i just built/packaged bohoomil-enabled (lol) freetype, fontconfig and cairo for Fedora 21 using mock. Fonts look great (Firefox as well).

OBS repo here: http://download.opensuse.org/repositories/home:/nick31:/INFINALITY-FEDORA/Fedora_21/

Let me know if something needs attention.

silenc3r commented 9 years ago

@beniked could you please provide repo for Fedora 22? Also, since I'm quite new to Fedora, what's the proper way to install packages from your repository? They all conflict with system packages. I did it like this:

rpm --nodeps -e $package
dnf install $package-infinality-ultimate

Is there any simpler way to do this? From what I recall, on Arch you just have to issue one command, ie:

pacman -S $package-infinality-ultimate

and it would automatically resolve package conflict. Can yum/dnf do the same?

beniked commented 9 years ago

@silenc3r OBS doesn't have F22 repo to build against yet.

As for replacing a package with yum, look here http://ahmed.amayem.com/replacing-yum-plugin-replace-one-yum-install-package-php-with-another-on-linux-centos-6/

silenc3r commented 9 years ago

@beniked I think you should add "Obsoletes" tag to package spec files. That would simplify installation, especially on Fedora 22 which does not support yum by default.

beniked commented 9 years ago

I believe I did, check the spec file? Let me know what to change.

silenc3r commented 9 years ago

I think you should change Obsoletes line to something like this:

Obsoletes: foo%{?_isa} < %{version},foo < %{version}

Here's gist with updated files: https://gist.github.com/silenc3r/ef1c86c4a2267687ebe1 I've also changed Revision and Provides lines, but that's just cosmetics. I wanted to make it look similar to official packages, but I'm not sure if that's the right way to do that.

There's still problem with cairo though, since the package provided in official repo is higher version than the one from your repository and cannot be obsoleted.

carlwgeorge commented 9 years ago

@silenc3r @beniked

If foo is the package you want to obsolete, then obsoleting foo%{?_isa} won't work. %{?_isa} translates to either (x86-32) or (x86-64), so you are either going to have an obsolete for freetype(x86-32) or freetype(x86-64). But there are no packages by those names; the foo package may provide those names, but they are virtual provides. Obsoletes only work on the actual package name, not the virtual provides.

That said, DON'T OBSOLETE STOCK PACKAGES! That would make for a situation where a user may subscribe to the repo for one package, then later a yum update unexpectedly installs more packages that are not desired. See the SafeRepo Initiative.

The correct way to handle this would be to remove the obsoletes, and use a conflicts and provides only.

Provides: foo = %{version}-%{release}
Provides: foo%{?_isa} = %{version}-%{release}
Conflicts: foo < %{version}

If setup that way in the spec file, you can use yum shell, yum swap, or dnf --allowerasing to install the alternative package name. More info on the subject.

tylerwylie commented 9 years ago

This would be amazing in Fedora 22, another request for packages for F22. I'm going to spin up an Arch VM to give these packages a shot too.

silenc3r commented 9 years ago

@tylerwylie here's my Fedora 22 repo: http://download.opensuse.org/repositories/home:/silencer:/infinality-fedora/Fedora_22/

Install packages with dnf install --allowerasing freetype-infinality-ultimate fontconfig-infinality-ultimate cairo-infinality-ultimate

smerrill commented 9 years ago

@silenc3r Thank you very much for this. It works wonderfully on my F22 system.

tylerwylie commented 9 years ago

This installed for me as well @silenc3r, much thanks!

nicber commented 9 years ago
[root@localhost ~]# dnf install --allowerasing freetype-infinality-ultimate fontconfig-infinality-ultimate cairo-infinality-ultimate
Last metadata expiration check performed 0:01:50 ago on Tue Jun  9 23:44:25 2015.
Dependencies resolved.
===================================================================================================================================================================================================================
 Package                                                         Arch                                Version                                    Repository                                                    Size
===================================================================================================================================================================================================================
Installing:
 cairo-infinality-ultimate                                       x86_64                              1.14.2-12.2                                home_silencer_infinality-fedora                              707 k
 cairo-infinality-ultimate-devel                                 x86_64                              1.14.2-12.2                                home_silencer_infinality-fedora                              341 k
 cairo-infinality-ultimate-gobject                               x86_64                              1.14.2-12.2                                home_silencer_infinality-fedora                               17 k
 fontconfig-infinality-ultimate                                  x86_64                              2.11.93-13.2                               home_silencer_infinality-fedora                              251 k
 freetype-infinality-ultimate                                    x86_64                              2.5.5-12.1                                 home_silencer_infinality-fedora                              459 k
 freetype-infinality-ultimate-devel                              x86_64                              2.5.5-12.1                                 home_silencer_infinality-fedora                              355 k
Removing:
 cairo                                                           x86_64                              1.14.2-1.fc22                              @System                                                      1.7 M
 cairo-devel                                                     x86_64                              1.14.2-1.fc22                              @System                                                      2.6 M
 cairo-gobject                                                   x86_64                              1.14.2-1.fc22                              @System                                                       35 k
 freetype                                                        x86_64                              2.5.5-1.fc22                               @System                                                      913 k
 freetype-devel                                                  x86_64                              2.5.5-1.fc22                               @System                                                      2.4 M

Transaction Summary
===================================================================================================================================================================================================================
Install  6 Packages
Remove   5 Packages

Total size: 2.1 M
Is this ok [y/N]: y
Downloading Packages:
[SKIPPED] freetype-infinality-ultimate-2.5.5-12.1.x86_64.rpm: Already downloaded                                                                                                                                  
[SKIPPED] fontconfig-infinality-ultimate-2.11.93-13.2.x86_64.rpm: Already downloaded                                                                                                                              
[SKIPPED] cairo-infinality-ultimate-1.14.2-12.2.x86_64.rpm: Already downloaded                                                                                                                                    
[SKIPPED] cairo-infinality-ultimate-gobject-1.14.2-12.2.x86_64.rpm: Already downloaded                                                                                                                            
[SKIPPED] cairo-infinality-ultimate-devel-1.14.2-12.2.x86_64.rpm: Already downloaded                                                                                                                              
[SKIPPED] freetype-infinality-ultimate-devel-2.5.5-12.1.x86_64.rpm: Already downloaded                                                                                                                            
Running transaction check
Transaction check succeeded.
Running transaction test
Error: Transaction check error:
  file /etc/fonts/conf.d/README from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /etc/fonts/conf.d/49-sansserif.conf from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/bin/fc-cache from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/bin/fc-cat from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/bin/fc-list from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/bin/fc-match from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/bin/fc-pattern from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/bin/fc-query from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/bin/fc-scan from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/bin/fc-validate from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/lib64/libfontconfig.so.1.9.0 from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/share/man/man1/fc-query.1.gz from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/share/man/man1/fc-scan.1.gz from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64
  file /usr/share/man/man5/fonts-conf.5.gz from install of fontconfig-infinality-ultimate-2.11.93-13.2.x86_64 conflicts with file from package fontconfig-2.11.94-1.fc22.x86_64

Error Summary
-------------

My repos:

[root@localhost yum.repos.d]# dnf repolist all
Last metadata expiration check performed 0:04:52 ago on Tue Jun  9 23:44:25 2015.
repo id                                                                                    repo name                                                                                                status
*fedora                                                                                    Fedora 22 - x86_64                                                                                       enabled: 44,762
fedora-debuginfo                                                                           Fedora 22 - x86_64 - Debug                                                                               disabled
fedora-source                                                                              Fedora 22 - Source                                                                                       disabled
google-chrome                                                                              google-chrome                                                                                            enabled:      3
home_silencer_infinality-fedora                                                            home:silencer:infinality-fedora (Fedora_22)                                                              enabled:     28
rpmfusion-free                                                                             RPM Fusion for Fedora 22 - Free                                                                          enabled:    494
rpmfusion-free-debuginfo                                                                   RPM Fusion for Fedora 22 - Free - Debug                                                                  disabled
rpmfusion-free-rawhide                                                                     RPM Fusion for Fedora Rawhide - Free                                                                     disabled
rpmfusion-free-rawhide-debuginfo                                                           RPM Fusion for Fedora Rawhide - Free - Debug                                                             disabled
rpmfusion-free-rawhide-source                                                              RPM Fusion for Fedora Rawhide - Free - Source                                                            disabled
rpmfusion-free-source                                                                      RPM Fusion for Fedora 22 - Free - Source                                                                 disabled
rpmfusion-free-updates                                                                     RPM Fusion for Fedora 22 - Free - Updates                                                                enabled:      0
rpmfusion-free-updates-debuginfo                                                           RPM Fusion for Fedora 22 - Free - Updates Debug                                                          disabled
rpmfusion-free-updates-source                                                              RPM Fusion for Fedora 22 - Free - Updates Source                                                         disabled
rpmfusion-free-updates-testing                                                             RPM Fusion for Fedora 22 - Free - Test Updates                                                           disabled
rpmfusion-free-updates-testing-debuginfo                                                   RPM Fusion for Fedora 22 - Free - Test Updates Debug                                                     disabled
rpmfusion-free-updates-testing-source                                                      RPM Fusion for Fedora 22 - Free - Test Updates Source                                                    disabled
rpmfusion-nonfree                                                                          RPM Fusion for Fedora 22 - Nonfree                                                                       enabled:    163
rpmfusion-nonfree-debuginfo                                                                RPM Fusion for Fedora 22 - Nonfree - Debug                                                               disabled
rpmfusion-nonfree-rawhide                                                                  RPM Fusion for Fedora Rawhide - Nonfree                                                                  disabled
rpmfusion-nonfree-rawhide-debuginfo                                                        RPM Fusion for Fedora Rawhide - Nonfree - Debug                                                          disabled
rpmfusion-nonfree-rawhide-source                                                           RPM Fusion for Fedora Rawhide - Nonfree - Source                                                         disabled
rpmfusion-nonfree-source                                                                   RPM Fusion for Fedora 22 - Nonfree - Source                                                              disabled
rpmfusion-nonfree-updates                                                                  RPM Fusion for Fedora 22 - Nonfree - Updates                                                             enabled:      0
rpmfusion-nonfree-updates-debuginfo                                                        RPM Fusion for Fedora 22 - Nonfree - Updates Debug                                                       disabled
rpmfusion-nonfree-updates-source                                                           RPM Fusion for Fedora 22 - Nonfree - Updates Source                                                      disabled
rpmfusion-nonfree-updates-testing                                                          RPM Fusion for Fedora 22 - Nonfree - Test Updates                                                        disabled
rpmfusion-nonfree-updates-testing-debuginfo                                                RPM Fusion for Fedora 22 - Nonfree - Test Updates Debug                                                  disabled
rpmfusion-nonfree-updates-testing-source                                                   RPM Fusion for Fedora 22 - Nonfree - Test Updates Source                                                 disabled
*updates                                                                                   Fedora 22 - x86_64 - Updates                                                                             enabled:  3,964
updates-debuginfo                                                                          Fedora 22 - x86_64 - Updates - Debug                                                                     disabled
updates-source                                                                             Fedora 22 - Updates Source                                                                               disabled
updates-testing                                                                            Fedora 22 - x86_64 - Test Updates                                                                        disabled
updates-testing-debuginfo                                                                  Fedora 22 - x86_64 - Test Updates Debug                                                                  disabled
updates-testing-source                                                                     Fedora 22 - Test Updates Source                                                                          disabled

@silenc3r I ran that command and that is the error I got. Thanks for your work!

carlwgeorge commented 9 years ago

@nikux It looks like fontconfig-infinality-ultimate-2.11.93-13.2 conflicts with exactly the same version of fontconfig.

fontconfig < 2.11.93-13.2

But your installed version is fontconfig-2.11.94-1.fc22. The package maintainer (@silenc3r) should remove the version requirement on the conflict, or ensure that his fontconfig-infinality-ultimate is always a newer version than the stock one.

silenc3r commented 9 years ago

When I remove version requirement the x86_64 package conflicts with i686 one. I don' really know solution for that, except for changing fontconfig-infinality-ultimate version to some phony high number.

ghost commented 9 years ago

@nikux I also encountered this problem. My workaround was to downgrade fontconfig dnf downgrade fontconfig and prevent fontconfig from updating dnf install --allowerasing freetype-infinality-ultimate fontconfig-infinality-ultimate cairo-infinality-ultimate --exclude fontconfig. @silenc3r I really appreciate your work :)

jonas-sk commented 9 years ago

It seems like "light" fonts, especially mscorefonts, are rendered in a pretty ugly way. I used @silenc3r 's repository - Thank you for your work! - with the default settings. I don't remember the same problems on Arch though, which is why I am posting it here. Examples:

Example 1: dict.cc Example 2: Google Example 3: Argon2 PDF https://www.cryptolux.org/images/0/0d/Argon2.pdf

As mentioned, I think only mscorefonts are affected: Arial vs Liberation Sans with Infinality

I'd guess it#s some issues with my settings. Could anyone give some pointers?

bohoomil commented 9 years ago

@Quanttek -- this is what dict.cc looks like on Arch with Arial 6.9, freetype-iu 2.6-1 (with default run time settings) and fontconfig-iu 2.11.1-28:

arial-dict cc

First of all, check the output of grep Xft <(xrdb -q) and INFINALITY <(env) (it should reflect the values in infinality-settings.sh). Pdf documents generated with pdflatex will always look a bit blurred/washed out: for better results, consider using TTF/OTF fonts instead of LaTeX default faces.

jonas-sk commented 9 years ago
Xft.antialias:  1
Xft.autohint:   0
Xft.dpi:    96
Xft.hinting:    1
Xft.hintstyle:  hintfull
Xft.lcdfilter:  lcddefault
Xft.rgba:   rgb
INFINALITY_FT_FRINGE_FILTER_STRENGTH=25
INFINALITY_FT_USE_VARIOUS_TWEAKS=true
INFINALITY_FT_FILTER_PARAMS=08 24 36 24 08
INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH=25
INFINALITY_FT_STEM_ALIGNMENT_STRENGTH=15
INFINALITY_FT_STEM_FITTING_STRENGTH=15

They reflect the values of /etc/X11/xinit/xinitrc.d/infinality-settings.sh

EDIT: I'm now convinced those problems only exist with mscorefonts and no other

bohoomil commented 9 years ago

@Quanttek The golden rule is: for best results, always use the most recent MS fonts. ;-)

jonas-sk commented 9 years ago

@bohoomil Well, this is the package I installed, project homepage is here and it seems rather outdated. I chose the free fc-preset now and everything is fine. I think I'll submit a patch for fedy, which uses an even older version of the package

mastercoms commented 9 years ago

@silenc3r Maybe take a look at this, it shows the solution for conflicting x86_64 and i686 packages.

valmar commented 9 years ago

Dear all, I have a question. What is now the recommended repo fo infinality on Fedora? Am I right in assuming that the most up-to-date and mantained is the one from silenc3r?

danielrenninghoff commented 8 years ago

Hi, over the weekend I packaged bohoomils infinality bundle (including fonts) for Fedora. I plan on keeping it updated, since I'm mainly a Fedora user. Check out my blog post here for more information and installation instructions. :)

philbyjohn commented 8 years ago

@drenninghoff It would be extremely useful if you could do the same for FC 22, great many users will be benefited.