<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.finkproject.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fingolfin</id>
	<title>the Fink Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.finkproject.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fingolfin"/>
	<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php/Special:Contributions/Fingolfin"/>
	<updated>2026-06-03T13:26:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Packaging:Obsolete_Packages&amp;diff=32</id>
		<title>Fink:Packaging:Obsolete Packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Packaging:Obsolete_Packages&amp;diff=32"/>
		<updated>2012-03-29T09:39:27Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: /* Mark the package as obsolete */ Explain that obsolete splitoffs should use RuntimeDepends: f-o-p&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Fink_Header}}&lt;br /&gt;
&lt;br /&gt;
This page explains a new feature available starting in fink-0.26.0&lt;br /&gt;
&lt;br /&gt;
Over time, packages sometimes get renamed or entirely replaced by other packages. The &amp;quot;obsoletes&amp;quot; mechanism provides a way to deal with the migration to the new package-name for users and package maintainers.&lt;br /&gt;
&lt;br /&gt;
==The situation==&lt;br /&gt;
&lt;br /&gt;
Package upgrades sometimes involve changes to the package name, but fink does not have a direct way to specify such an upgrade path. For example, when an old foo-ssl/foo pair is replaced by a single foo (or other variant removal situation), a user may have foo-ssl installed. How does the user know that &amp;quot;new version of foo replaces old foo-ssl&amp;quot; without having foo already installed?&lt;br /&gt;
&lt;br /&gt;
A similar problem may occur when shared-library packages contain a -bin or other userland component and the major libversion changes: how do we indicate the upgrade path from foo1-bin to foo2-bin? This could be used in conjunction with migration to [[Fink:Policy:system-openssl|-unified packages]].&lt;br /&gt;
&lt;br /&gt;
Finally and more generally, a maintainer may decide that a certain package is no longer needed, and its files get redistributed among other packages. How can other packages that need those files and previously depended on the package that formerly contained them be alerted to change to the new dependency?&lt;br /&gt;
&lt;br /&gt;
Note that all these cases involve direct &amp;quot;drop-in&amp;quot; replacements of the old packages. At this time, I do not think &amp;quot;old library versions&amp;quot; are candidates for this system precisely because one cannot assume that simply using a different library-version will always work: by definition, a new library-version means that symbols are likely removed and/or other completely incompatible interface changes have been made. Also, one cannot always change a package's dependency on a lib &amp;quot;in a vacuum&amp;quot;: specific lib-versions may be inherited from dependencies (down the dep tree), and changes may require cascading dependency changes (up the dep tree).&lt;br /&gt;
&lt;br /&gt;
==The solution==&lt;br /&gt;
&lt;br /&gt;
When a package &amp;quot;foo&amp;quot; is obsolete and to be replaced by a package &amp;quot;bar&amp;quot;, the maintainer needs to do two things in package &amp;quot;foo&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
===Provide a clean upgrade path===&lt;br /&gt;
Package &amp;quot;foo&amp;quot; must still exist as long as other packages use it and/or users might still have it installed. Therefore, one creates a new revision (or version) of it that Depends on whatever package(s) and version(s) now supply its former contents. A user can thus upgrade from his old &amp;quot;foo&amp;quot; to this new one without having to know to install the different package-name.&lt;br /&gt;
&lt;br /&gt;
This package &amp;quot;foo&amp;quot; would be Type:bundle or else some other dummy package format. If not Type:bundle, remember to create a share/doc/%n/README or touch a file share/doc/installed-files/%n, as packages that do not contain any files are forbidden.&lt;br /&gt;
&lt;br /&gt;
====Handling user-land executable packages====&lt;br /&gt;
There might be a reason to keep the actual contents instead of just providing a dummy upgrade package. For example, a certain user-land executable might be in a new package-name but the maintainer wants to keep the old one around for a while. In this situation, one would obviously keep the old package as a real one with contents and not a bundle with Depends on the new one. This does not provide an obvious upgrade path, but the maintainer does not want to make the upgrade mandatory. The best solution might be a DescUsage or DescDetail note about the new package to use instead.&lt;br /&gt;
&lt;br /&gt;
===Mark the package as obsolete===&lt;br /&gt;
To mark the package &amp;quot;foo&amp;quot; as obsolete, list &amp;quot;fink-obsolete-packages&amp;quot; in its Depends field. However, if you are making a splitoff obsolete, then you should use &lt;br /&gt;
  RuntimeDepends: fink-obsolete-packages&lt;br /&gt;
  BuildDepends: fink (&amp;gt;= 0.32)&lt;br /&gt;
instead. Otherwise, building the main package (or any of the non-obsolete splitoffs) will cause fink-obsolete-packages to be installed, which is undesirable. But when using RuntimeDepends, f-o-p gets only installed when a user tries to actually install the obsolete splitoff. &lt;br /&gt;
&lt;br /&gt;
In addition to adding the dependency, you must change the Description field to reflect that the package is obsolete. There are two alternatives here: If your packages has a specific unique successor package 'bar', then use this:&lt;br /&gt;
     Description: OBSOLETE use package 'bar' instead&lt;br /&gt;
If there is no clear successor, use this (and provide the promised extra information in DescDetail)&lt;br /&gt;
     Description: OBSOLETE use 'fink info %n' to learn more&lt;br /&gt;
