<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.finkproject.org/index.php?action=history&amp;feed=atom&amp;title=Fink%3APackaging%3AFink_on_multiple_architectures</id>
	<title>Fink:Packaging:Fink on multiple architectures - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.finkproject.org/index.php?action=history&amp;feed=atom&amp;title=Fink%3APackaging%3AFink_on_multiple_architectures"/>
	<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Packaging:Fink_on_multiple_architectures&amp;action=history"/>
	<updated>2026-06-03T13:28:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://wiki.finkproject.org/index.php?title=Fink:Packaging:Fink_on_multiple_architectures&amp;diff=22&amp;oldid=prev</id>
		<title>Fingolfin: Removing  {{Fink_Header}}</title>
		<link rel="alternate" type="text/html" href="https://wiki.finkproject.org/index.php?title=Fink:Packaging:Fink_on_multiple_architectures&amp;diff=22&amp;oldid=prev"/>
		<updated>2010-05-06T20:16:33Z</updated>

		<summary type="html">&lt;p&gt;Removing  {{Fink_Header}}&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&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>
</feed>