Hello all, I had the idea of adding a .SRCINFO file to source packages generated by makepkg. I did some research to see if this had been previously proposed and where the discussion went. I've collected my thoughts on such an addition for your consideration. Previous proposal: The idea of generating a .SRCINFO file was previously proposed on the mailing list [1]. No format was ever agreed upon and discussion died off when no fixes were sent based off of developer suggestions. I've included my own proposed format to fuel discussion and maybe reach an ideal format. Proposed format with example (using "boost" PKGBUILD [2]): - Every variable (pkgver, depends, etc) is preceded by ($pkgname). - Every "global" (defined outside a package_* function) variable is explicitly listed for each $pkgname. - Every array (arch, depends, etc) has one line for each array element # Generated by makepkg 4.0.3 # Mon Aug 27 01:23:45 UTC 2012 (boost) pkgbase = boost (boost) pkgname = boost (boost) pkgver = 1.50.0 (boost) pkgrel = 2 (boost) epoch = 0 (boost) pkgdesc = Free peer-reviewed portable C++ source libraries - Development (boost) arch = i686 (boost) arch = x86_64 (boost) url = http://www.boost.org/ (boost) depends = boost-libs=1.50.0 (boost) optdepends = python: for python bindings (boost) optdepends = python2: for python2 bindings (boost) optdepends = boost-build: to use boost jam for building your project. (boost) makedepends = icu (boost) makedepends = python (boost) makedepends = python2 (boost) makedepends = bzip2 (boost) makedepends = zlib (boost) makedepends = openmpi (boost) source = http://downloads.sourceforge.net/boost/boost_1_50_0.tar.gz (boost) license = custom (boost-libs) pkgbase = boost (boost-libs) pkgname = boost-libs (boost-libs) pkgver = 1.50.0 (boost-libs) pkgrel = 2 (boost-libs) epoch = 0 (boost-libs) pkgdesc = Free peer-reviewed portable C++ source libraries - Runtime (boost-libs) arch = i686 (boost-libs) arch = x86_64 (boost-libs) url = http://www.boost.org/ (boost-libs) depends = gcc-libs (boost-libs) depends = bzip2 (boost-libs) depends = zlib (boost-libs) depends = icu (boost-libs) optdepends = openmpi: for mpi support (boost-libs) makedepends = icu (boost-libs) makedepends = python (boost-libs) makedepends = python2 (boost-libs) makedepends = bzip2 (boost-libs) makedepends = zlib (boost-libs) makedepends = openmpi (boost-libs) source = http://downloads.sourceforge.net/boost/boost_1_50_0.tar.gz (boost-libs) license = custom Advantages of proposed format: - Don't need a bash parser to determine PKGBUILD variables in a source package. This would make things a lot easier for projects (including AUR) that depend on information from PKGBUILD variables. - Previously proposed implementation could run into issues for a package named "global", this proposal avoids need for "global" label. Disadvantages of proposed format: - Adds additional dot file to every generated source package. - Compared to the previously proposed implementation, this implementation results in more lines (and a bit of redundancy) in each .SRCINFO file due to the avoidance of any "global" variables. Thanks for the consideration. I am more than happy to answer any questions relating to anything above. Regards, Jason [1] http://mailman.archlinux.org/pipermail/pacman-dev/2010-August/011461.html [2] https://projects.archlinux.org/svntogit/packages.git/plain/trunk/PKGBUILD?h=...