&lt;br /&gt;
Once you have done this, Fink automatically treats package &amp;quot;foo&amp;quot; as obsolete in several ways:&lt;br /&gt;
* &amp;lt;code&amp;gt;fink cleanup --obsolete-packages&amp;lt;/code&amp;gt; will attempt to remove obsolete packages. Due to the upgrade-path dependencies (see above) the user already has the actual new package installed, so the obsolete package is not needed from the user's perspective.&lt;br /&gt;
* When a user needs to choose among several alternative packages to satisfy a dependency, obsolete packages are marked as such and are presented last in the list. This encourages the user to choose the modern package and avoid having the obsolete package installed.&lt;br /&gt;
* When fink is run in &amp;lt;code&amp;gt;--maintainer&amp;lt;/code&amp;gt; mode, an error is generated when a package has a dependency that is preferentially satisfied by an obsolete package. This encourages the maintainer to write dependencies on the modern package, avoids forcing users to install the obsolete package, and helps excise the obsolete package from the dependency tree.&lt;br /&gt;
There are some special concerns related to headers packages and other situations where a package that is &amp;lt;code&amp;gt;BuildDependsOnly: true&amp;lt;/code&amp;gt; becomes obsolete. If foo-dev is renamed to foo1-dev, foo-dev is obsolete and foo1-dev is a normal package with &amp;lt;code&amp;gt;BuildDependsOnly: true&amp;lt;/code&amp;gt;. The whole purpose here is for other packages that have a dependency on the old package-name (foo-dev) to behave &amp;quot;correctly&amp;quot; instead of breaking. Thus, foo-dev has &amp;lt;code&amp;gt;Depends:foo1-dev, fink-obsolete-packages&amp;lt;/code&amp;gt;. Ordinarily, a dependency on a BDO package is forbidden, however, it is allowed when the dependant package is marked as obsolete. Note that the obsolete package should still be marked with the same BDO tag as the new package, again so that packages that have dependencies on the old package get the correct BDO signals.&lt;br /&gt;
&lt;br /&gt;
The obsoletes mechanism is for packaging changes, not for changes handled by other means such as Shlibs Policy &amp;quot;new package-name for new install_name&amp;quot; situations. You should ''not'' obsolete a library or headers package when a new major libversion is packaged. That is, if there was foo1-{dev,shlibs} and then foo2-{dev,shlibs} is added, foo1 is still a completely valid package (and indeed some dependants may never be able to convert to using foo2 because the the lib interface may have changed compared to foo1). Therefore, neither foo1-dev nor foo1-shlibs should be marked as obsolete.&lt;br /&gt;
&lt;br /&gt;
{{Fink_Header}}&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|New Feature Plans Obsoletes]]&lt;br /&gt;
[[Category: Fink_Roadmap|New Feature Plans Obsoletes]]&lt;br /&gt;
[[Category: Fink_Infofile_Syntax|New Feature Plans Obsoletes]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:InternetDomains&amp;diff=7</id>
		<title>Fink:InternetDomains</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:InternetDomains&amp;diff=7"/>
		<updated>2011-10-29T13:04:32Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The fink project (and the distfiles subproject) use a number of different URL's and internet domains.&lt;br /&gt;
&lt;br /&gt;
The website for fink was formerly hosted at fink.sourceforge.net, which now points to the current site www.finkproject.org.&lt;br /&gt;
&lt;br /&gt;
Domains:&lt;br /&gt;
* finkproject.org&lt;br /&gt;
** www.finkproject.org is the [[Fink:Website|website]]&lt;br /&gt;
** pdb.finkproject.org is the location of the [[Fink:PackageDatabase|package database]]&lt;br /&gt;
** wiki.finkproject.org is the location of the fink Wiki&lt;br /&gt;
* finkmirrors.net&lt;br /&gt;
** bindist.finkmirrors.net is the location of the [[Fink:ArchiveBrowser|archive browser]] (currently hosted at www.finkproject.org)&lt;br /&gt;
** master.us.finkmirrors.net is the master mirror for [[Fink:SelfUpdate|selfupdate via rsync]] (currently hosted at www.finkproject.org)&lt;br /&gt;
** distfiles.master.finkmirrors.net is the master mirror for the [[Fink:Distfiles|distfiles project]] (currently hosted at www.finkproject.org)&lt;br /&gt;
** the are many international mirror sites of both of the above&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: Add information on who can fix issues with DNS entries, should any crop up, or can setup new subdomains.&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|Internet Domains]]&lt;br /&gt;
[[Category: Fink Structure|Internet Domains]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Roadmap:0.26_new_features&amp;diff=66</id>
		<title>Fink:Roadmap:0.26 new features</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Roadmap:0.26_new_features&amp;diff=66"/>
		<updated>2011-10-29T12:59:37Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: cleanup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Fink_Header}}&lt;br /&gt;
&lt;br /&gt;
* [[Fink:Packaging:Obsolete Packages|Obsoletes]] support&lt;br /&gt;
* Enable more than one Notify plugin at once&lt;br /&gt;
* Type: -64bit, %lib, and %type_num[] (for building 64bit libs in parallel with 32bit libs)&lt;br /&gt;
* new Distribution: field, which behaves like the Architecture: field&lt;br /&gt;
* Change allowed filenames for .info file, to: invariant packagename, optionally followed by archname, optionally follwed by distribution, and finally optionally followed by either version or version-revision, each delimited by hyphens.&lt;br /&gt;
* &amp;lt;code&amp;gt;fink configure&amp;lt;/code&amp;gt; now allows to enable/disable the unstable tree&lt;br /&gt;
* &amp;lt;code&amp;gt;--dpkg-status&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--all&amp;lt;/code&amp;gt; modes for &amp;lt;code&amp;gt;fink cleanup&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--tests&amp;lt;/code&amp;gt; mode to utilize &amp;lt;code&amp;gt;InfoTest&amp;lt;/code&amp;gt; blocks&lt;br /&gt;
** '''on''' Errors are fatal&lt;br /&gt;
** '''warn''' Errors turn to warnings&lt;br /&gt;
* &amp;lt;code&amp;gt;--validate&amp;lt;/code&amp;gt; mode that causes packages to be validated&lt;br /&gt;
** '''on''' Errors are fatal&lt;br /&gt;
** '''warn''' Errors turn to warning&lt;br /&gt;
* Info4 (added in 0.26.2)&lt;br /&gt;
{{Fink_Header}}&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|Roadmap 0.26 New Features]]&lt;br /&gt;
[[Category: Fink_Roadmap|0.26 New Features]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Website&amp;diff=12</id>
		<title>Fink:Website</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Website&amp;diff=12"/>
		<updated>2011-10-29T12:56:00Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Fink_Header}}&lt;br /&gt;
