summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2009-07-22 10:03:52 -0700
committerAaron Plattner <aplattner@nvidia.com>2009-07-22 10:03:52 -0700
commit90d4fc132902258cabe67700d2599fcae65234a1 (patch)
tree9b8146eed009b73e605c76d9214698b9b6ccb915
parent93f59f6ac4eff2a32a2719e56088d601628e137e (diff)
190.16190.16
-rw-r--r--DRIVER_VERSION2
-rw-r--r--kernel.c53
-rw-r--r--nvidia-installer.c7
-rw-r--r--nvidia-installer.h3
-rw-r--r--option_table.h10
-rw-r--r--public.mk12
6 files changed, 49 insertions, 38 deletions
diff --git a/DRIVER_VERSION b/DRIVER_VERSION
index 49dc92b..f8b2204 100644
--- a/DRIVER_VERSION
+++ b/DRIVER_VERSION
@@ -1 +1 @@
-185.18.14
+190.16
diff --git a/kernel.c b/kernel.c
index 754da06..626c71e 100644
--- a/kernel.c
+++ b/kernel.c
@@ -2,7 +2,7 @@
* nvidia-installer: A tool for installing NVIDIA software packages on
* Unix and Linux systems.
*
- * Copyright (C) 2003 NVIDIA Corporation
+ * Copyright (C) 2003-2009 NVIDIA Corporation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -996,22 +996,15 @@ int find_precompiled_kernel_interface(Options *op, Package *p)
* if we should try to download one.
*/
- if (!info && !op->no_network) {
- if (ui_yes_no(op, TRUE, "No precompiled kernel interface was "
- "found to match "
- "your kernel; would you like the installer to attempt "
- "to download a kernel interface for your kernel from "
- "the NVIDIA ftp site (%s)?", op->ftp_site)) {
-
- info = download_updated_kernel_interface(op, p,
- proc_version_string);
- if (!info) {
- ui_message(op, "No matching precompiled kernel interface was "
- "found on the NVIDIA ftp site; this means that the "
- "installer will need to compile a kernel interface "
- "for your kernel.");
- return FALSE;
- }
+ if (!info && !op->no_network && op->precompiled_kernel_interfaces_url) {
+ info = download_updated_kernel_interface(op, p,
+ proc_version_string);
+ if (!info) {
+ ui_message(op, "No matching precompiled kernel interface was "
+ "found at '%s'; this means that the installer will need "
+ "to compile a kernel interface for your kernel.",
+ op->precompiled_kernel_interfaces_url);
+ return FALSE;
}
}
@@ -1035,10 +1028,12 @@ int find_precompiled_kernel_interface(Options *op, Package *p)
failed:
- ui_message(op, "No precompiled kernel interface was found to match "
- "your kernel; this means that the installer will need to "
- "compile a new kernel interface.");
-
+ if (op->expert) {
+ ui_message(op, "No precompiled kernel interface was found to match "
+ "your kernel; this means that the installer will need to "
+ "compile a new kernel interface.");
+ }
+
return FALSE;
} /* find_precompiled_kernel_interface() */
@@ -1315,10 +1310,10 @@ download_updated_kernel_interface(Options *op, Package *p,
/* initialize the tmpfile and url strings */
tmpfile = nvstrcat(op->tmpdir, "/nv-updates-XXXXXX", NULL);
- url = nvstrcat(op->ftp_site, "/XFree86/", INSTALLER_OS, "-",
- INSTALLER_ARCH, "/", p->version,
- "/updates/updates.txt", NULL);
-
+ url = nvstrcat(op->precompiled_kernel_interfaces_url, "/", INSTALLER_OS,
+ "-", INSTALLER_ARCH, "/", p->version, "/updates/updates.txt",
+ NULL);
+
/*
* create a temporary file in which to write the list of available
* updates
@@ -1378,10 +1373,10 @@ download_updated_kernel_interface(Options *op, Package *p,
/* build the new url and dstfile strings */
nvfree(url);
- url = nvstrcat(op->ftp_site, "/XFree86/",
- INSTALLER_OS, "-", INSTALLER_ARCH, "/",
- p->version, "/updates/", buf, NULL);
-
+ url = nvstrcat(op->precompiled_kernel_interfaces_url, "/",
+ INSTALLER_OS, "-", INSTALLER_ARCH, "/", p->version,
+ "/updates/", buf, NULL);
+
dstfile = nvstrcat(p->precompiled_kernel_interface_directory,
"/", buf, NULL);
diff --git a/nvidia-installer.c b/nvidia-installer.c
index b9d3d40..4e91c16 100644
--- a/nvidia-installer.c
+++ b/nvidia-installer.c
@@ -2,7 +2,7 @@
* nvidia-installer: A tool for installing NVIDIA software packages on
* Unix and Linux systems.
*
- * Copyright (C) 2003 NVIDIA Corporation
+ * Copyright (C) 2003-2009 NVIDIA Corporation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -78,7 +78,7 @@ static void print_version(void)
"The NVIDIA Accelerated Graphics Driver Set for %s-%s.",
INSTALLER_OS, INSTALLER_ARCH);
fmtout("");
- fmtoutp(TAB, "Copyright (C) 2003 - 2008 NVIDIA Corporation.");
+ fmtoutp(TAB, "Copyright (C) 2003 - 2009 NVIDIA Corporation.");
fmtout("");
}
@@ -395,6 +395,9 @@ Options *parse_commandline(int argc, char *argv[])
case PRECOMPILED_KERNEL_INTERFACES_PATH_OPTION:
op->precompiled_kernel_interfaces_path = optarg;
break;
+ case PRECOMPILED_KERNEL_INTERFACES_URL_OPTION:
+ op->precompiled_kernel_interfaces_url = optarg;
+ break;
case NO_ABI_NOTE_OPTION:
op->no_abi_note = TRUE;
break;
diff --git a/nvidia-installer.h b/nvidia-installer.h
index 4c2f805..046ea62 100644
--- a/nvidia-installer.h
+++ b/nvidia-installer.h
@@ -2,7 +2,7 @@
* nvidia-installer: A tool for installing NVIDIA software packages on
* Unix and Linux systems.
*
- * Copyright (C) 2003 NVIDIA Corporation
+ * Copyright (C) 2003-2009 NVIDIA Corporation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -186,6 +186,7 @@ typedef struct __options {
char *kernel_name;
char *rpm_file_list;
char *precompiled_kernel_interfaces_path;
+ char *precompiled_kernel_interfaces_url;
const char *selinux_chcon_type;
Distribution distro;
diff --git a/option_table.h b/option_table.h
index 0ee356a..8463e49 100644
--- a/option_table.h
+++ b/option_table.h
@@ -33,6 +33,7 @@ enum {
RPM_FILE_LIST_OPTION,
NO_RUNLEVEL_CHECK_OPTION,
PRECOMPILED_KERNEL_INTERFACES_PATH_OPTION,
+ PRECOMPILED_KERNEL_INTERFACES_URL_OPTION,
NO_ABI_NOTE_OPTION,
KERNEL_SOURCE_PATH_OPTION,
NO_RPMS_OPTION,
@@ -382,6 +383,15 @@ static const NVOption __options[] = {
"Before searching for a precompiled kernel interface in the "
".run file, search in the specified directory." },
+ { "precompiled-kernel-interfaces-url",
+ PRECOMPILED_KERNEL_INTERFACES_URL_OPTION, NVOPT_HAS_ARGUMENT,
+ "If no precompiled kernel interfaces are found within the driver package "
+ "or provided on the file system by the Linux distribution, check the "
+ "specified URL for updates. NVIDIA does not intend to provide updated "
+ "precompiled kernel interfaces, but system administrators might use this "
+ "for distributing precompiled kernel interfaces in a local area "
+ "network." },
+
{ "run-nvidia-xconfig", 'X', 0,
"nvidia-installer can optionally invoke the nvidia-xconfig utility. "
"This will update the system X configuration file so that the NVIDIA X "
diff --git a/public.mk b/public.mk
index fee02e3..250d079 100644
--- a/public.mk
+++ b/public.mk
@@ -79,7 +79,7 @@ RTLD_TEST_32 = rtld_test_$(TARGET_OS)-x86
GEN_UI_ARRAY = $(OUTPUTDIR)/gen-ui-array
CONFIG_H = $(OUTPUTDIR)/config.h
-MANPAGE = $(OUTPUTDIR)/nvidia-installer.1
+MANPAGE = $(OUTPUTDIR)/nvidia-installer.1.gz
GEN_MANPAGE_OPTS = $(OUTPUTDIR)/gen-manpage-opts
OPTIONS_1_INC = $(OUTPUTDIR)/options.1.inc
@@ -142,7 +142,6 @@ MKPRECOMPILED_install: $(MKPRECOMPILED)
MANPAGE_install: $(MANPAGE)
$(MKDIR) $(mandir)
$(INSTALL) $(INSTALL_DOC_ARGS) $< $(mandir)/$(notdir $<)
- gzip -9f $(mandir)/$(notdir $(MANPAGE))
$(MKPRECOMPILED): $(MKPRECOMPILED_OBJS)
$(call quiet_cmd,LINK) -o $@ \
@@ -198,8 +197,9 @@ $(foreach src,$(ALL_SRC),$(eval $(call DEFINE_OBJECT_RULE,CC,$(src))))
# define the rule to generate $(STAMP_C)
$(eval $(call DEFINE_STAMP_C_RULE, $(INSTALLER_OBJS), $(NVIDIA_INSTALLER_PROGRAM_NAME)))
-$(CONFIG_H): $(bootstrap)
+$(CONFIG_H):
@ $(RM) -f $@
+ @ $(MKDIR) $(OUTPUTDIR)
@ $(ECHO) "#define INSTALLER_OS \"$(TARGET_OS)\"" >> $@
@ $(ECHO) "#define INSTALLER_ARCH \"$(TARGET_ARCH)\"" >> $@
@ $(ECHO) -n "#define NVIDIA_INSTALLER_VERSION " >> $@
@@ -207,7 +207,7 @@ $(CONFIG_H): $(bootstrap)
@ $(ECHO) -n "#define PROGRAM_NAME " >> $@
@ $(ECHO) "\"$(NVIDIA_INSTALLER_PROGRAM_NAME)\"" >> $@
-$(INSTALLER_OBJS): $(CONFIG_H)
+$(call BUILD_OBJECT_LIST,$(ALL_SRC)): $(CONFIG_H)
clean clobber:
rm -rf $(OUTPUTDIR)
@@ -259,6 +259,8 @@ doc: $(MANPAGE)
$(eval $(call DEFINE_OBJECT_RULE,HOST_CC,gen-manpage-opts.c))
+$(call BUILD_OBJECT_LIST,gen-manpage-opts.c): $(CONFIG_H)
+
$(GEN_MANPAGE_OPTS): $(call BUILD_OBJECT_LIST,gen-manpage-opts.c)
$(call quiet_cmd,HOST_LINK) $< -o $@ \
$(HOST_CFLAGS) $(HOST_LDFLAGS) $(HOST_BIN_LDFLAGS)
@@ -275,4 +277,4 @@ $(MANPAGE): nvidia-installer.1.m4 $(OPTIONS_1_INC)
-D__DRIVER_VERSION__="$(NVIDIA_VERSION)" \
-D__OUTPUTDIR__=$(OUTPUTDIR) \
-I $(OUTPUTDIR) \
- $< > $@
+ $< | $(GZIP_CMD) -9f > $@