[aur-general] ChangeLog vs .ChangeLog
Hi, The Creating packages wiki [1] is quite clear about what packages should contain. I cloned the Git repo of AUR to look into various existing packages, compare details, and learn by example. Apart from the mandatory .PKGINFO file, some packages contain the optional .INSTALL too. But, there is no package that contains the optional .ChangeLog file. Instead, there are packages that contain ChangeLog file (without dot). I looked into some of the files and they seem to be maintainers' ChangeLog, not original ChangeLog of software project. My question is, if they are indeed maintainers' logs, why nobody bothers naming them .ChangeLog? Is the wiki out of date here, or the policy is relaxed? [1] https://wiki.archlinux.org/index.php/Creating_Packages [2] https://wiki.archlinux.org/index.php/Arch_User_Repository#Git_Repo Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
On 15 June 2012 21:17, Mateusz Loskot <mateusz@loskot.net> wrote:
Apart from the mandatory .PKGINFO file
I've just realised, this file is named .PKGINFO whereas all packages use PKGBUILD. Hmm, what am I missing here? Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
I've just realised, this file is named .PKGINFO whereas all packages use PKGBUILD. PKGBUILD is the file that makepkg reads and builds the package according to it. .PKGINFO file is generated by makepkg command and it contains
pe, 2012-06-15 kello 23:14 +0100, Mateusz Loskot kirjoitti: list of files inside the package, it's size, name, version.... all that information. The .PKGINFO file is included inside the pkgname-pkgver-x86_64.pkg.tar.xz file and you should never modify it manually. .INSTALL is general name for the install file used in some packages. Basicly makepkg just copies the file specified in install= variable to the package along with the .PKGINFO file. Then about the .ChangeLog file. I am not 100% sure, but if I have not undestood everything incorrectly .ChangeLog file is the file specified in changelog= variable inside PKGBUILD and copied into the generated package by makepkg, just like .INSTALL file. This file should contain the changes made into the PKGBUILD and description on how they affect the application. ChangeLog without . in it is just the regular upstream Changelog file, that is then copyed into some dir in the package my make install or some cp/install command.
On 15 June 2012 23:23, Jesse Juhani Jaara <jesse.jaara@gmail.com> wrote:
pe, 2012-06-15 kello 23:14 +0100, Mateusz Loskot kirjoitti:
I've just realised, this file is named .PKGINFO whereas all packages use PKGBUILD.
PKGBUILD is the file that makepkg reads and builds the package according to it. .PKGINFO file is generated by makepkg command [...]
Jessie, Thank you for the clarification. Actually, I think I didn't read the wiki about Creating packages carefully enough, my bad. It would be more explicit if the line "An Arch package is no more than a tar archive compressed using xz, or 'tarball', which contains:" reads "An Arch package is no more than a tar archive compressed using xz, or 'tarball', which contains the following files generated by makepkg:" Taken the liberty to suggest that in the wiki talk https://wiki.archlinux.org/index.php/Talk:Creating_Packages#Clarification_of...
Then about the .ChangeLog file. I am not 100% sure, but if I have not undestood everything incorrectly .ChangeLog file is the file specified in changelog= variable inside PKGBUILD and copied into the generated package by makepkg, just like .INSTALL file. This file should contain the changes made into the PKGBUILD and description on how they affect the application. ChangeLog without . in it is just the regular upstream Changelog file, that is then copyed into some dir in the package my make install or some cp/install command.
I think I understand. So, if I have the package ChangeLog I update as the foo package maintainer: foo/ChangeLog foo/PKGBUILD Then in the foo/PKGBUILD I have changelog=ChangeLog which will be copied to .ChangeLog as you explained above. Right? Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
On Fri, Jun 15, 2012 at 11:14:29PM +0100, Mateusz Loskot wrote:
On 15 June 2012 21:17, Mateusz Loskot <mateusz@loskot.net> wrote:
Apart from the mandatory .PKGINFO file
I've just realised, this file is named .PKGINFO whereas all packages use PKGBUILD. Hmm, what am I missing here?
Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
.PKGINFO is "private API". It's generated by makepkg and lists all the metadata that will end up in pacman's DB once the package is installed. You do not need, and should not want, to try and create these manually. A minimal package might only be a PKGBUILD. The install scriptlet (which becomes .INSTALL), and the changelog (which becomes .CHANGELOG) are entirely optional files. Note that the changelog is for the package itself, and has no relation to the upstream source. Lots of details in PKGBUILD(5) and makepkg(8).
On 16/06/12 08:14, Mateusz Loskot wrote:
On 15 June 2012 21:17, Mateusz Loskot <mateusz@loskot.net> wrote:
Apart from the mandatory .PKGINFO file
I've just realised, this file is named .PKGINFO whereas all packages use PKGBUILD. Hmm, what am I missing here?
PKGBUILD is the file used by makepkg to build a package. .PKGINFO is generated by makepkg and is used by pacman when installing the package. If a file is specified in install= or changelog= they are copied into the package as .INTSALL and .CHANGELOG. The source files for these can be named whatever the packager feels like. Allan
On 15 June 2012 23:32, Allan McRae <allan@archlinux.org> wrote:
On 16/06/12 08:14, Mateusz Loskot wrote:
On 15 June 2012 21:17, Mateusz Loskot <mateusz@loskot.net> wrote:
Apart from the mandatory .PKGINFO file
I've just realised, this file is named .PKGINFO whereas all packages use PKGBUILD. Hmm, what am I missing here?
PKGBUILD is the file used by makepkg to build a package. .PKGINFO is generated by makepkg and is used by pacman when installing the package.
Alan (and Dave too), Thanks too, I finally realised I misinterpreted the wiki article. My bad indeed.
If a file is specified in install= or changelog= they are copied into the package as .INTSALL and .CHANGELOG. The source files for these can be named whatever the packager feels like.
It makes perfect sense to me now. Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
participants (4)
-
Allan McRae
-
Dave Reisner
-
Jesse Juhani Jaara
-
Mateusz Loskot