Tag Archives: mac os

Statistics for November 2009

Welcome to a new instalment of the statistics posts.

As usual, these statistics refer to package description files. A package description is a .info file that describes the information that Fink needs in order to manage packages. Sometimes a package is split into multiple .info files (e.g. package-10.5.info and package-10.6.info). It is also possible that a single .info file defines multiple packages: split-offs, different Perl/Python/… versions, -mac/-x11, etc. I’ve also counted a .info file that is in both stable and unstable as a single file.

The (monthly) evolution of the number of package descriptions is shown inside parentheses/in italics.

Currently Fink has 5,318 (-67) .info files split into the following sections:

Section # of Pkgs
libs/perlmods 685 (+4)
libs 472 (+4)
sci 439 (+6)
gnome 364 (+4)
utils 347 (+5)
crypto 327 (+0)
net 325 (+2)
devel 271 (+5)
graphics 245 (+6)
kde 244 (-112)
text 237 (+1)
games 200 (+1)
kde/po 187 (+1)
languages 164 (+1)
sound 159 (+2)
x11 137 (+0)
editors 128 (+0)
libs/pythonmods 81 (+0)
web 75 (+0)
x11-wm 61 (+0)
database 57 (+2)
libs/rubymods 48 (+0)
base 43 (+1)
shells 18 (+0)
x11-system 4 (+0)

The top 10 maintainers are

Maintainer # of Pkgs
Benjamin Reed 716 (-126)
Jack Fink 716 (+48)
Daniel Macks 283 (+0)
The Gnome Core Team 209 (-5)
Daniel Johnson 180 (+6)
Todai Fink Team 153 (+0)
Christian Schaffner 122 (+0)
Ben Hines 103 (+0)
Dave Morrison 99 (+0)
Kurt Schwehr 91 (+1)

These 10 top maintainers are responsible for 2,672 (50%) package descriptions. Out of 286 (+0) maintainers, 122 (+0) (43%) of them maintain only one package description, and 210 (-1) (73%) of them maintain five or less package descriptions.

There are 586 (-5) (11%) unmaintained package descriptions.

Advertisements

FinkCommander 0.5.5 has been released

FinkCommander 0.5.5 has been released! FinkCommander is a graphical user interface for Fink and it’s been around for a few years. This new version is a universal application (32- and 64-bit Intel, 32- and 64-bit PowerPC), it’s been translated to Japanese, and the feedback e-mail actually says whether the feedback is positive or negative! It’s also got a new icon designed by yours truly.

FinkCommander 0.5.5 About Window

There’s still a lot of work to do. If you’re an Objective C/Cocoa developer or a graphic designer, willing to contribute to FinkCommander, drop me a note.

Finding files in Fink

Let’s see some methods to find files and their packages in Fink.

Using find

find is a command that is provided by most, if not all, Unix-based systems, including Mac OS X. Let’s say you want to find a file named zipfile.py in your Fink installation. On my system,

$ find /sw -name zipfile.py
/sw/lib/python2.5/zipfile.py
/sw/lib/python2.6/zipfile.py

You can be more specific if you’re sure that a file resides in a certain directory, e.g.

$ find /sw/lib -name libgutils\*dylib
/sw/lib/fontforge/libgutils.1.0.3.dylib
/sw/lib/fontforge/libgutils.1.dylib
/sw/lib/fontforge/libgutils.dylib

In the command above I also used \* to indicate that I was interested in any file whose name starts with libgutils and ends with dylib.

Furthermore, depending on your configuration, you may use locate or mdfind for this purpose.

Using dpkg

Fink uses a fork of Debian’s dpkg tool for binary package management. Here are some useful dpkg commands.

If you want to find out which package installed a given file, use dpkg -S. For example,