&lt;br /&gt;
The contents of the fink website are stored in our CVS repository.  Most portions of the website are constructed by editing XML files, which are subsequently processsed into the files actually used on the website.&lt;br /&gt;
&lt;br /&gt;
TODO: Give more details on the web/html/php vs. XML business.&lt;br /&gt;
&lt;br /&gt;
TODO: Explain about finch.finkproject.org, about how one actually updates the website there (after modifying CVS).&lt;br /&gt;
&lt;br /&gt;
The [[Fink:PackageDatabase|Package Database]] ([[Fink:PackageDatabase|pdb]]) is available at [http://pdb.finkproject.org/pdb/ http://pdb.finkproject.org/pdb/].&lt;br /&gt;
&lt;br /&gt;
TODO: Explain how the PDB and website code tie together?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|Web Site]]&lt;br /&gt;
[[Category: Fink Structure|Web Site]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:CVS&amp;diff=3</id>
		<title>Fink:CVS</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:CVS&amp;diff=3"/>
		<updated>2011-10-29T12:35:53Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project Service Information|&lt;br /&gt;
url=https://sourceforge.net/scm/?type=cvs&amp;amp;group_id=17203|&lt;br /&gt;
purpose= Store parts of the project's source code (in particular, the &amp;quot;dists&amp;quot; module contains all Fink package).|&lt;br /&gt;
maintainer=TODO&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Many different portions of the fink project use the fink CVS repository to store files which are maintained by the fink developers and package maintainers.  There are several basic levels of commit access to the repository: access can be granted to the website area (web, scripts/installer, fink), to the entire scripts module, and to the basic code areas (website area as well as base-files, mirrors, dists, packages).&lt;br /&gt;
&lt;br /&gt;
Here are the top-level headers in the CVS repository, together with a description of what they are used for.&lt;br /&gt;
* '''3rdparty:''' imports of CVS trees from external projects which the fink project plans to modify locally&lt;br /&gt;
* '''CVSROOT:''' access control to the CVS repository, maintained by the fink Core group&lt;br /&gt;
* '''base-files:''' files for the &amp;quot;base-files&amp;quot; package, a part of fink&lt;br /&gt;
* '''dists:''' package descriptions for every distribution starting with 10.2&lt;br /&gt;
* '''dlcompat:''' old files for the &amp;quot;dlcompat&amp;quot; library (libdl), which was moved out of fink and into its own fink package (and later became obsolete with the 10.3 distribution)&lt;br /&gt;
* '''experimental:''' package maintainers and other coders are invited to use a per-person directory here to make experimental versions of fink materials available for testing&lt;br /&gt;
* '''fink:''' files for the &amp;quot;fink&amp;quot; package (the 'fink' package manager programs)&lt;br /&gt;
* '''fink/mirror:''' files for the &amp;quot;fink-mirrors&amp;quot; package, a part of fink&lt;br /&gt;
* '''fink-maintainertools:''' work in progress for a package of utilities for package maintainers&lt;br /&gt;
* '''fink-prebinding:''' files for the &amp;quot;fink-prebinding&amp;quot; program, which has become obsolete with the 10.4 distribution&lt;br /&gt;
* '''fix-fink:''' files for the &amp;quot;fix-fink&amp;quot; program, an obsolete program which was used to correct some problems with fink installations during 2002 and 2003&lt;br /&gt;
* '''mirrors:''' obsolete (former location of the lists of mirrors used by fink)&lt;br /&gt;
* '''packages:''' package descriptions for the 10.1 distribution&lt;br /&gt;
* '''scripts/10.4-update:''' a script for updating a 10.3 or 10.4-transitional fink installation to 10.4, along with 12 MB of .deb files used in the update&lt;br /&gt;
* '''scripts/bindist:''' scripts for creating the binary files, used by fink's UseBinaryFiles mode, as well as available from the Archive Browser; also the scripts used to create the Archive Browser&lt;br /&gt;
* '''scripts/buildfink:''' scripts for an automated build of fink packages&lt;br /&gt;
* '''scripts/disfiles:''' script for automated [[Fink:Distfiles|mirroring of source tarballs]]&lt;br /&gt;
* '''scripts/installer:''' scripts to build the installer package which lets users install fink without compiling anything&lt;br /&gt;
* '''scripts/pdb:''' scripts used to create and update the  [[Fink:PackageDatabase|package database]]&lt;br /&gt;
* '''scripts/selfupdate-server:''' scripts used by the [[Fink:SelfUpdate|selfupdate server]]&lt;br /&gt;
* '''scripts/srcdist:''' scripts used in conjunction with the SourceForge file release system to release the programs fink, fink-mirrors, fink-prebinding, base-files; also to release tarballs of packages to accompany each binary distribution&lt;br /&gt;
* '''scripts/xfree86:''' very obsolete utility for getting snapshot of xfree86 development cvs&lt;br /&gt;
* '''shared-libraries:''' work in progress on implementing an automated detection of shared library dependencies (pretty much obsolete)&lt;br /&gt;
* '''web:''' files for the website (some generated from web/xml, some manually edited here)&lt;br /&gt;
* '''web/xml:''' basic location of the files that one actually edits to change the website (see web/xml/README for an explanation)&lt;br /&gt;
&lt;br /&gt;
There are also some virtual CVS modules:&lt;br /&gt;
* '''xml:''' the thing to check out for modifying the website (contains web, scripts, and fink)&lt;br /&gt;
* '''website:''' the thing to check out for the website contents only&lt;br /&gt;
&lt;br /&gt;
Using CVS:&lt;br /&gt;
This example downloads a copy of [checks out] the xml tree:&lt;br /&gt;
&lt;br /&gt;
cvs -d:ext:yourusername@fink.cvs.sourceforge.net:/cvsroot/fink co xml&lt;br /&gt;
&lt;br /&gt;
{{Fink_Header}}&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|CVS]]&lt;br /&gt;
[[Category: Fink Structure|CVS]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Template:Infobox_Project_Service_Information&amp;diff=100</id>
		<title>Template:Infobox Project Service Information</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Template:Infobox_Project_Service_Information&amp;diff=100"/>
		<updated>2011-10-29T12:14:55Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Created page with &amp;quot;{| style=&amp;quot;border: 1px solid #6666ff; margin: 0px; padding: 0px; width: 270px; align=right; margin: 3px; float: right;&amp;quot; cellspacing=0 | align=&amp;quot;center&amp;quot; colspan=2 style=&amp;quot;background-...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;border: 1px solid #6666ff; margin: 0px; padding: 0px; width: 270px; align=right; margin: 3px; float: right;&amp;quot; cellspacing=0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; colspan=2 style=&amp;quot;background-color: #f0f0ff;&amp;quot; | '''''{{PAGENAME}} Project Service'''''&lt;br /&gt;
|-&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px;&amp;quot;| '''URL(s)'''&lt;br /&gt;
| {{{url|&amp;lt;i&amp;gt;None&amp;lt;/i&amp;gt;}}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px;&amp;quot;| '''Purpose'''&lt;br /&gt;
| {{{purpose}}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:5px;&amp;quot;| '''Maintainer(s)'''&lt;br /&gt;
| {{{maintainer|&amp;lt;i&amp;gt;None&amp;lt;/i&amp;gt;}}}&lt;br /&gt;
|}&amp;lt;includeonly&amp;gt;[[Category:Project Services]]&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Information templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Packaging:x86_64&amp;diff=89</id>
		<title>Fink:Packaging:x86 64</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Packaging:x86_64&amp;diff=89"/>
		<updated>2010-05-06T20:23:50Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Removing  {{Fink_Header}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains information about building packages for the x86_64 architecture.&lt;br /&gt;
&lt;br /&gt;
==Fink and x86_64==&lt;br /&gt;
&lt;br /&gt;
Fink allows users to choose either a 32- or 64-bit Fink installation on 10.6 systems with 64-bit capable processors. Most packages do not need to be patched to support 64-bit systems because Finks adds /sw/var/lib/fink/path-prefix-10.6 to the PATH environmental variable before a package is built. This directory contains aliases for commonly used compiler driver names such as cc, gcc, c++, g++, and adds the appropriate -arch flag when invoking them: -arch i386 for 32-bit Fink, -arch x86_64 for 64-bit Fink. Note that -arch is an Apple GCC only flag.&lt;br /&gt;
&lt;br /&gt;
This should be enough for most build systems. However, there are some caveats.&lt;br /&gt;
&lt;br /&gt;
==Autoconf-based build systems==&lt;br /&gt;
&lt;br /&gt;
Autoconf-based systems use the config.guess script to identify the system type; the resulting identification is a triplet cpu-vendor-os. On Mac OS X, these triplets follow the format cpu-apple-darwinX, where cpu is powerpc, i386, or x86_64, and X is the major version outputted by uname -r. Valid examples are i386-apple-darwin9 and x86_64-apple-darwin10.&lt;br /&gt;
&lt;br /&gt;
Depending on the verifications performed by the configure script, it might be necessary to specify on which system type the resulting programs or libraries are meant to run. This is the purpose of the &amp;lt;tt&amp;gt;--host&amp;lt;/tt&amp;gt;=system_type parameter. Also, &amp;lt;tt&amp;gt;--build&amp;lt;/tt&amp;gt; should be defined whenever &amp;lt;tt&amp;gt;--host&amp;lt;/tt&amp;gt; is.&lt;br /&gt;
&lt;br /&gt;
In order to set &amp;lt;tt&amp;gt;--build&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--host&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;ConfigureParams&amp;lt;/tt&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ConfigureParams: --build=%m-apple-darwin`uname -r | cut -d. -f1` --host=%m-apple-darwin`uname -r | cut -d. -f1`&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or the equivalent in &amp;lt;tt&amp;gt;CompileScript&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Carbon==&lt;br /&gt;
&lt;br /&gt;
The [http://developer.apple.com/carbon Carbon API] contains libraries that are 32-bit only as well as libraries that are both 32- and 64-bit. Packages that build against Carbon libraries might need to be restricted to powerpc and i386 architectures (i.e., ''not'' x86_64) if they use functions that are only available in 32-bit format.&lt;br /&gt;
&lt;br /&gt;
==The LP64 data model==&lt;br /&gt;
&lt;br /&gt;
Mac OS X uses the LP64 data model, the same used in Linux. In LP64, &amp;lt;tt&amp;gt;int&amp;lt;/tt&amp;gt; is a 32-bit data type, whilst &amp;lt;tt&amp;gt;long&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;long long&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;size_t&amp;lt;/tt&amp;gt; are 64-bit data types. Pointers are 64-bit and cannot be stored in &amp;lt;tt&amp;gt;int&amp;lt;/tt&amp;gt; variables. When a program is being compiled for x86_64, GCC automatically defines the &amp;lt;tt&amp;gt;__LP64__&amp;lt;/tt&amp;gt; macro — use it in case you need conditional compilation for that architecture. More information is available in [http://developer.apple.com/mac/library/documentation/Darwin/Conceptual/64bitPorting/index.html Apple's 64-bit Transition Guide].&lt;br /&gt;
&lt;br /&gt;
==-mdynamic-no-pic==&lt;br /&gt;
&lt;br /&gt;
In x86_64, GCC's -mdynamic-no-pic flag, which allowed applications not to be position-independent (PIC), is a no operation. This means that in x86_64 code must always be position-independent. See http://lists.apple.com/archives/Darwin-dev/2009/Dec/msg00035.html&lt;br /&gt;
&lt;br /&gt;
==Xcode projects==&lt;br /&gt;
&lt;br /&gt;
The ARCHS build setting can be used to specify a target architecture for an Xcode project as follows:&lt;br /&gt;
&lt;br /&gt;
 xcodebuild ARCHS=target_architecture &lt;br /&gt;
&lt;br /&gt;
Valid examples of &amp;lt;tt&amp;gt;target_architecture&amp;lt;/tt&amp;gt; include &amp;lt;tt&amp;gt;x86_64&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;i386&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ppc&amp;lt;/tt&amp;gt;. Note that on PowerPC machines Fink expands &amp;lt;tt&amp;gt;%m&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;powerpc&amp;lt;/tt&amp;gt; instead of the &amp;lt;tt&amp;gt;ppc&amp;lt;/tt&amp;gt; value supported by Xcode.&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|Packaging:x86_64]]&lt;br /&gt;
[[Category: Fink Packaging|x86_64]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Packaging:Fink_on_multiple_architectures&amp;diff=22</id>
		<title>Fink:Packaging:Fink on multiple architectures</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Packaging:Fink_on_multiple_architectures&amp;diff=22"/>
		<updated>2010-05-06T20:16:33Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Removing  {{Fink_Header}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Recent versions fink contain support for multiple-architecture distributions (unified .info files) by means of a new &amp;quot;Architecture&amp;quot; field. [[User:Dmrrsn|Dmrrsn]]'s proposal that we adopt this new field starting with the 10.4 tree, and that we get this into released fink versions &amp;quot;very soon&amp;quot;, has been implemented.&lt;br /&gt;
&lt;br /&gt;
For ease of initial setup and migration of existing packages to new architectures, this field has a default value of &amp;quot;powerpc, i386&amp;quot;; for packages which are only appropriate for one architecture or the other, a value could be specified.  For example, any package using a compiler earlier than gcc-4.0 should have &amp;quot;Architecture: powerpc&amp;quot; added to it.  We now have [[Fink:Architecture_powerpc|a wiki page]] to help track tagging with this new field.&lt;br /&gt;
&lt;br /&gt;
(The tags &amp;quot;powerpc&amp;quot; and &amp;quot;i386&amp;quot; are the correct ones coming from uname, which are used in the name of binary-darwin-foo directories.  One question is whether we should allow alternates like ppc which fink would translate.)&lt;br /&gt;
&lt;br /&gt;
Note that this mechanism is very flexible: if we ever have a third architecture, we can just add a third tag.&lt;br /&gt;
&lt;br /&gt;
The indexer only indexes those packages whose Architecture field (or its default value) contains the current architecture. That is, &amp;quot;if an Architecture field is present, only index the file if local architecture value is listed&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If a package needs separate info files for different architectures, they can be given names like foo-powerpc.info and foo-i386.info.  If the version/revision numbers also need to be included, the name could be foo-powerpc-1.1-1.info and so on. The .info filename is not parsed for any metadata (any *.info will be read). To simplify validation, the location of the archname within the filename is now fixed:  the  validator accepts the invariant &amp;lt;i&amp;gt;packagename&amp;lt;/i&amp;gt;, optionally followed by &amp;lt;i&amp;gt;archname&amp;lt;/i&amp;gt;, optionally follwed by &amp;lt;i&amp;gt; distribution&amp;lt;/i&amp;gt;, and finally optionally followed by either &amp;lt;i&amp;gt;version&amp;lt;/i&amp;gt; or &amp;lt;i&amp;gt;version-revision&amp;lt;/i&amp;gt;, each delimited by hyphens.&lt;br /&gt;
&lt;br /&gt;
We have a tag already for the current architecture: %m.  This can be used in forming names of patch files, for example. That also means we can use the existing variant mechanisms and shell logic tests to support Platform-dependent differences in a single .info file. Note that compiled packages are not portable among different architectures (the arch string is part of the .deb filename and control-file metadata), and [[User:Dmacks|DMacks]] doesn't think there is a need to worry about &amp;quot;upgrade paths&amp;quot; among platforms. That means a package that contains platform-dependent differences does not need to have a different revision on each platform or contain %m in the Package field.&lt;br /&gt;
&lt;br /&gt;
Vasi pondered using this opportunity to add a Distribution field as well, since it would have the same indexer-exclusion behavior. If we're gonna have a consolidated tree, let's not be pansies about it. If we needed needed Distribution-based differences for a package, we would need a new %-exp token and also a way to have different Revisions for different values (or else some other way to make the Distribution visible in debian metadata). Also need a way to have different subtypes (conditionals on Type key values, for example, a -pyXX package only has XX=2.1 on distro &amp;lt;= 10.3). But until we figure out a syntax, could just say &amp;quot;if you need different revision in different Distributions, make separate .info files. Seems reasonable...&lt;br /&gt;
&lt;br /&gt;
: So should we go for a unified tree right now?  Should it include 10.3 as well as 10.4? [[User:Dmrrsn|Dmrrsn]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|Packaging Multiple Architectures]]&lt;br /&gt;
[[Category: Fink_Roadmap|Packaging Multiple Architectures]]&lt;br /&gt;
[[Category: Fink_Infofile_Syntax|Packaging Multiple Architectures]]&lt;br /&gt;
[[Category: Fink_Trees|Packaging Multiple Architectures]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:FinkProject&amp;diff=61</id>
		<title>Fink:FinkProject</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:FinkProject&amp;diff=61"/>
		<updated>2010-05-06T20:12:36Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Fink project is now running its own server at finkproject.org, thanks to the generosity of [http://www.xs4all.nl www.xs4all.nl].&lt;br /&gt;
&lt;br /&gt;
Note: a number of services provided by the server require authentication.  THERE IS SOMETHING NONSTANDARD ABOUT OUR CERTIFICATE; HERE IS HOW TO GET YOUR SYSTEM TO RECOGNIZE IT.&lt;br /&gt;
&lt;br /&gt;
Currently, we host the following components of fink on this server:&lt;br /&gt;
* This wiki&lt;br /&gt;
* The main fink website&lt;br /&gt;
* The [[Fink:PackageDatabase|package database]] &lt;br /&gt;
* The [[Fink:Distfiles|Distfiles project]] (originally a joint effort with MacPorts (formerly DarwinPorts))&lt;br /&gt;
* The [[Fink:ArchiveBrowser|archive browser]]&lt;br /&gt;
* The master server for [[Fink:SelfUpdate|selfupdate via rsync]]&lt;br /&gt;
* [[Fink:InternetDomains|DNS Hosting]]&lt;br /&gt;
&lt;br /&gt;
Details on [[Server Administration|server administration are here]].&lt;br /&gt;
&lt;br /&gt;
We do not yet have specific plans to migrate the remaining external components to this server:&lt;br /&gt;
* The package-submissions and other trackers (presently hosted on SourceForge).&lt;br /&gt;
* The mailing lists (presently hosted on SourceForge).&lt;br /&gt;
* The CVS repository (presently hosted on SourceForge).&lt;br /&gt;
* The file release system (presently hosted on SourceForge).&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|FinkProject]]&lt;br /&gt;
[[Category: Fink Structure|FinkProject]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Roadmap:1.0_goals&amp;diff=38</id>
		<title>Fink:Roadmap:1.0 goals</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Roadmap:1.0_goals&amp;diff=38"/>
		<updated>2010-05-06T20:09:35Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Removing  {{Fink_Header}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;What could/should be done before fink can be called &amp;quot;1.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* all [[Fink:Roadmap:Near Term Goals|Near Term Goals]]&lt;br /&gt;
&lt;br /&gt;
* all [[Fink:Roadmap:Medium Term Goals|Medium Term Goals]]&lt;br /&gt;
&lt;br /&gt;
* see also the [https://sourceforge.net/tracker/?atid=317203&amp;amp;group_id=17203 patch tracker] and [https://sourceforge.net/tracker/?atid=117203&amp;amp;group_id=17203 bug tracker]&lt;br /&gt;
&lt;br /&gt;
* rethink our -ssl policy (see [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1102917&amp;amp;group_id=17203&amp;amp;atid=367203 Tracker 1102917] )&lt;br /&gt;
&lt;br /&gt;
* implement a possibility to remove unneeded packages (ala debfoster, see [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=593475&amp;amp;group_id=17203&amp;amp;atid=367203 Tracker 593475] )&lt;br /&gt;
&lt;br /&gt;
* reccomends/suggests support in fink (see [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=662397&amp;amp;group_id=17203&amp;amp;atid=367203 Tracker 662397] )&lt;br /&gt;
&lt;br /&gt;
* unstable binary distribution? (see [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=595244&amp;amp;group_id=17203&amp;amp;atid=367203 Tracker 595244] )&lt;br /&gt;
&lt;br /&gt;
* fink option to only use binary packages available (use .deb in preference to whatever is in pdb, even if .deb version isn't in pdb at all)&lt;br /&gt;
&lt;br /&gt;
* rethink our policy on maybe gpg signing info files and/or binary packages.&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|Roadmap 1.0 Goals]]&lt;br /&gt;
[[Category: Fink_Roadmap|1.0 Goals]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Roadmap:Medium_Term_Goals&amp;diff=78</id>
		<title>Fink:Roadmap:Medium Term Goals</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Roadmap:Medium_Term_Goals&amp;diff=78"/>
		<updated>2010-05-06T20:09:23Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Removing  {{Fink_Header}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page tracks features or bug fixes that could or should be implemented in a future fink release. This may includes major new feature. For smaller or high priority features or bug fixes please refer to the [[Fink:Roadmap:Near_Term_Goals|Near Term Goals]] page.&lt;br /&gt;
&lt;br /&gt;
* [[Fink:Major New Feature Plans:InheritedBuildDepends|InheritedBuildDepends]]&lt;br /&gt;
&lt;br /&gt;
* [[Fink:Major New Feature Plans:XMLish Source and Patch|new Source blocks]]&lt;br /&gt;
&lt;br /&gt;
* more indexing work&lt;br /&gt;
** refactor into &amp;lt;code&amp;gt;Indexer.pm&amp;lt;/code&amp;gt; and possibly other modules&lt;br /&gt;
** load-on-demand&lt;br /&gt;
** version the DB&lt;br /&gt;
** forget_packages should have better options&lt;br /&gt;
&lt;br /&gt;
* dep-engine refactoring work?&lt;br /&gt;
&lt;br /&gt;
* External API (so scripts can 'use Fink') &amp;lt;b&amp;gt;'use Fink' works in CVS&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* optimizations&lt;br /&gt;
** auto-split PkgVersion?&lt;br /&gt;
&lt;br /&gt;
* bug fixing!&lt;br /&gt;
&lt;br /&gt;
* dist-upgrade?&lt;br /&gt;
&lt;br /&gt;
* automatically detect users' location, even for binary install&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=642075&amp;amp;group_id=17203&amp;amp;atid=367203 rethink passwd]&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/tracker/?func=detail&amp;amp;aid=992093&amp;amp;group_id=17203&amp;amp;atid=117203 Check version dependencies during package upgrade] to avoid (or at least minimize) dep breakage. If foo-dev:depends:foo(=%v-%r), upgrading foo should (but does not currently) trigger an upgrade of foo-dev. &lt;br /&gt;
** Moving discussion to bug.&lt;br /&gt;
&lt;br /&gt;
* New license that permits source mirroring but not binary distribution. (see [http://article.gmane.org/gmane.os.apple.fink.devel/10927 openssl-linked packages: need new license type?] on fink-devel)&lt;br /&gt;
&lt;br /&gt;
* launchd support. We may '''have''' to get this done before 10.5, since the old StartupItems mechanism is deprecated.&lt;br /&gt;
** Modify daemonic so that it turns DaemonicFile/Name into launchd plists on 10.4 and above. (make sure 'daemonic install' checks for and removes an existing StartupItems if it installs a LaunchAgents) &lt;br /&gt;
** Add a new field for explicitly specifying launchd plist files to be placed in /Library/LaunchAgents (or LaunchDaemons? what's the difference?). This should also automate calling launchctl load and unload in PostInst and PreRm. (What about backwards compatibility, what would happen on 10.3?)&lt;br /&gt;
*** LaunchDaemons start up on system boot.  LaunchAgents start up for each user when that user logs in (at the console only, probably) &amp;amp;mdash;[[User:Msachs|msachs]]&lt;br /&gt;
**[http://lingon.sourceforge.net/ Lingon] is a really nice editor for launchd plists. It is open-source and could provide some good code to get the changes to daemonic started.&lt;br /&gt;
* make AutoScanpackages default to true (requires that an apt-ftparchive binary be available as part of the default installation).&lt;br /&gt;
&lt;br /&gt;
* Try to conditionalize more fields&lt;br /&gt;
** AppBundles, DocFiles, JarFiles, Files, ConfFiles, InfoDocs&lt;br /&gt;
** Source and Patch (maybe wait for [[Fink:Major New Feature Plans:XMLish Source and Patch|new Source blocks]])&lt;br /&gt;
** SplitOff?&lt;br /&gt;
** Set*--probably trivial to do (piggyback on the ConfigureParams parser)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Create command-line tools for things fink does in PostInst and other maintainer scripts. Eg: fink-update-pod, fink-app-bundles.&lt;br /&gt;
** Currently, fink inserts bash code in the PostInst, so when you upgrade fink you still have old .debs around with old code.&lt;br /&gt;
** If the PostInst just said 'fink-update-pod' (with any reasonable arguments) then the debs would automagically use the new code.&lt;br /&gt;
** Packages that use scrollkeeper and gconf would benefit here, since it's a pain to put the various multiline bits (that could change with future scrollkeeper or gconf versions and makes validation checks for their presence easier. I think at a minimum the same args passed to PostInst plus some package details would be good as generic interface for this kind of thing...simplifies the migration and leaves us completely open for future enhancements.&lt;br /&gt;
** Note that we'd have to automatically add a Depends: fink (&amp;gt;= X), where X is the earliest version of Fink that provides all the command-line scripts needed for this package's Postinst/Prerm.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;A 'fink env' command. Use case is 'eval `fink env foo`', which sets up the environment in the current shell as if it would be used to build foo. This allows foo to be built manually.&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;i&amp;gt;dmacks&amp;lt;/i&amp;gt;: I see on #fink you also mentioned installing deps; good idea! Something like:&amp;lt;code&amp;gt;fink install-dependencies [--build] foo&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;fink install-[build-]dependencies foo&amp;lt;/code&amp;gt; (just runtime, or optionally also build-time deps/cons for a given pkg).&lt;br /&gt;
&lt;br /&gt;
* consider copying dports trace-mode: conditional on a cmdline option, use DYLD_INSERT to monitor what files are opened during a build...then we can check for missing deps? Would be necessary to use FORCE_FLAT, which could be dangerous.&lt;br /&gt;
** After discussion with pogma and msacshs, it '''appears''' that FORCE_FLAT now can cause the wrong symbol to be used (rather than crashes, as under 10.2). In this case, we have to be much more careful to ensure that this doesn't cause data corruption.&lt;br /&gt;
&lt;br /&gt;
* Begin splitting PkgVersion up into reasonable size chunks. Splitting shall be on functional borders, ie: where there already is a distinction made by fink between different groups of PkgVersions.&lt;br /&gt;
*# Split up Source (package from .info file) vs. Dummy (from Status or VirtPackage)&lt;br /&gt;
*## Create PV::Source which @ISA PV. &lt;br /&gt;
*##* There should be a method is_source() which returns true for PV::Source only.&lt;br /&gt;
*##* '''Temporarily''', so that PV's don't suddenly lose the Source methods, make a PV::Dummy which @ISA PV::Source, but returns false for is_source().&lt;br /&gt;
*## Make creators of PVs use the new correct constructors in different packages.&lt;br /&gt;
*## Move methods to PV::Source one-by-one&lt;br /&gt;
*## Modify other classes to respect whether a package is a Source or not (eg: real_install)&lt;br /&gt;
*## Eventually, once everything is ready for it, remove PV::Dummy. Can remove it bit-by-bit by overriding methods with die &amp;quot;Not implemented!&amp;quot;. &lt;br /&gt;
*# Split up Parent vs. SplitOff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Shlibs needs work: '''AutoShlibs can wait'''&lt;br /&gt;
** unpredictable depends?&lt;br /&gt;
** [https://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1249916&amp;amp;group_id=17203&amp;amp;atid=117203 read-from-debs] issue &lt;br /&gt;
* [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=998741&amp;amp;group_id=17203&amp;amp;atid=317203 Module::Build] '''can wait'''&lt;br /&gt;
* prompt for confirmation before [http://permalink.gmane.org/gmane.os.macosx.fink.devel/10863 upgrading] 'fink reinstall' to 'fink build'? '''don't care?'''&lt;br /&gt;
* dmacks: abolish implicit &amp;lt;code&amp;gt;Source&amp;lt;/code&amp;gt;? '''Not worth doing until [[Fink:Major New Feature Plans:XMLish Source and Patch|XMLish Source and Patch]]'''&lt;br /&gt;
* Validator:&lt;br /&gt;
** Enforcement of requiring Depends:base-files if install any profile.d scripts (in .deb)? (see [http://thread.gmane.org/gmane.os.macosx.fink.devel/11210 fink-devel]) '''not sure we want to do this, so not a blocker'''&lt;br /&gt;
&lt;br /&gt;
* fink selfupdate-http&lt;br /&gt;
** Every so often some user complains of not being able to selfupdate-cvs or selfupdate-rsync because of aggressive firewalls/proxies. We could create tarballs (every hour? every CVS commit? every day?) and make them available via HTTP on some server(s) (monipol thought of sourceforge.net, akh suggested master rsync server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|Roadmap Medium Term Goals]]&lt;br /&gt;
[[Category: Fink_Roadmap|Medium Term Goals]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Roadmap:Near_Term_Goals&amp;diff=68</id>
		<title>Fink:Roadmap:Near Term Goals</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Roadmap:Near_Term_Goals&amp;diff=68"/>
		<updated>2010-05-06T20:09:11Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Removing  {{Fink_Header}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page tracks features or bug fixes that should be implemented in the next fink release (or soon afterwards). This mostly includes high priority or easy-to-implement tasks. For other features please refer to the [[Fink:Roadmap:Medium_Term_Goals|Medium Term Goals]] page.&lt;br /&gt;
&lt;br /&gt;
See also the [https://sourceforge.net/tracker/?atid=317203&amp;amp;group_id=17203 patch tracker] and [https://sourceforge.net/tracker/?atid=117203&amp;amp;group_id=17203 bug tracker]&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
&lt;br /&gt;
* Update docs: [[Fink:Roadmap:New_documentation_needs|New documentation needs]]&lt;br /&gt;
* cirdan, drm: dist up&lt;br /&gt;
* test FinkCommander patch for incremental indexing&lt;br /&gt;
* x11 user vs. sdk issue&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|Roadmap Near Term Goals]]&lt;br /&gt;
[[Category: Fink_Roadmap|Near Term Goals]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Roadmap:New_documentation_needs&amp;diff=67</id>
		<title>Fink:Roadmap:New documentation needs</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Roadmap:New_documentation_needs&amp;diff=67"/>
		<updated>2010-05-06T20:08:58Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Removing  {{Fink_Header}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See also new major features in releases [[Fink:Roadmap:0.25 new features|0.25]], [[Fink:Roadmap:0.26 new features|0.26]], [[Fink:Roadmap:0.27 new features|0.27]], and [[Fink:Roadmap:0.28 new features|0.28]]&lt;br /&gt;
&lt;br /&gt;
* Info3/Info4&lt;br /&gt;
&lt;br /&gt;
* 'fink cleanup' (in fink.8 but need to add to web docs)&lt;br /&gt;
&lt;br /&gt;
* AutoShlibs&lt;br /&gt;
&lt;br /&gt;
* fast scanpackages with apt-ftparchive, including AutoScanpackages&lt;br /&gt;
&lt;br /&gt;
* SkipPrompts&lt;br /&gt;
&lt;br /&gt;
* --maintainer (in fink.8 but need to add to web docs)&lt;br /&gt;
&lt;br /&gt;
* remove old 'fink list --tree=foo' documentation, add 'fink --trees=foo,bar command'.&lt;br /&gt;
&lt;br /&gt;
* new DocFiles/Files abilities&lt;br /&gt;
** Conditionals&lt;br /&gt;
** subdirs/recursion&lt;br /&gt;
** Mention the &amp;lt;i&amp;gt;allowed&amp;lt;/i&amp;gt; wildcards that are used and useful (&amp;lt;b&amp;gt;* ?&amp;lt;/b&amp;gt; (any others--curly-braces or square brackets?)) so we don't accidentally break useful existing functionality...conditionals interferes with some uses of curly-braces&lt;br /&gt;
** Mention backtick scripts?&lt;br /&gt;
&lt;br /&gt;
* --log-output and --logfile (in fink.8 but need to add to web docs)&lt;br /&gt;
&lt;br /&gt;
* 'fink plugins' lists checksum algorithms&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|Roadmap New documentation needs]]&lt;br /&gt;
[[Category: Fink_Roadmap|New documentation needs]]&lt;br /&gt;
[[Category: Fink_Documentation|New documentation needs]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Downloads&amp;diff=62</id>
		<title>Fink:Downloads</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Downloads&amp;diff=62"/>
		<updated>2010-05-06T20:08:12Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Removing  {{Fink_Header}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The download statistics at Sourceforge.net may not be fully reliable, but they are the best measure we have of how many people might be using fink.&lt;br /&gt;
Files other than the installer files are mirrored other places, so the Sourceforge statistics are misleading.  But we will attempt to keep track of Sourceforge downloads of installer files.&lt;br /&gt;
&lt;br /&gt;
For any currently downloadable file, the current download count is available on the Files page at sourceforge.net/projects/fink.  But for formerly available files, we need to record the final download count here.&lt;br /&gt;
&lt;br /&gt;
=== 10.4 ===&lt;br /&gt;
&lt;br /&gt;
Fink-0.8.1-Intel-Installer.dmg is still available.  (MD5 = 38c5837f8beb1ea96a04f9ca1ceba800; see [[Security]])&lt;br /&gt;
&lt;br /&gt;
Fink-0.8.1-PowerPC-Installer.dmg is still available.&lt;br /&gt;
&lt;br /&gt;
Fink-0.8.0-Installer.dmg was downloaded 272907 times.&lt;br /&gt;
&lt;br /&gt;
=== 10.3 ===&lt;br /&gt;
&lt;br /&gt;
Fink-0.7.2-Installer.dmg is still available.&lt;br /&gt;
&lt;br /&gt;
Fink-0.7.1-Installer.dmg was downloaded 216556 times.&lt;br /&gt;
&lt;br /&gt;
Fink-0.7.0-Installer.dmg was downloaded 131165 times.&lt;br /&gt;
&lt;br /&gt;
=== 10.2 ===&lt;br /&gt;
&lt;br /&gt;
Fink-0.6.4-Installer.dmg is still available.&lt;br /&gt;
&lt;br /&gt;
Fink-0.6.3-Installer.dmg was downloaded 37077 times.&lt;br /&gt;
&lt;br /&gt;
Fink-0.6.2-Installer.dmg was downloaded 102211 + 37132 times (the file was listed twice on the sourceforge page).&lt;br /&gt;
&lt;br /&gt;
Fink-0.6.1-Installer.dmg was downloaded 25403 times.&lt;br /&gt;
&lt;br /&gt;
Fink-0.5.3-Installer.dmg was downloaded 57596 times.&lt;br /&gt;
&lt;br /&gt;
Fink-0.5.2-Installer.dmg was downloaded 33665 times.&lt;br /&gt;
&lt;br /&gt;
Fink-0.5.1-Installer.dmg was downloaded 70330 times.&lt;br /&gt;
&lt;br /&gt;
Fink-0.5.0a-Installer.dmg was downloaded 41410 times.&lt;br /&gt;
&lt;br /&gt;
=== 10.1 ===&lt;br /&gt;
&lt;br /&gt;
Fink-0.4.0-Installer.dmg is still available.&lt;br /&gt;
&lt;br /&gt;
fink-0.3.2a-installer.dmg.gz was downloaded 90804 times.&lt;br /&gt;
&lt;br /&gt;
fink-0.3.1-installer.dmg.gz was downloaded 24337 times.&lt;br /&gt;
&lt;br /&gt;
fink-0.3.0-installer.dmg.gz was downloaded 23158 times.&lt;br /&gt;
&lt;br /&gt;
{{Fink_Header}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Fink]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:About&amp;diff=23</id>
		<title>Fink:About</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:About&amp;diff=23"/>
		<updated>2010-05-06T20:07:07Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Removing  {{Fink_Header}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Fink? ==&lt;br /&gt;
&lt;br /&gt;
Fink is a project that wants to bring the full world of Unix Open Source software to Darwin and Mac OS X. As a result, we have two main goals. First, to modify existing Open Source software so that it will compile and run on Mac OS X. (This process is called porting.) Second, to make the results available to casual users as a coherent, comfortable distribution that matches what Linux users are used to. (This process is called packaging.) The project offers precompiled binary packages as well as a fully automated build-from-source system.&lt;br /&gt;
&lt;br /&gt;
To achieve these goals, Fink relies on the excellent package management tools produced by the Debian project - dpkg, dselect and apt-get. On top of that, Fink adds its own package manager, named (surprise!) fink. You can view fink as a build engine - it takes package descriptions and produces binary .deb packages from that. In the process, it downloads the original source code from the Internet, patches it as necessary, then goes through the whole process of configuring and building the package. Finally, it wraps the results up in a package archive that is ready to be installed by dpkg.&lt;br /&gt;
&lt;br /&gt;
Since Fink sits on top of Mac OS X, it has a strict policy to avoid interference with the base system. As a result, Fink manages a separate directory tree and provides the infrastructure to make it easy to use.&lt;br /&gt;
&lt;br /&gt;
== Why use Fink? ==&lt;br /&gt;
&lt;br /&gt;
Five reasons to use Fink to install Unix software on your Mac:&lt;br /&gt;
&lt;br /&gt;
# Power. Mac OS X includes only a basic set of command line tools. Fink brings you enhancements for these tools as well as a selection of graphical applications developed for Linux and other Unix variants.&lt;br /&gt;
# Convenience. With Fink the compile process is fully automated; you'll never have to worry about Makefiles or configure scripts and their parameters again. The dependency system automatically takes care that all required libraries are present. Our packages are usually set up for their maximum feature set.&lt;br /&gt;
# Safety. Fink's strict non-interference policy makes sure that the vulnerable parts of your Mac OS X system are not touched. You can update Mac OS X without fear that it will step on Fink's toes and vice versa. Also, the packaging system lets you safely remove software you no longer need.&lt;br /&gt;
# Coherence. Fink is not just a random collection of packages, it is a coherent distribution. Installed files are placed in predictable locations. Documentation listings are kept up to date. There's a unified interface to control server processes. And there's more, most of it working for you under the hood.&lt;br /&gt;
# Flexibility. You only download and install the programs you need. Fink gives you the freedom to install XFree86 or other X11 solutions in any way you like. If you don't want X11 at all, that's okay too. &lt;br /&gt;
&lt;br /&gt;
To learn more, go to the [http://fink.sourceforge.net/ Fink home page].&lt;br /&gt;
&lt;br /&gt;
[[Category: Fink|About]]&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Template:Fink_Header&amp;diff=99</id>
		<title>Template:Fink Header</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Template:Fink_Header&amp;diff=99"/>
		<updated>2010-05-06T20:03:01Z</updated>

		<summary type="html">&lt;p&gt;Fingolfin: Hiding  {{Fink_Header}} globally&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- this template is obsolete, please do not use it anymore --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fingolfin</name></author>
	</entry>
</feed>