From ecf0794d2eae0201e9888e7b9228f8fef3e94fc6 Mon Sep 17 00:00:00 2001 From: netblue30 Date: Sat, 19 Aug 2017 08:02:22 -0400 Subject: create /usr/local for firecfg if the directory doesn't exist --- RELNOTES | 1 + src/firecfg/main.c | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/RELNOTES b/RELNOTES index 0e61019d9..e0461346e 100644 --- a/RELNOTES +++ b/RELNOTES @@ -13,6 +13,7 @@ firejail (0.9.49) baseline; urgency=low * enhancement: support for newer Xpra versions (2.1+) - set "xpra-attach yes" in /etc/firejail/firejail.config * enhancement: all profiles use a standard layout style + * enhancement: create /usr/local for firecfg if the directory doesn't exist * new profiles: curl, mplayer2, SMPlayer, Calibre, ebook-viewer, KWrite, * new profiles: Geary, Liferea, peek, silentarmy, IntelliJ IDEA, * new profiles: Android Studio, electron, riot-web, Extreme Tux Racer, diff --git a/src/firecfg/main.c b/src/firecfg/main.c index 8e5b5e6fa..1ecfbf524 100644 --- a/src/firecfg/main.c +++ b/src/firecfg/main.c @@ -579,6 +579,26 @@ int main(int argc, char **argv) { fprintf(stderr, "The proper way to run this command is \"sudo firecfg\".\n"); return 1; } + else { + // create /usr/local directory if it doesn't exist (Solus distro) + struct stat s; + if (stat("/usr/local", &s) != 0) { + printf("Creating /usr/local directory\n"); + int rv = mkdir("/usr/local", 0755); + if (rv != 0) { + fprintf(stderr, "Error: cannot create /usr/local directory\n"); + return 1; + } + } + if (stat("/usr/local/bin", &s) != 0) { + printf("Creating /usr/local directory\n"); + int rv = mkdir("/usr/local/bin", 0755); + if (rv != 0) { + fprintf(stderr, "Error: cannot create /usr/local/bin directory\n"); + return 1; + } + } + } set_links(); -- cgit v1.2.3-54-g00ecf