[oe-commits] [openembedded-core] branch master-next updated: Revert "pseudo: Test upgrade"
git at git.openembedded.org
git at git.openembedded.org
Fri Mar 30 17:10:53 UTC 2018
This is an automated email from the git hooks/post-receive script.
rpurdie pushed a commit to branch master-next
in repository openembedded-core.
The following commit(s) were added to refs/heads/master-next by this push:
new 85b9f0e Revert "pseudo: Test upgrade"
85b9f0e is described below
commit 85b9f0edb8befa6a65b3e07c9bf3b01ba74fb718
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Fri Mar 30 18:10:22 2018 +0100
Revert "pseudo: Test upgrade"
This reverts commit 0f590c9a9da1d89574af5b058a3f46ba26c0946e.
---
meta/recipes-devtools/pseudo/files/gistfile1.patch | 82 ---------
.../pseudo/files/revert-patch-handling.patch | 195 ---------------------
meta/recipes-devtools/pseudo/pseudo_git.bb | 3 +-
3 files changed, 1 insertion(+), 279 deletions(-)
diff --git a/meta/recipes-devtools/pseudo/files/gistfile1.patch b/meta/recipes-devtools/pseudo/files/gistfile1.patch
deleted file mode 100644
index 83f98a4..0000000
--- a/meta/recipes-devtools/pseudo/files/gistfile1.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-diff --git a/pseudo_server.c b/pseudo_server.c
-index 7c2db2f..68433b3 100644
---- a/pseudo_server.c
-+++ b/pseudo_server.c
-@@ -62,6 +62,7 @@ static int active_clients = 0, highest_client = 0, max_clients = 0;
- int pseudo_server_timeout = DEFAULT_PSEUDO_SERVER_TIMEOUT;
- static int die_peacefully = 0;
- static int die_forcefully = 0;
-+static sig_atomic_t do_list_clients = 0;
-
- /* when the client is linked with pseudo_wrappers, these are defined there.
- * when it is linked with pseudo_server, though, we have to provide different
-@@ -77,6 +78,11 @@ quit_now(int signal) {
- die_forcefully = 1;
- }
-
-+static void
-+set_do_list_clients(int sig) {
-+ do_list_clients = sig;
-+}
-+
- static int messages = 0, responses = 0;
- static struct timeval message_time = { .tv_sec = 0 };
-
-@@ -581,9 +587,14 @@ pseudo_server_loop(void) {
- int rc;
- int fd;
- int loop_timeout = pseudo_server_timeout;
-+ struct sigaction eat_usr2 = {
-+ .sa_handler = set_do_list_clients
-+ };
-
- clients = malloc(16 * sizeof(*clients));
-
-+ sigaction(SIGUSR2, &eat_usr2, NULL);
-+
- clients[0].fd = listen_fd;
- clients[0].pid = getpid();
-
-@@ -616,7 +627,12 @@ pseudo_server_loop(void) {
- /* EINTR tends to come from profiling, so it is not a good reason to
- * exit; other signals are caught and set the flag causing a graceful
- * exit. */
-+ sigset_t maskusr2;
-+ sigemptyset(&maskusr2);
-+ sigaddset(&maskusr2, SIGUSR2);
-+ sigprocmask(SIG_BLOCK, &maskusr2, NULL);
- while ((rc = select(max_fd + 1, &reads, &writes, &events, &timeout)) >= 0 || (errno == EINTR)) {
-+ sigprocmask(SIG_UNBLOCK, &maskusr2, NULL);
- if (rc == 0 || (rc == -1 && errno == EINTR)) {
- /* If there's no clients, start timing out. If there
- * are active clients, never time out.
-@@ -692,6 +708,21 @@ pseudo_server_loop(void) {
- }
- pseudo_debug(PDBGF_SERVER, "server loop complete [%d clients left]\n", active_clients);
- }
-+ if (do_list_clients) {
-+ do_list_clients = 0;
-+ pseudo_diag("listing clients [1 through %d]:\n", highest_client);
-+ for (i = 1; i <= highest_client; ++i) {
-+ if (clients[i].fd == -1) {
-+ pseudo_diag("client %4d: inactive.\n", i);
-+ continue;
-+ }
-+ pseudo_diag("client %4d: fd %4d, pid %5d, state %s, program %s\n",
-+ i, clients[i].fd, clients[i].pid,
-+ FD_ISSET(clients[i].fd, &reads) ? "R" : "-",
-+ clients[i].program ? clients[i].program : "<unspecified>");
-+ }
-+ pseudo_diag("done.\n");
-+ }
- if (die_peacefully || die_forcefully) {
- pseudo_debug(PDBGF_SERVER, "quitting.\n");
- pseudo_debug(PDBGF_SERVER | PDBGF_BENCHMARK, "server %d exiting: handled %d messages in %.4f seconds\n",
-@@ -735,6 +766,7 @@ pseudo_server_loop(void) {
- }
- /* reinitialize timeout because Linux select alters it */
- timeout = (struct timeval) { .tv_sec = LOOP_DELAY, .tv_usec = 0 };
-+ sigprocmask(SIG_BLOCK, &maskusr2, NULL);
- }
- pseudo_diag("select failed: %s\n", strerror(errno));
- }
diff --git a/meta/recipes-devtools/pseudo/files/revert-patch-handling.patch b/meta/recipes-devtools/pseudo/files/revert-patch-handling.patch
deleted file mode 100644
index 1834117..0000000
--- a/meta/recipes-devtools/pseudo/files/revert-patch-handling.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-diff --git a/ChangeLog.txt b/ChangeLog.txt
-index b4a76ac..39744aa 100644
---- a/ChangeLog.txt
-+++ b/ChangeLog.txt
-@@ -6,12 +6,6 @@
- pointless when glibc hasn't got a wrapper so we have no
- viable test cases.
-
--2018-03-06:
-- * (seebs) Update path handling a bit to correctly fail if a path
-- tries to have a slash after a plain file name, even in cases
-- like "foo/.", which were previously ignored (or in the case of
-- "..", resolved as though it had been a directory).
--
- 2018-03-01:
- * (seebs) If you get a CREAT for an existing file, and it matches
- both path and inode, don't delete the entry because the inode
-diff --git a/pseudo_util.c b/pseudo_util.c
-index addf503..6a1fac2 100644
---- a/pseudo_util.c
-+++ b/pseudo_util.c
-@@ -265,7 +265,7 @@ int pseudo_util_evlog_fd = 2;
- static int debugged_newline = 1;
- static char pid_text[32];
- static size_t pid_len;
--static int pseudo_append_element(char *newpath, char *root, size_t allocated, char **pcurrent, const char *element, size_t elen, PSEUDO_STATBUF *buf, int leave_this);
-+static int pseudo_append_element(char *newpath, char *root, size_t allocated, char **pcurrent, const char *element, size_t elen, int leave_this);
- static int pseudo_append_elements(char *newpath, char *root, size_t allocated, char **current, const char *elements, size_t elen, int leave_last);
- extern char **environ;
- static ssize_t pseudo_max_pathlen = -1;
-@@ -618,11 +618,11 @@ pseudo_new_pid() {
- * the symlink, appending each element in turn the same way.
- */
- static int
--pseudo_append_element(char *newpath, char *root, size_t allocated, char **pcurrent, const char *element, size_t elen, PSEUDO_STATBUF *buf, int leave_this) {
-+pseudo_append_element(char *newpath, char *root, size_t allocated, char **pcurrent, const char *element, size_t elen, int leave_this) {
- static int link_recursion = 0;
- size_t curlen;
-- int is_reg = S_ISREG(buf->st_mode);
- char *current;
-+ PSEUDO_STATBUF buf;
- if (!newpath ||
- !pcurrent || !*pcurrent ||
- !root || !element) {
-@@ -630,31 +630,25 @@ pseudo_append_element(char *newpath, char *root, size_t allocated, char **pcurre
- return -1;
- }
- current = *pcurrent;
-- /* the special cases here to skip empty paths, or ./.., should not
-- * apply to plain files, which should just get bogus
-- * paths.
-- */
-- if (!is_reg) {
-- /* sanity-check: ignore // or /./ */
-- if (elen == 0 || (elen == 1 && *element == '.')) {
-- return 1;
-- }
-- /* backtrack for .. */
-- if (elen == 2 && element[0] == '.' && element[1] == '.') {
-- /* if newpath's whole contents are '/', do nothing */
-- if (current <= root + 1)
-- return 1;
-- /* backtrack to the character before the / */
-- current -= 2;
-- /* now find the previous slash */
-- while (current > root && *current != '/') {
-- --current;
-- }
-- /* and point to the nul just past it */
-- *(++current) = '\0';
-- *pcurrent = current;
-+ /* sanity-check: ignore // or /./ */
-+ if (elen == 0 || (elen == 1 && *element == '.')) {
-+ return 1;
-+ }
-+ /* backtrack for .. */
-+ if (elen == 2 && element[0] == '.' && element[1] == '.') {
-+ /* if newpath's whole contents are '/', do nothing */
-+ if (current <= root + 1)
- return 1;
-+ /* backtrack to the character before the / */
-+ current -= 2;
-+ /* now find the previous slash */
-+ while (current > root && *current != '/') {
-+ --current;
- }
-+ /* and point to the nul just past it */
-+ *(++current) = '\0';
-+ *pcurrent = current;
-+ return 1;
- }
- curlen = current - newpath;
- /* current length, plus / <element> / \0 */
-@@ -665,20 +659,13 @@ pseudo_append_element(char *newpath, char *root, size_t allocated, char **pcurre
- }
- memcpy(current, element, elen);
- current += elen;
-- /* nul-terminate, and we now point to the nul after the element just added. */
-+ /* nul-terminate, and we now point to the nul after the slash */
- *current = '\0';
- /* now, the moment of truth... is that a symlink? */
- /* if lstat fails, that's fine -- nonexistent files aren't symlinks */
-- /* don't do this if the parent was a regular file. it shouldn't matter,
-- * because readlink can't succeed in that case anyway.
-- */
-- if (!leave_this && !is_reg) {
-- /* if this fails, just use the parent's mode. which shouldn't have
-- * been a symlink, I hope? */
-- if (pseudo_real_lstat) {
-- pseudo_real_lstat(newpath, buf);
-- }
-- int is_link = S_ISLNK(buf->st_mode);
-+ if (!leave_this) {
-+ int is_link;
-+ is_link = (pseudo_real_lstat) && (pseudo_real_lstat(newpath, &buf) != -1) && S_ISLNK(buf.st_mode);
- if (link_recursion >= PSEUDO_MAX_LINK_RECURSION && is_link) {
- pseudo_diag("link recursion too deep, not expanding path '%s'.\n", newpath);
- is_link = 0;
-@@ -712,9 +699,9 @@ pseudo_append_element(char *newpath, char *root, size_t allocated, char **pcurre
- return retval;
- }
- }
-- /* we used to always append a slash here. now we don't; append_elements
-- * handles slashes, so just update the pointer.
-- */
-+ /* okay, not a symlink, go ahead and append a slash */
-+ *(current++) = '/';
-+ *current = '\0';
- *pcurrent = current;
- return 1;
- }
-@@ -722,8 +709,6 @@ pseudo_append_element(char *newpath, char *root, size_t allocated, char **pcurre
- static int
- pseudo_append_elements(char *newpath, char *root, size_t allocated, char **current, const char *element, size_t elen, int leave_last) {
- int retval = 1;
-- PSEUDO_STATBUF buf;
-- buf.st_mode = 0;
- const char * start = element;
- if (!newpath || !root ||
- !current || !*current ||
-@@ -731,41 +716,30 @@ pseudo_append_elements(char *newpath, char *root, size_t allocated, char **curre
- pseudo_diag("pseudo_append_elements: invalid arguments.");
- return -1;
- }
-- /* coming into append_elements, we should always have a trailing slash on
-- * the path. append_element won't provide one, though.
-- */
- while (element < (start + elen) && *element) {
- size_t this_elen;
- int leave_this = 0;
-- int is_reg = S_ISREG(buf.st_mode);
- char *next = strchr(element, '/');
- if (!next) {
- next = strchr(element, '\0');
- leave_this = leave_last;
- }
- this_elen = next - element;
-- /* for an empty path, or a "/.", we skip the append, but not for regular
-- * files; regular files get it appended so they can fail properly
-- * later for being invalid paths.
-- */
-- if (is_reg || (this_elen > 1) || ((this_elen == 1) && (*element != '.'))) {
-- if (pseudo_append_element(newpath, root, allocated, current, element, this_elen, &buf, leave_this) == -1) {
-- retval = -1;
-- break;
-+ switch (this_elen) {
-+ case 0: /* path => '/' */
-+ break;
-+ case 1: /* path => '?/' */
-+ if (*element != '.') {
-+ if (pseudo_append_element(newpath, root, allocated, current, element, this_elen, leave_this) == -1) {
-+ retval = -1;
-+ }
- }
-- /* if a path element was appended, we want to know whether the resulting
-- * thing is an existing regular file; regular files can't be further
-- * explored, which actually means we *do* append path things to them
-- * that would otherwise be skipped.
-- */
-- if (!pseudo_real_lstat || (pseudo_real_lstat(newpath, &buf) == -1)) {
-- buf.st_mode = 0;
-+ break;
-+ default:
-+ if (pseudo_append_element(newpath, root, allocated, current, element, this_elen, leave_this) == -1) {
-+ retval = -1;
- }
-- /* having grabbed a stat for the path, we append a slash so we can append to it again
-- * if needed.
-- */
-- *(*current)++ = '/';
-- *(*current) = '\0';
-+ break;
- }
- /* and now move past the separator */
- element += this_elen + 1;
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
index ad7cac9..66da1cc 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -6,10 +6,9 @@ SRC_URI = "git://git.yoctoproject.org/pseudo \
file://fallback-group \
file://moreretries.patch \
file://toomanyfiles.patch \
- file://revert-patch-handling.patch \
"
-SRCREV = "778abd3686fb7c419e9016fdd9e93819405d52aa"
+SRCREV = "d7c31a25e4b02af0c64e6be0b4b0a9ac4ffc9da2"
S = "${WORKDIR}/git"
PV = "1.9.0+git${SRCPV}"
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Openembedded-commits
mailing list