Currently, completing a release works with a plain git push. It may push to several repos, depending on how the client repo's origin's pushurl is configured. Those repos may have different user names, and if the ssh wrapper added -l via JW_PKG_SSH_EXTRA_OPTS, the push would fail. Hence, disable JW_PKG_SSH_EXTRA_OPTS for that case.
Rename command "distro" to "pkg" together with "info", its last remaining subcommand. "distro" is often used in the sense of "Linux distribution", which would be too narrow for the targets jw-pkg could theoretically support.
jw-pkg supports more than RPM-based package managers, but for historic reasons, lots of its Makefile variables still have "RPM" in their names. This is misleading. Replace "RPM" in variable names by the more generic "PKG" where appropriate.
pkg.run is not evaluated on Debian, fix that. For now it's hacked into pkg.sh, which is bound to be replaced by Python. The limited hassle is still worth the detour.
dc945537 (pkg.sh log-install: Log %attr(0777, ...) for links) fixed packaging symlink for Debian-based distros, but produces a warning on RPM based distros: Links may not have explicit attributes, so go back to not specifying them at all for RPM.
Not logging any attribute for links, as it's now, breaks Debian's parser. So, log %attr(0777, $owner, $mode). This fixes the parser on the Debian side and hopefully leaves the RPM side intact.
jw-build doesn't stop at building software, packaging it afterwards is also a core feature, so this commit gives the package a better name.
The commit replaces strings s/jw-build/jw-pkg/ in text files and file names. Fallout to the functionality is fixed, variable names are left as they are, though. To be adjusted by later commits.
filter_devel now identifies more intricate directory structures below /include/ as belonging into development packages. The filter is dynamically amended, based on whether or not the directories contain .h or .hpp files.
Generating the $(TOPDIR)/HASH file produced a warning for every package file containing a whitespace character. Hopefully, this build fixes the problem, by working on zero-delimited lists of file names
pkg.sh install-log now supports a -N option, meaning no-log-directories. This installs directories, but doesn't log then in the install log, effectively excluding them from being packaged. This is necessary for directories provided by other packages. -N can be activated by adding LOG_INSTALL_EXTRA_OPTS += -N to a Makefile, see changes in defs.mk.
pgk.sh install-log now also omits addition of %attr tags to symbolic links.
This commit makes pkg.sh and create-mkspec.sh check, if a -devel package is specified, and if not, adds the contents of the -devel file list from the install log to the -run file list.
This also involves adding a [-s subpackage] option to the pkg.sh milk-install-log command.
Since the packaging machinery is pretty complicated, the information about conflicting packages had to be passed through many APIs. The last commit contained a patch which is left in the tree to have it in one file, it actually is identical to this commit's diff, though. Git would save me that quirk.