Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Should I fear this freetype downgrade?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
ibrandt
n00b
n00b


Joined: 13 Sep 2002
Posts: 24

PostPosted: Mon Jan 06, 2003 4:03 am    Post subject: Should I fear this freetype downgrade? Reply with quote

Hi,

Now that I know that the 'D' in emerge --pretend stands for "Downgrade" (See: What are the letters in "[ebuild N]"?), the question begs why does emerge want to downgrade my current version of freetype, and will doing so break anything?...

Code:
# emerge -p mod_php

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N   ] media-libs/pdflib-4.0.3
[ebuild  N   ] app-crypt/mhash-0.8.16
[ebuild  N   ] sys-apps/supersed-3.58-r2
[ebuild    UD] media-libs/freetype-1.3.1-r3 [2.1.2-r2]
[ebuild  N   ] media-libs/libgd-1.8.3-r5
[ebuild  N   ] app-text/sablotron-0.95-r1
[ebuild  N   ] dev-libs/libmcrypt-2.5.5
[ebuild  N   ] net-libs/libwww-5.4.0-r1
[ebuild  N   ] dev-php/mod_php-4.2.3-r2


It seems that 2.1.2-r2 is the latest version, and is not masked?...

Code:
# emerge -s freetype
Searching...

*  media-libs/freetype
      Latest version available: 2.1.2-r2
      Latest version installed: 2.1.2-r2
      Size of downloaded files: 920 kB
      Homepage:    http://www.freetype.org/
      Description: A high-quality and portable font engine


Thanks,

Ian
Back to top
View user's profile Send private message
snowmoon
n00b
n00b


Joined: 05 Jun 2002
Posts: 64
Location: Albany,NY USA

PostPosted: Mon Jan 06, 2003 4:25 am    Post subject: Reply with quote

Ok here is the relavant portion of the ebuild

DEPEND="
>=net-www/apache-1.3.26-r2
freetype? ( ~media-libs/freetype-1.3.1 >=media-libs/t1lib-1.3.1 )
jpeg? ( >=media-libs/jpeg-6b )
tiff? ( >=media-libs/tiff-3.5.5 )
png? ( >=media-libs/libpng-1.2.1 )
gd? ( >=media-libs/libgd-1.8.3 )
X? ( virtual/x11 )
qt? ( x11-libs/qt )

So first off freetype is an optional compnient that can be turned off using the -freetype USE option.

you could also try the following...

DEPEND="
>=net-www/apache-1.3.26-r2
freetype? ( >=media-libs/t1lib-1.3.1 )
jpeg? ( >=media-libs/jpeg-6b )
tiff? ( >=media-libs/tiff-3.5.5 )
png? ( >=media-libs/libpng-1.2.1 )
gd? ( >=media-libs/libgd-1.8.3 )
X? ( virtual/x11 )
qt? ( x11-libs/qt )


And see if it works.
Back to top
View user's profile Send private message
MoonWalker
Guru
Guru


Joined: 04 Jul 2002
Posts: 510

PostPosted: Mon Jan 06, 2003 6:44 pm    Post subject: Reply with quote

This all doesn't make sense as Freetype 1 and Freetype 2 really are 2 different 'resourses' and IMO should be structured in 2 different packages in Portage.

Here's what is said on freetype.org about the 2:

Freetype 1:
Code:
Note that FreeType 1 is a [i]library[/i]. It is not a font server for your favorite platform, even though it was designed to be used in many of them. Note also that it is not a complete text-rendering library. Its purpose is simply to open and manage font files, as well as load, hint and render individual glyphs efficiently. You can also see it as a "TrueType driver" for a higher-level library, though rendering text with it is easy, as demonstrated by the test programs.


Freetype 2:
Code:
Note that FreeType 2 is a[i] font service [/i]and doesn't provide APIs to perform higher-level features, like text layout or graphics processing (e.g. colored text rendering, "hollowing", etc..). However, it greatly simplifies these tasks by providing a simple, easy to use and uniform interface to access the content of font files.


I think also PHP really distinguage between the two, refering to FT1 as 'ttf' (or similar) and FT2 as 'freetype' which also would mean the ebuilds deps on freetype are erronic. Also, if looking at /usr/portage/profiles/use.desc there is no 'freetype' use variable.

Well I just thought is all looked strange as portage also wanted to downgrade my freetype2 on a -u --deep world. Anyhow I think this really is a candidate for bugzilla! :idea:

