On Nov 27, 2009, at 2:05 AM, Jasper Frumau wrote:

> I am not a base developer so for me this is hard to judge or comprehend, but 
> is there not any open source code available used by other package managers or 
> repositories that can be used to start a Mac Ports package manager project?

Sure. The question was always what package format to use. At first (~2002) we 
discussed dpkg, but abandoned because IIRC at the time Debian preferred Apple 
to not use it. We held out hope for apkg, a more advanced/suitable Apple 
Package Format, but that didn't materialize. We've discussed on and off a 
xar-based packaging format, but that, though a very nice idea, has still not 
happened.

In the meantime, we implemented support for generating quite a few different 
package formats in base very early on -- dpkg, rpm, pkg/mpkg.

If you install the dpkg or rpm ports, you can build packages from ports right 
now. Example:
        land...@max> sudo port dpkg dict
        ...
        ---> Creating dpkg for dict-1.9.7
        land...@max> dpkg --info `port dir dict`/work/*.deb
         new debian package, version 2.0.
         size 69930 bytes: control archive= 434 bytes.
             467 bytes,    10 lines      control              
         Package: dict
         Architecture: darwin-i386
         Version: 1.9.7-1
         Section: textproc
         Maintainer: landonf
         Installed-Size: 201
         Description: Dictionary Server Protocol (RFC2229) client
          The Dictionary Server Protocol (DICT) is a TCP transaction based 
query/response protocol that allows a client to access dictionary definitions 
from a set of natural language dictionary databases. dict(1) is a client which 
can access DICT servers from the command line.
          .
          http://www.dict.org/

The same also works for 'rpm', and Apple 'pkg' and 'mpkg' targets.

Someone just needs to invest the time in implementing automated building of all 
of the packages into a repository, ensuring that MacPorts meta-data is properly 
included, and you could provide an package (apt-get, yum, macports 'archive', 
...) binary repository.

If you look in base/portmgr/packaging, you'll actually find a number of scripts 
that do most of this:           - dpkgall.tcl
        - mpkgall.tcl
        - packageall.tcl
        - rpmall.tcl

With some pragmatic decisions about a packaging format, hardware on which to 
run builds (IIRC j...@apple has offered to donate this), and a bit of time, I'd 
bet a sufficiently motivated developer (admittedly, not me) could have a binary 
repository fairly operational within a couple weeks.

-landonf
_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Reply via email to