From nobody Fri Jan 06 18:17:50 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NpWlz0J3qz2p74D; Fri, 6 Jan 2023 18:17:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NpWly66t2z3L3T; Fri, 6 Jan 2023 18:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1673029070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A6eqmNaoo4g5F0lKe1J4uM2VKBzqdOSeWrCmMMh2M08=; b=m0NE+S+JGck3LDAY7IqXb62N1gv26BSzI02kJDnhZh7EQaeuWHJG8rdSkSijbE81+aemSw OwT9gwv3hJYjJjXytAggPoqEpfmFGByOXkNOC7DyZtQQ9b47fYXbnVi+s/fg99/0NVc4Ka Z6z5eONj9DTT5Nr31JrbBPN1y8o9RmirINQnkca2WVjHfu3n9zBeGJr6DDaYUGniszJla0 iL6pfs7iDmmCa2mGddCNLbvpV5wK+3VUATLdbbqtOpmbLZPrFmjt0EP3kQPxt5pTFL/tld GFIqpW+4DC9qaYb7/eoijMe+TFZOvqD5Bz5aib9iFzR+6nBron+ZsajaIxHOWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1673029070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A6eqmNaoo4g5F0lKe1J4uM2VKBzqdOSeWrCmMMh2M08=; b=e4VhDjAIc0wDS4i9cdvz47kgmu99avljBEQOl7qG42tC4pSQFxLRIvFwh225hegJE1WI58 QmNZ4ygNRib5lAkgrpwIkElSncuv7daLOp45W6YGX4/0mfX9umYSDenZpDzxJWw/FhUO7r 2p7QSxw5bNPsVRnXSYIE9OxfD1tB5K9HdVspm7MvMlUd5ahma2Mq4THTNmXqF/D/kN48MT 3kDiPBEIsey4exHny6K/YiD3gzGB/uyCZAaKtK52qlYxBD1jUsuAAp6mTNGmVDytSGqXnm hAuUtI7eTCxfwJ+sD8Hm6GMFH6whu8ZZKB6UXHIuv+x88NPHuQDRDp3kPCud9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1673029070; a=rsa-sha256; cv=none; b=mPv/X5f+7Qrq4j0+UsVZUoeZojVeIx+MjtdsltLK2Q5U8CJctd2gldri1N/uuvVsmACi+T tijfswdwgSNneVbGmH2RQ3W7jCiB9yKpiBbz+yyUyomCezgPYRVsi9b0MEQZ52zFnrZaEh RXA/cCzuEK65w0MaM7PVubyoBBVMYncWaY4/M5Rf6rC0TXwrmnNmHBIWMg/R4NYBKiLSZW lU0+VDH2dP2EPzjhLqsc5SB+TFBeeiSixqKfCs3PvA0S0l5H/KYoAnO+8elWMCm3IJQaG0 QnRWv+3GgAA5b65LULscPUZuHt6khKLQF+oeP686mvVjShcACfgJ0yxm5RAw5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4NpWly40Mdzfkp; Fri, 6 Jan 2023 18:17:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 306IHomF024408; Fri, 6 Jan 2023 18:17:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 306IHo4O024407; Fri, 6 Jan 2023 18:17:50 GMT (envelope-from git) Date: Fri, 6 Jan 2023 18:17:50 GMT Message-Id: <202301061817.306IHo4O024407@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: f5858d0bce93 - main - sysutils/genimage: New port: Tool to generate multiple filesystem and flash images from a tree List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f5858d0bce93eaa9bc455da3382a34b778939cd6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=f5858d0bce93eaa9bc455da3382a34b778939cd6 commit f5858d0bce93eaa9bc455da3382a34b778939cd6 Author: Yuri Victorovich AuthorDate: 2023-01-06 15:31:22 +0000 Commit: Yuri Victorovich CommitDate: 2023-01-06 18:17:45 +0000 sysutils/genimage: New port: Tool to generate multiple filesystem and flash images from a tree --- sysutils/Makefile | 1 + sysutils/genimage/Makefile | 26 ++++++++++++++++++++++ sysutils/genimage/distinfo | 3 +++ sysutils/genimage/files/patch-config.c | 19 ++++++++++++++++ .../genimage/files/patch-image-android-sparse.c | 11 +++++++++ sysutils/genimage/files/patch-image-hd.c | 11 +++++++++ sysutils/genimage/files/patch-image-rauc.c | 11 +++++++++ sysutils/genimage/files/patch-image-vfat.c | 11 +++++++++ sysutils/genimage/pkg-descr | 8 +++++++ 9 files changed, 101 insertions(+) diff --git a/sysutils/Makefile b/sysutils/Makefile index 5ad5cf480cea..64f22e349622 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -472,6 +472,7 @@ SUBDIR += gdisk SUBDIR += gdmap SUBDIR += gdu + SUBDIR += genimage SUBDIR += genisoimage SUBDIR += geomWatch SUBDIR += getdelta diff --git a/sysutils/genimage/Makefile b/sysutils/genimage/Makefile new file mode 100644 index 000000000000..89037b7f0c86 --- /dev/null +++ b/sysutils/genimage/Makefile @@ -0,0 +1,26 @@ +PORTNAME= genimage +DISTVERSIONPREFIX= v +DISTVERSION= 16-10 +DISTVERSIONSUFFIX= -g2b9d870 +#MASTER_SITES= https://github.com/pengutronix/genimage/releases/download/v${DISTVERSION}/ +CATEGORIES= sysutils + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Tool to generate multiple filesystem and flash images from a tree +WWW= https://github.com/pengutronix/genimage + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +LIB_DEPENDS= libconfuse.so:devel/libconfuse + +USES= autoreconf gettext-runtime pkgconfig #tar:xz + +USE_GITHUB= yes +GH_ACCOUNT= pengutronix + +GNU_CONFIGURE= yes + +PLIST_FILES= bin/genimage + +.include diff --git a/sysutils/genimage/distinfo b/sysutils/genimage/distinfo new file mode 100644 index 000000000000..266fd2f092b7 --- /dev/null +++ b/sysutils/genimage/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1673027507 +SHA256 (pengutronix-genimage-v16-10-g2b9d870_GH0.tar.gz) = b6de4e7e14216e1a79a5ea4ee2703c1f5ffa84ec4cfa5b72dc63905bc31fcaed +SIZE (pengutronix-genimage-v16-10-g2b9d870_GH0.tar.gz) = 87753 diff --git a/sysutils/genimage/files/patch-config.c b/sysutils/genimage/files/patch-config.c new file mode 100644 index 000000000000..1a1663c75946 --- /dev/null +++ b/sysutils/genimage/files/patch-config.c @@ -0,0 +1,19 @@ +--- config.c.orig 2023-01-06 17:56:22 UTC ++++ config.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + #include "genimage.h" + +@@ -259,7 +260,7 @@ static char *abspath(const char *path) + if (*path == '/') + return strdup(path); + +- xasprintf(&p, "%s/%s", get_current_dir_name(), path); ++ xasprintf(&p, "%s/%s", getcwd(NULL, PATH_MAX), path); + + return p; + } diff --git a/sysutils/genimage/files/patch-image-android-sparse.c b/sysutils/genimage/files/patch-image-android-sparse.c new file mode 100644 index 000000000000..62644b0a8fd1 --- /dev/null +++ b/sysutils/genimage/files/patch-image-android-sparse.c @@ -0,0 +1,11 @@ +--- image-android-sparse.c.orig 2023-01-06 17:52:40 UTC ++++ image-android-sparse.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include ++#include + #include + #include + #include diff --git a/sysutils/genimage/files/patch-image-hd.c b/sysutils/genimage/files/patch-image-hd.c new file mode 100644 index 000000000000..0b3465c91655 --- /dev/null +++ b/sysutils/genimage/files/patch-image-hd.c @@ -0,0 +1,11 @@ +--- image-hd.c.orig 2023-01-06 17:53:09 UTC ++++ image-hd.c +@@ -22,7 +22,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include diff --git a/sysutils/genimage/files/patch-image-rauc.c b/sysutils/genimage/files/patch-image-rauc.c new file mode 100644 index 000000000000..225db5c40bd0 --- /dev/null +++ b/sysutils/genimage/files/patch-image-rauc.c @@ -0,0 +1,11 @@ +--- image-rauc.c.orig 2023-01-06 17:59:29 UTC ++++ image-rauc.c +@@ -95,7 +95,7 @@ static int rauc_generate(struct image *image) + } + + /* create parent directories if target needs it */ +- path = strdupa(target); ++ path = strdup(target); // XXX causes memory leak + tmp = strrchr(path, '/'); + if (tmp) { + *tmp = '\0'; diff --git a/sysutils/genimage/files/patch-image-vfat.c b/sysutils/genimage/files/patch-image-vfat.c new file mode 100644 index 000000000000..e3d524cd9e24 --- /dev/null +++ b/sysutils/genimage/files/patch-image-vfat.c @@ -0,0 +1,11 @@ +--- image-vfat.c.orig 2023-01-06 18:01:33 UTC ++++ image-vfat.c +@@ -47,7 +47,7 @@ static int vfat_generate(struct image *image) + struct image *child = image_get(part->image); + const char *file = imageoutfile(child); + const char *target = part->name; +- char *path = strdupa(target); ++ char *path = strdup(target); // XXX causes memory leak + char *next = path; + + while ((next = strchr(next, '/')) != NULL) { diff --git a/sysutils/genimage/pkg-descr b/sysutils/genimage/pkg-descr new file mode 100644 index 000000000000..2198193a3014 --- /dev/null +++ b/sysutils/genimage/pkg-descr @@ -0,0 +1,8 @@ +genimage is a tool to generate multiple filesystem and flash/disk images +from a given root filesystem tree. genimage is intended to be run in a +fakeroot environment. It also supports creating flash/disk images out of +different file-system images and files. + +Configuration is done in a config file parsed by libconfuse. Options like the +path to tools can be given via environment variables, the config file or from +commandline switches.