EDIT:
I took a run over to php.net and checked up on this and here it is from docs...
php docs wrote:
--with-freetype-dir=DIR

GD: Set the path to freetype2 install prefix.

--with-ttf[=DIR]

GD: Include FreeType 1.x support.

--with-t1lib[=DIR]

GD: Include T1lib support.


I'm not sure really what the T1lib support is, if it have anything to do with Truetype 1 or not.

Anyhow, Think I have enough here to fire a report at bugzilla :lol:
_________________
/Joakim

Living on earth is expensive, but it includes a free trip around the sun
every year.
Back to top
View user's profile Send private message
mrljt
n00b
n00b


Joined: 14 Nov 2002
Posts: 34
Location: Seattle

PostPosted: Mon Jan 06, 2003 11:44 pm    Post subject: Reply with quote

If you look more closely at the ebuild you will notice that freetype is "sloted" in that you can have freetype 1.x and freetype 2.x both installed at the same time.

Code:

# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-x86/media-libs/freetype/freetype-1.3.1-r3.ebuild,v 1.12 2002/12/09 22:42:49 mholzer Exp $

IUSE="nls"

# r3 change by me (danarmak): there's a contrib dir inside the freetype1
# sources with important utils: ttf2bdf, ttf2pfb, ttf2pk, ttfbanner.
# These aren't build together with the main tree: you must configure/make
# separately in each util's directory. However ttf2pfb doesn't compile
# properly. Therefore we download freetype1-contrib.tar.gz which is newer
# and coresponds to freetype-pre1.4. (We don't have an ebuild for that
# because it's not stable?) We extract it to freetype-1.3.1/freetype1-contrib
# and build from there.
# When we update to freetype-pre1.4 or any later version, we should use
# the included contrib directory and not download any additional files.

P2=${PN}1-contrib
S=${WORKDIR}/${P}
DESCRIPTION="TTF-Library"
SRC_URI="ftp://ftp.freetype.org/freetype/freetype1/${P}.tar.gz
         ftp://ftp.freetype.org/freetype/freetype1/${P2}.tar.gz
         http://ftp.sunet.se/pub/text-processing/freetype/freetype1/${P}.tar.gz
         http://ftp.sunet.se/pub/text-processing/freetype/freetype1/${P2}.tar.gz"
HOMEPAGE="http://www.freetype.org/"

SLOT="1"
Back to top
View user's profile Send private message
elzbal
Guru
Guru


Joined: 31 Aug 2002
Posts: 364
Location: Seattle, WA, USA

PostPosted: Tue Jan 07, 2003 12:00 am    Post subject: Reply with quote

mrljt wrote:
If you look more closely at the ebuild you will notice that freetype is "sloted" in that you can have freetype 1.x and freetype 2.x both installed at the same time.


So what you are saying is that if he performs this emerge, it will not ruin or uninstall his current freetype?

What if he does a 'emerge -clean' in the future? Will bad things happen?

(I want to know because the emerge plan for waimea is showing me the same freetype 'downgrade'.)
Back to top
View user's profile Send private message
delta407
Bodhisattva
Bodhisattva


Joined: 23 Apr 2002
Posts: 2876
Location: Chicago, IL

PostPosted: Tue Jan 07, 2003 12:21 am    Post subject: Reply with quote

Slots means that both freetype-1.x.x and freetype-2.x.x are recognized by Portage and are handled as separate packages; freetype-1.x.x will not upgrade to freetype-2.x.x, and if a new version of freetype-1.x.x comes out, the old one will be replaced but freetype-2.x.x will be unaffected.

Portage is smart. :D
_________________
I don't believe in witty sigs.
Back to top
View user's profile Send private message
ibrandt
n00b
n00b


Joined: 13 Sep 2002
Posts: 24

PostPosted: Tue Jan 07, 2003 1:29 am    Post subject: Reply with quote

delta407 wrote:
Slots means that both freetype-1.x.x and freetype-2.x.x are recognized by Portage and are handled as separate packages; freetype-1.x.x will not upgrade to freetype-2.x.x, and if a new version of freetype-1.x.x comes out, the old one will be replaced but freetype-2.x.x will be unaffected.

Portage is smart. :D