$ dpkg -S zipfile.py
python26: /sw/lib/python2.6/zipfile.pyc
python26: /sw/lib/python2.6/zipfile.pyo
python26: /sw/lib/python2.6/test/test_zipfile.pyc
python26: /sw/lib/python2.6/test/test_zipfile.pyo
python25: /sw/lib/python2.5/zipfile.py
python25: /sw/lib/python2.5/zipfile.pyc
python25: /sw/lib/python2.5/zipfile.pyo
python25: /sw/lib/python2.5/test/test_zipfile.pyc
python25: /sw/lib/python2.5/test/test_zipfile.pyo
python26: /sw/lib/python2.6/test/test_zipfile.py
python25: /sw/lib/python2.5/test/test_zipfile.py
python26: /sw/lib/python2.6/zipfile.py

Specifying an absolute path will limit the results:

$ dpkg -S /sw/lib/python2.6/zipfile.py
python26: /sw/lib/python2.6/zipfile.py

If you want to list the files installed by a given package (e.g. the di package), use dpkg -L:

$ dpkg -L di
/.
/sw
/sw/bin
/sw/bin/di
/sw/bin/mi
/sw/share
/sw/share/doc
/sw/share/doc/di
/sw/share/doc/di/MANIFEST
/sw/share/doc/di/README
/sw/share/man
/sw/share/man/man1
/sw/share/man/man1/di.1

The grep command can be useful to filter the results: to list only the binaries (programs) installed under /sw/bin,

$ dpkg -L di | grep ^/sw/bin
/sw/bin
/sw/bin/di
/sw/bin/mi

If you have a binary package (i.e., a .deb file that was either built on your machine or obtained via a binary distribution), you need to use dpkg -c instead:

$ dpkg -c /sw/fink/debs/bibclean_2.11.4-2_darwin-i386.deb
drwxr-xr-x root/admin        0 2009-09-16 09:04 ./
drwxr-xr-x root/admin        0 2009-09-16 09:04 ./sw/
drwxr-xr-x root/admin        0 2009-09-16 09:04 ./sw/bin/
-rwxr-xr-x root/admin   112564 2009-09-16 09:04 ./sw/bin/bibclean
drwxr-xr-x root/admin        0 2009-09-16 09:04 ./sw/share/
drwxr-xr-x root/admin        0 2009-09-16 09:04 ./sw/share/doc/
drwxr-xr-x root/admin        0 2009-09-16 09:04 ./sw/share/doc/bibclean/
-rw-r--r-- root/admin    26550 2009-09-16 09:04 ./sw/share/doc/bibclean/README
-rw-r--r-- root/admin     2932 2009-09-16 09:04 ./sw/share/doc/bibclean/bibclean.copyright
-rw-r--r-- root/admin    48768 2009-09-16 09:04 ./sw/share/doc/bibclean/bibclean.pdf
-rw-r--r-- root/admin    76512 2009-09-16 09:04 ./sw/share/doc/bibclean/bibclean.ps
-rw-r--r-- root/admin    55226 2009-09-16 09:04 ./sw/share/doc/bibclean/bibclean.txt
drwxr-xr-x root/admin        0 2009-09-16 09:04 ./sw/share/man/
drwxr-xr-x root/admin        0 2009-09-16 09:04 ./sw/share/man/man1/
-rw-r--r-- root/admin    42974 2009-09-16 09:04 ./sw/share/man/man1/bibclean.1

The directory/folder /sw/fink/debs contains convenient symbolic links to the actual .deb files created when packages were built on your machine. On the other hand, .deb files obtained via binary distributions are located under /sw/var/cache/apt/archives.

Statistics for October 2009

Welcome to a new instalment of the statistics posts.

As usual, these statistics refer to package description files. A package description is a .info file that describes the information that Fink needs in order to manage packages. Sometimes a package is split into multiple .info files (e.g. package-10.5.info and package-10.6.info). It is also possible that a single .info file defines multiple packages: split-offs, different Perl/Python/… versions, -mac/-x11, etc. I’ve also counted a .info file that is in both stable and unstable as a single file.

The (monthly) evolution of the number of package descriptions is shown inside parentheses/in italics.

Currently Fink has 5,385 (+56) .info files split into the following sections:

