Commit graph

82 commits

Author SHA1 Message Date
57a50381a2
pkg.sh: upload_pkg(): Don't ignore git push errors

After release, pkg.sh pushes the changes to VERSION and HASH upstream. Failures are masked, though, propagate them.

Unclear what motivated masking the error. Tracking that down with git blame leads to build-package.sh, which was inherited from ytools, where the change was introduced 2014 with the trust-inspiring comment:

attempted fix for error during commit of version files in build-package.sh

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-07 09:43:07 +02:00
ec92d89295
pkg.sh: release: Push without JW_PKG_SSH_EXTRA_OPTS

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.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-05-13 12:54:50 +02:00
514d66dac1
cmds.distro.CmdInfo: Rename to cmds.platform.CmdInfo

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.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-24 16:53:55 +02:00
c893584e5e make: Replace RPM -> PKG

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.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-16 14:57:50 +01:00
adbeba2b9b pkg.sh: Don't escape maintainer scripts
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-05 13:11:43 +00:00
20b14c109d pkg.sh: Determine upload dir from jw-pkg.sh distro info

A compiled release package is currently uploaded to a fixed directory, determine it dynamically for every distro seperately.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-02 16:10:34 +00:00
2f157db18d pkg.sh: Replace get-os.sh by pkg.py distro info

Remove get-os.sh from pkg.sh to reduce redunancy.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-02 12:55:36 +00:00
1da00283d1 jw.pkg.cmds.projects.CmdOsCascade: Remove

CmdOsCascade is superseeded by CmdInfo. Use the latter and retire the former.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-02 12:55:36 +00:00
ca7a5a5265 pkg.sh: Evaluate pkg.run on Debian

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.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-02-28 13:15:05 +00:00
78d49edfeb pkg.sh: Fix rpmbuild %attr(links) warning

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.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-02-18 11:00:35 +01:00
c84e119e6f pkg.sh milk-install-log: Clean up Debian filters

Among other atrocities, the Debian path filter contains some horrible redundancies in an sed regular expression. Be a little less redundant about it.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-02-15 16:04:59 +00:00
dc94553732 pkg.sh log-install: Log %attr(0777, ...) for links

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.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-02-15 16:04:45 +00:00
93c24c657d pkg.sh log-install: -f package-format is ignored

pkg.sh log-install ignores the -f option passed to pkg.sh, and always defaults to "rpm". Fix that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-02-15 16:04:39 +00:00
e42e3b783b pkg.sh build: Support -a / --include-vcs-files

pkg.sh by default doesn't pack up version control metadata. Passing -a or --include-vcs-files includes them in the source packages.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-12-01 11:31:54 +01:00
9217d38964 Everywhere: Rename package "jw-build" to "jw-pkg"

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.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-28 13:35:56 +01:00
82eb80979d bin, make, scripts: Re-add files necessary for packaging jw-build

Re-add all files necessary to package jw-build itself, i.e. sucessfully run make pkg-rebuild-reinstall. This adds 1892 lines of code.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 11:22:50 +01:00
bc883deed4 Everywhere: Remove everything non-essential for "make clean all"

This commit removes everything not strictly necessary for running "make clean all" inside jw-build.

packaging jw-devtest. This cuts the repo down from 24077 to 4725 lines of code.

The idea is to

1) Further remove bloat from the remaining bits

2) Re-add what's necessary to build and package other essential repos.

The decision should be based on whether or not jw-build can also be useful in a non-janware context.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 15:02:56 +01:00
b633e9637c pkg.sh: Filter out system installation directories below /usr

System installation directories should not belong to jw-build-generated packages, so exclude them via regex.

Signed-off-by: Jan Lindemann <jan@janware.com>
2021-09-26 19:14:58 +00:00
b3c093fd94 pkg.sh: Don't exclude .in files from source package

Building with .in files should work just fine, so don't exclude them anylonger.

Signed-off-by: Jan Lindemann <jan@janware.com>
2020-12-01 16:21:22 +00:00
bdd66dbc26 Everywhere: Rename MOD_SCRIPT_DIR -> JWB_SCRIPT_DIR

Follow name change of MODDIR -> JWBDIR.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-29 21:45:24 +00:00
305cc0a1a7 pkg.sh: Remove some (not all) unnecessarily forked processes
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-16 11:19:31 +00:00
18e0fe0d28 pkg.sh: Default wrappers installed with log-install -L to Python 3
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-15 19:05:47 +00:00
34fbea1876 pkg.sh log-install: Fix -A option