If this is the case the emerge --pretend output is very misleading. To me "[ebuild UD] media-libs/freetype-1.3.1-r3 [2.1.2-r2]" implies replacing 2.1.2-r2 with 1.3.1-r3. If all it is doing is merging 1.3.1-r3 into a different slot it should just read, "[ebuild N ] media-libs/freetype-1.3.1-r3" (if you ask me).
Back to top
View user's profile Send private message
elzbal
Guru
Guru


Joined: 31 Aug 2002
Posts: 364
Location: Seattle, WA, USA

PostPosted: Tue Jan 07, 2003 3:47 am    Post subject: Reply with quote

It works perfectly as delta407 advertised.

ibrandt wrote:

If this is the case the emerge --pretend output is very misleading. To me "[ebuild UD] media-libs/freetype-1.3.1-r3 [2.1.2-r2]" implies replacing 2.1.2-r2 with 1.3.1-r3. If all it is doing is merging 1.3.1-r3 into a different slot it should just read, "[ebuild N ] media-libs/freetype-1.3.1-r3" (if you ask me).

For what it's worth, I agree. This is misleading and should be registered as a bug.
Back to top
View user's profile Send private message
MoonWalker
Guru
Guru


Joined: 04 Jul 2002
Posts: 510

PostPosted: Tue Jan 07, 2003 11:27 am    Post subject: Reply with quote

elzbal wrote:
It works perfectly as delta407 advertised.



ibrandt wrote:


If this is the case the emerge --pretend output is very misleading. To me "[ebuild UD] media-libs/freetype-1.3.1-r3 [2.1.2-r2]" implies replacing 2.1.2-r2 with 1.3.1-r3. If all it is doing is merging 1.3.1-r3 into a different slot it should just read, "[ebuild N ] media-libs/freetype-1.3.1-r3" (if you ask me).


For what it's worth, I agree. This is misleading and should be registered as a bug.


I filed a bug (https://bugs.gentoo.org/show_bug.cgi?id=13382), not really about the downgrading of Freetype though, but the way it and php are set up in connection with each other. The php ebuilds have a use varable 'freetype', but there is no "official" use variable 'freetype' (in use.desc). There is a 'truetype' use variable though. However, while the ebuild script uses freetype to define freetype1, php it self uses the term truetype for freetype1 and t1lib. Within php the term freetype is used to define Freetype2 and not freetype1.

I think the slot system is great many times, but when it comes to Freetype it's really a qustion of to different packages Freetype1 and Freetype2 and not Freetype version 1 & 2 - Well that's my opinion about it and slots shouldn't be used here.
_________________
/Joakim

Living on earth is expensive, but it includes a free trip around the sun
every year.
Back to top
View user's profile Send private message
dma
Guru
Guru


Joined: 31 Jan 2003
Posts: 437
Location: Charlotte, NC, USA

PostPosted: Sun Mar 23, 2003 4:38 am    Post subject: Reply with quote

I hacked my ebuilds for php so that it only links to freetype 2:

Code:

-       truetype? ( ~media-libs/freetype-1.3.1 >=media-libs/t1lib-1.3.1 )
+       truetype? ( ~media-libs/freetype-2.1.2-r2 >=media-libs/t1lib-1.3.1 )

-       use truetype && myconf="${myconf} --with-ttf --with-t1lib"
+       use truetype && myconf="${myconf} --with-freetype --with-freetype-dir=/usr/lib --with-t1lib"


and with ldd:
Code:

dma@laureate:/usr/lib/apache-extramodules$ ldd libphp4.so
...
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x42077000)
...


And freetype 1.x is history.
And it works too. In fact, I hacked it because freetype 1.x didn't work at all on my box.
Back to top
View user's profile Send private message
MoonWalker
Guru
Guru


Joined: 04 Jul 2002
Posts: 510

PostPosted: Sun Mar 23, 2003 8:54 pm    Post subject: Reply with quote

I'm not 100% sure, but almost... I would do it like
Code:

-       truetype? ( ~media-libs/freetype-1.3.1 >=media-libs/t1lib-1.3.1 )
+       truetype? ( >=media-libs/freetype-2.1.2 )

-       use truetype && myconf="${myconf} --with-ttf --with-t1lib"
+       use truetype && myconf="${myconf} --with-freetype-dir=/usr/lib"


as 't1lib' is all for trutype1 and rendering in X and have notting to do with trutype2 - if I have understand things right.
_________________
/Joakim

Living on earth is expensive, but it includes a free trip around the sun
every year.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum