fix breakage found by mass one-applet builds
authorDenys Vlasenko <vda.linux@googlemail.com>
Fri, 23 Dec 2016 01:42:26 +0000 (02:42 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 1 Jan 2017 12:01:04 +0000 (13:01 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
archival/bbunzip.c
libbb/Kbuild.src
libbb/appletlib.c
libbb/update_passwd.c
networking/libiproute/Kbuild.src
networking/udhcp/Config.src
networking/udhcp/Kbuild.src
sysklogd/logread.c

index d5db4627f245238f1fd7ab8106f3f10f3066d683..60a837e2262d6cc10c2fea3700b1be583cd06ca9 100644 (file)
@@ -9,8 +9,12 @@
 
 /* lzop_main() uses bbunpack(), need this: */
 //kbuild:lib-$(CONFIG_LZOP) += bbunzip.o
+//kbuild:lib-$(CONFIG_LZOPCAT) += bbunzip.o
+//kbuild:lib-$(CONFIG_UNLZOP) += bbunzip.o
 /* bzip2_main() too: */
 //kbuild:lib-$(CONFIG_BZIP2) += bbunzip.o
+/* gzip_main() too: */
+//kbuild:lib-$(CONFIG_GZIP) += bbunzip.o
 
 /* Note: must be kept in sync with archival/lzop.c */
 enum {
index e426f3c7e2b1f23ccad1d0a8080a97d4e26def19..898a51a89cc060ef3fcc132e7333d89df81fe559 100644 (file)
@@ -176,6 +176,7 @@ lib-$(CONFIG_TRACEROUTE6) += inet_cksum.o
 lib-$(CONFIG_UDHCPC) += inet_cksum.o
 lib-$(CONFIG_UDHCPC6) += inet_cksum.o
 lib-$(CONFIG_UDHCPD) += inet_cksum.o
+lib-$(CONFIG_DHCPRELAY) += inet_cksum.o
 
 # We shouldn't build xregcomp.c if we don't need it - this ensures we don't
 # require regex.h to be in the include dir even if we don't need it thereby
index 9425c7bd4de05712b6e4f0edab641af76d5684f6..ee8b4ec1428f0e48715f3af5eb040b68d3a4c6da 100644 (file)
@@ -329,21 +329,6 @@ static struct suid_config_t {
 
 static bool suid_cfg_readable;
 
-/* check if u is member of group g */
-static int ingroup(uid_t u, gid_t g)
-{
-       struct group *grp = getgrgid(g);
-       if (grp) {
-               char **mem;
-               for (mem = grp->gr_mem; *mem; mem++) {
-                       struct passwd *pwd = getpwnam(*mem);
-                       if (pwd && (pwd->pw_uid == u))
-                               return 1;
-               }
-       }
-       return 0;
-}
-
 /* libbb candidate */
 static char *get_trimmed_slice(char *s, char *e)
 {
@@ -568,7 +553,22 @@ static inline void parse_config_file(void)
 # endif /* FEATURE_SUID_CONFIG */
 
 
-# if ENABLE_FEATURE_SUID
+# if ENABLE_FEATURE_SUID && NUM_APPLETS > 0
+/* check if u is member of group g */
+static int ingroup(uid_t u, gid_t g)
+{
+       struct group *grp = getgrgid(g);
+       if (grp) {
+               char **mem;
+               for (mem = grp->gr_mem; *mem; mem++) {
+                       struct passwd *pwd = getpwnam(*mem);
+                       if (pwd && (pwd->pw_uid == u))
+                               return 1;
+               }
+       }
+       return 0;
+}
+
 static void check_suid(int applet_no)
 {
        gid_t rgid;  /* real gid */
index 6255af492a1f6893f70e8b38dc175bf5084895ac..95423d19bafc114f44c5cb400578afd73538967e 100644 (file)
@@ -180,6 +180,7 @@ int FAST_FUNC update_passwd(const char *filename,
                if (!line) /* EOF/error */
                        break;
 
+#if ENABLE_FEATURE_ADDUSER_TO_GROUP || ENABLE_FEATURE_DEL_USER_FROM_GROUP
                if (!name && member) {
                        /* Delete member from all groups */
                        /* line is "GROUP:PASSWD:[member1[,member2]...]" */
@@ -209,6 +210,7 @@ int FAST_FUNC update_passwd(const char *filename,
                        fprintf(new_fp, "%s\n", line);
                        goto next;
                }
+#endif
 
                cp = is_prefixed_with(line, name_colon);
                if (!cp) {
index c20e2fee863bcce7595dd07fa848c4b10aa63d8f..056a5854051c588cce2a03185751379101204ac4 100644 (file)
@@ -62,13 +62,16 @@ lib-$(CONFIG_FEATURE_IP_TUNNEL) += \
 lib-$(CONFIG_FEATURE_IP_RULE) += \
        ip_parse_common_args.o \
        iprule.o \
+       libnetlink.o \
        rt_names.o \
+       rtm_map.o \
        utils.o
 
 lib-$(CONFIG_FEATURE_IP_NEIGH) += \
        ip_parse_common_args.o \
        ipneigh.o \
        libnetlink.o \
+       ll_addr.o \
        ll_map.o \
        rt_names.o \
        utils.o
index c34c8d6f08ce63e51b13a035e30f5985009ddd57..90fb313b505a3d5982706c68ce547a78c9f45f39 100644 (file)
@@ -16,7 +16,6 @@ config UDHCPD
 config DHCPRELAY
        bool "dhcprelay"
        default y
-       depends on UDHCPD
        help
          dhcprelay listens for dhcp requests on one or more interfaces
          and forwards these requests to a different interface or dhcp
@@ -25,7 +24,6 @@ config DHCPRELAY
 config DUMPLEASES
        bool "Lease display utility (dumpleases)"
        default y
-       depends on UDHCPD
        help
          dumpleases displays the leases written out by the udhcpd server.
          Lease times are stored in the file by time remaining in lease, or
index 5ea77df067e77edf17000b6ddf90a54ad150ae5f..fcb725fbcdede18e06ebf7c85a2700b52f21a9db 100644 (file)
@@ -15,7 +15,7 @@ lib-$(CONFIG_UDHCPD)     += common.o packet.o signalpipe.o socket.o
 lib-$(CONFIG_UDHCPC)     += dhcpc.o
 lib-$(CONFIG_UDHCPD)     += dhcpd.o arpping.o
 lib-$(CONFIG_DUMPLEASES) += dumpleases.o
-lib-$(CONFIG_DHCPRELAY)  += dhcprelay.o
+lib-$(CONFIG_DHCPRELAY)  += dhcprelay.o common.o socket.o packet.o
 
 lib-$(CONFIG_FEATURE_UDHCPC_ARPING) += arpping.o
 lib-$(CONFIG_FEATURE_UDHCP_RFC3397) += domain_codec.o
index 5b999730aeffbb829ed839f64cc23143b226f88a..1f0c6252d9eab2509804d08b8eed0547e231cb68 100644 (file)
@@ -11,7 +11,8 @@
 //config:config LOGREAD
 //config:      bool "logread"
 //config:      default y
-//config:      depends on FEATURE_IPC_SYSLOG
+//WRONG: it should be compilable without SYSLOG=y:
+//WRONG:       depends on FEATURE_IPC_SYSLOG
 //config:      help
 //config:        If you enabled Circular Buffer support, you almost
 //config:        certainly want to enable this feature as well. This