From laffer1 at midnightbsd.org  Tue Dec 31 19:02:56 2019
From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org)
Date: Tue, 31 Dec 2019 19:02:56 -0500 (EST)
Subject: [Midnightbsd-cvs] src [12292]
 stable/1.2/lib/libmport/bundle_read_install_pkg.c: Fix some installation
 problems with samples that have an absolute prefix.
Message-ID: <202001010002.00102uiT091689@stargazer.midnightbsd.org>

Revision: 12292
          http://svnweb.midnightbsd.org/src/?rev=12292
Author:   laffer1
Date:     2019-12-31 19:02:55 -0500 (Tue, 31 Dec 2019)
Log Message:
-----------
Fix some installation problems with samples that have an absolute prefix.  (firebird-server)

Modified Paths:
--------------
    stable/1.2/lib/libmport/bundle_read_install_pkg.c

Modified: stable/1.2/lib/libmport/bundle_read_install_pkg.c
===================================================================
--- stable/1.2/lib/libmport/bundle_read_install_pkg.c	2019-11-13 06:04:36 UTC (rev 12291)
+++ stable/1.2/lib/libmport/bundle_read_install_pkg.c	2020-01-01 00:02:55 UTC (rev 12292)
@@ -236,8 +236,10 @@
 	char nonSample[FILENAME_MAX * 2];
 	char secondFile[FILENAME_MAX];
 
- 	strlcpy(nonSample, file, FILENAME_MAX * 2);
-	(void) snprintf(nonSample, FILENAME_MAX, "%s%s/%s", mport->root, cwd, file);
+	if (file[0] != '/')
+		(void) snprintf(nonSample, FILENAME_MAX, "%s%s/%s", mport->root, cwd, file);
+	else
+		strlcpy(nonSample, file, FILENAME_MAX * 2);
 	char** fileargv = parse_sample(nonSample);
 
 	if (fileargv[1] != '\0') {
@@ -497,7 +499,11 @@
 				if (mport_bundle_read_next_entry(bundle, &entry) != MPORT_OK)
 					goto ERROR;
 
-				(void) snprintf(file, FILENAME_MAX, "%s%s/%s", mport->root, cwd, e->data);
+				if (e->data[0] == '/') {
+					(void) snprintf(file, FILENAME_MAX, "%s", e->data);
+				} else {
+					(void) snprintf(file, FILENAME_MAX, "%s%s/%s", mport->root, cwd, e->data);
+				}
 
 				if (e->type == ASSET_SAMPLE)
 					for (int ch = 0; ch < FILENAME_MAX; ch++) {


From laffer1 at midnightbsd.org  Tue Dec 31 19:05:40 2019
From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org)
Date: Tue, 31 Dec 2019 19:05:40 -0500 (EST)
Subject: [Midnightbsd-cvs] src [12293]
 trunk/lib/libmport/bundle_read_install_pkg.c: fix issues with absolute path
 sample files.
Message-ID: <202001010005.00105eD2092477@stargazer.midnightbsd.org>

Revision: 12293
          http://svnweb.midnightbsd.org/src/?rev=12293
Author:   laffer1
Date:     2019-12-31 19:05:39 -0500 (Tue, 31 Dec 2019)
Log Message:
-----------
fix issues with absolute path sample files.

Modified Paths:
--------------
    trunk/lib/libmport/bundle_read_install_pkg.c

Modified: trunk/lib/libmport/bundle_read_install_pkg.c
===================================================================
--- trunk/lib/libmport/bundle_read_install_pkg.c	2020-01-01 00:02:55 UTC (rev 12292)
+++ trunk/lib/libmport/bundle_read_install_pkg.c	2020-01-01 00:05:39 UTC (rev 12293)
@@ -236,8 +236,10 @@
 	char nonSample[FILENAME_MAX * 2];
 	char secondFile[FILENAME_MAX];
 
- 	strlcpy(nonSample, file, FILENAME_MAX * 2);
-	(void) snprintf(nonSample, FILENAME_MAX, "%s%s/%s", mport->root, cwd, file);
+	if (file[0] != '/')
+		(void) snprintf(nonSample, FILENAME_MAX, "%s%s/%s", mport->root, cwd, file);
+	else
+		strlcpy(nonSample, file, FILENAME_MAX * 2);
 	char** fileargv = parse_sample(nonSample);
 
 	if (fileargv[1] != '\0') {
@@ -497,7 +499,11 @@
 				if (mport_bundle_read_next_entry(bundle, &entry) != MPORT_OK)
 					goto ERROR;
 
-				(void) snprintf(file, FILENAME_MAX, "%s%s/%s", mport->root, cwd, e->data);
+				if (e->data[0] == '/') {
+					(void) snprintf(file, FILENAME_MAX, "%s", e->data);
+				} else {
+					(void) snprintf(file, FILENAME_MAX, "%s%s/%s", mport->root, cwd, e->data);
+				}
 
 				if (e->type == ASSET_SAMPLE)
 					for (int ch = 0; ch < FILENAME_MAX; ch++) {