Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Jul 2015 16:12:59 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 201405] www/squid : why is /var/run/squid not installed?  (causing issue)
Message-ID:  <bug-201405-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201405

            Bug ID: 201405
           Summary: www/squid : why is /var/run/squid not installed?
                    (causing issue)
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs@FreeBSD.org
          Reporter: marino@FreeBSD.org
                CC: timp87@gmail.com
             Flags: maintainer-feedback?(timp87@gmail.com)
                CC: timp87@gmail.com

In the post-install target, the /var/run/squid directory is intentionally
removed (as opposed to adding @dir /var/run/squid in pkg-plist)

What is the reason for this?

I believe the following code is affected by this:

 /src/ipc/mem/Segment.cc 

/// Generate name for shared memory segment. Starts with a prefix required
/// for cross-platform portability and replaces all slashes in ID with dots.
String
Ipc::Mem::Segment::GenerateName(const char *id)
{
    assert(BasePath && *BasePath);
    static const bool nameIsPath = shm_portable_segment_name_is_path();
    String name;
    if (nameIsPath) {
        name.append(BasePath);
        if (name[name.size()-1] != '/')
            name.append('/');
    } else
        name.append("/squid-");

    // append id, replacing slashes with dots
    for (const char *slash = strchr(id, '/'); slash; slash = strchr(id, '/')) {
        if (id != slash) {
            name.append(id, slash - id);
            name.append('.');
        }
        id = slash + 1;
    }
    name.append(id);

    name.append(".shm"); // to distinguish from non-segments when nameIsPath
    return name;
}


I got this report:
After installing Squid via Dports and "squid -z" i get the following error:
FATAL: Ipc::Mem::Segment::create failed to shm_open(/squid-cf__metadata.shm):
(13) Permission denied
What goes wrong?

It should be trying to create it at /var/run/squid/squid-cf__metadata.shm.
However, because the directory does not exist, the code above tries
/squid-cf__metadata.shm instead.

>From what I see, the port should be pre-creating this directory.  Can you
remind why it's intentionally being prevented from doing so?

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-201405-13>