Section # of Pkgs
libs/perlmods 681 (+8)
libs 468 (+6)
sci 433 (+7)
gnome 360 (+0)
kde 356 (+7)
utils 342 (+2)
crypto 327 (+1)
net 323 (+4)
devel 266 (+7)
graphics 239 (+2)
text 236 (+2)
games 199 (+2)
kde/po 186 (+0)
languages 163 (+4)
sound 157 (+0)
x11 137 (+0)
editors 128 (+0)
libs/pythonmods 81 (+0)
web 75 (+3)
x11-wm 61 (+0)
database 55 (+0)
libs/rubymods 48 (+0)
base 42 (+0)
shells 18 (+1)
x11-system 4 (+0)

The top 10 maintainers are

Maintainer # of Pkgs
Benjamin Reed 842 (+1)
Jack Fink 668 (+23)
Daniel Macks 283 (+3)
The Gnome Core Team 214 (+0)
Daniel Johnson 174 (+11)
Todai Fink Team 153 (+2)
Christian Schaffner 122 (+0)
Ben Hines 103 (+0)
Dave Morrison 99 (+0)
Kurt Schwehr 90 (+1)

These 10 top maintainers are responsible for 2,748 (51%) package descriptions. Out of 286 (-2) maintainers, 122 (-2) (42%) of them maintain only one package description, and 211 (-1) (74%) of them maintain five or less package descriptions.

There are 591 (+10) (11%) unmaintained package descriptions.

Fink Web site is down

2009-10-30 06:00 (GMT) update: The following rsync mirrors are reported to be working and up-to-date:

rsync://distfiles.master.finkmirrors.net/finkinfo/
rsync://sjc.ca.us.finkmirrors.net/finkinfo/
rsync://ber.de.eu.finkmirrors.net/finkinfo/
rsync://ams.nl.eu.finkmirrors.net/finkinfo/
rsync://hnd.jp.asi.finkmirrors.net/finkinfo/

2009-10-29 10:40 (GMT) update: Martin Costabel has detected that some of the rsync mirrors are still stalled. The following ones are reported to be working and up-to-date:

rsync://ber.de.eu.finkmirrors.net/finkinfo/
rsync://ams.nl.eu.finkmirrors.net/finkinfo/
rsync://hnd.jp.asi.finkmirrors.net/finkinfo/

If you use rsync to selfupdate, edit /sw/etc/fink.conf so that the rsync mirror you use (the line that starts with Mirror-rsync) is one of the above mirrors.

Also, http://www.finkproject.org should be working and up-to-date. Please report any issues to the fink-users mailing list.

2009-10-28 00:20 (GMT) update: finkmirrors.net is fixed and already working for some users (it might take some time for the changes to propagate to your DNS servers). This means that rsync selfupdate, source files, and bindists should be working. You might want to revert the changes that were made to /sw/etc/fink.conf and /sw/etc/apt/sources.list and run fink scanpackages.

As some of you might have noticed, our Fink Web site is down due to server issues. This also means that the rsync mirrors aren’t updating and the master mirror is unreachable. Whilst we sort this out, follow the (updated) instructions below. Don’t forget to make a backup copy of the original files.

We apologise for the inconvenience. Further news will be available on this blog and the mailing lists.

FiNK art

Fink is your favourite package manager for Mac OS X.

FiNK, on the other hand, is street art:

FiNK Bonus Points

FiNK "Bonus Points"

Reproduced with FiNK‘s permission.

Manual download of source files

Fink automatically downloads source files as needed using your DownloadMethod of choice. But say you need/want to download them separately — on a higher-speed connection, using a different download manager, or using customised settings for the download. You are free to do so as long as you place the source files under /sw/src or FetchAltDir.

In order to find out which files are needed by a given package, run

fink fetch --dry-run packagename

This command dumps the source file name(s), its(their) MD5 checksum(s), the list of URLs whence the file(s) can be obtained, and the maintainer of the package. If you want/need to download from a Fink mirror instead of the original URLs, use

http://mirrorname/filename

as in

http://distfiles.master.finkmirrors.net/filename