Switch -A was passed with a bogus : to getopt

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-07 11:04:46 +00:00
019dd47c02 pkg.sh log-install: Fix link-in target for shared libraries

Shared libraries were detected as executables, which is true in a way, but still the log-install target shouldn't wrap them into scripts.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-05 15:02:36 +00:00
f28afc777c make, scripts: Add support for [pkg.provides.xxx]

Add Support for manually specifying arbitrary package capabilities in project.conf.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-07 14:34:58 +00:00
98e7606029 defs.mk, rpmdist.mk, pkg.sh: Fix detection of rpmbuild path

$HOME/rpmbuild was not correctly assumed as build directory if it doesn't exist.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-03 20:00:01 +00:00
00a52c9039 pgit.sh: Don't pull fetchuser into current master, only fetch
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-03 12:10:00 +00:00
a8b958b7cf pkg.sh: More tweaks to filter_devel

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.

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-27 16:59:30 +00:00
b67c221eaa pkg.sh: Make filter_devel more specific
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-23 13:32:09 +00:00
182053be29 pkg.sh: Fix project hash value calculation
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-16 18:41:54 +00:00
f4efde3377 $(TOPDIR), make, scripts: Ftp.jannet.de / ftp.janware.com -> pkg.janware.com
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-16 16:11:11 +00:00
74a62bfda9 $(TOPDIR), make, scripts: Rename LAST_RPM_VERSION to RELEASES
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-16 11:07:20 +00:00
e827efadd5 make, scripts: Replace list-vcs-files.sh by scm.sh ls-files
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-16 10:30:49 +00:00
9b532fd601 make, scripts: Rename list-cvs-files.sh to list-vcs-files.sh
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-13 18:15:12 +00:00
536d128f91 make, scripts: Remove /inst-source from RPM installation sources

Remove /inst-source from RPM installation sources, following that same action within all repositories and mirrors

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-13 10:04:58 +00:00
6e14ee930f pkg.sh: Fix target directory layout for CentOS
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-13 10:03:19 +00:00
d78768b8b8 rpmdist.mk, pkg.sh: Fix whitespace handling in HASH file generation

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

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-11-21 13:47:38 +00:00
adb18caa13 make, scripts: git submodule update --init --recursive

Consistently run git submodule update with --init --recursive.

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-11-18 18:31:30 +00:00
38fd8e7d4d pkg.sh log-install: Fix bogus -a option replacement
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-11-09 11:09:57 +00:00
ce08110e2b pkg.sh log-install: Fix handling of links

- Links are installed with file attributes - Sometimes links are wrongly logged as directories

Fix that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-10-21 20:23:32 +00:00
e37e7f91c1 pkg.sh and defs.mk: Add pkg.sh install-log -N, fix links

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.

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-10-18 12:02:23 +00:00
0371cec047 create-mkspec.sh, pkg.sh: Fix RPM specs missing files from devel packages

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.

Not implemented for debian packages.

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-08-31 11:19:44 +00:00
5f6e494743 link-in target: Propagate python script error from pkg.sh
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-10-04 11:01:15 +00:00
92040c66e7 make, scripts: Preserve modification time on installation

Implemented -p switch on pkg.sh log-install and used it on standard installation rules.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-31 19:40:39 +00:00
a01cfc4158 pkg.sh: Fix log-install invocation line
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-26 16:44:43 +00:00
a69a3938f2 pkg.sh: Use readlink -fm instead of realpath -m

Seems to be more universally available

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-26 11:45:45 +00:00
d296839c2c pkg.sh log-install -W: Make python wrapper around python scripts

Otherwise calls with /usr/bin/python /opt/package/bin/myscript.py fail with syntax error.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-21 15:29:52 +00:00
a4ef394a95 pkg.sh: Add option -W to log-install

This is like log-install -W, except that it installs a wrapper script instead of a link for executables

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-19 11:30:08 +00:00
3082150b05 pkg.sh Fix: Overwrote LAST_RPM_VERSION entirely
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-29 21:24:32 +00:00
7efb9bd768 pkg.sh: Don't try to upload non-existing devel package
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-28 14:30:37 +00:00