1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
|
2008-08-28 Zoltan Varga <vargaz@gmail.com>
* Makefile (PROGRAM): Always install gacutil into the appropriate profile
dir.
2008-04-09 Sebastien Pouliot <sebastien@ximian.com>
* gacutil.exe.sources: Use the StrongNameManager.cs file from sn
(located in ../security/).
* StrongNameManager.cs: Removed. Two copies (sn and corlib) are
already enough.
2008-04-09 Gert Driesen <drieseng@users.sourceforge.net>
* driver.cs: Use Mono.Security.StrongNameManager to perform strongname
verification. This reduces verbosity of install action and fixes bug
#376238.
* gacutil.exe.sources: Added StrongNameManager.cs.
* StrongNameManager.cs: Copied from Mono.Security in corlib.
2008-03-14 Paolo Molaro <lupus@ximian.com>
* driver.cs: added a bootstrap option to ignore sn failures for now
when bootstrapping a build. The option name will periodically change
so no one else can use it.
2008-03-14 Atsushi Enomoto <atsushi@ximian.com>
* driver.cs : temporarily disable r98206 strongname check
until the build gets fixed.
Thu Mar 13 22:33:36 CET 2008 Paolo Molaro <lupus@ximian.com>
* driver.cs: run sn on the assembly to ensure it is strongly named.
2007-12-28 Gert Driesen <drieseng@users.sourceforge.net>
* driver.cs: Ignore the /nologo option instead of considering it to
be part of the assembly (file) name. Modified Uninstall to take ref
arguments for number of uninstalled assemblies and number of failures,
and bool for indicating whether it's being executed in list mode.
Depending on the command, report the number of assemblies that were
processed, uninstalled, installed and the number of failures. Updated
failure messages for install command to include path of assembly that
is being installed. In Uninstall, only increment failure count for a
no-match condition and only process first match when executing in list
mode. In InstallFromList and UninstallFromList, skip lines containing
only whitespace characters. In non-list mode, the uninstall command
reports success if there are no matches for the specified assembly
name. In list-mode, the uninstall command reports an error if there's
no match for at least one of the specified assembly names. The version
number of the assembly - that you want to uninstall or for which you
want a list of assemblies that are in the GAC - can be partial and
will then match the version numbers starting with that text. Removed
unused CombinePatchs method.
2007-01-21 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
* driver.cs: accept absolute *nix paths for library names without
getting them confused with options
2006-07-24 Alp Toker <alp@atoker.com>
* driver.cs: Minor typo fixes in comments and informational output.
2006-04-12 Miguel de Icaza <miguel@novell.com>
* driver.cs: Delete the target file before copying over, this will
ensure that if some running application is using the assembly or
any of its datafiles, it does not get corrupted by an install.
2005-10-26 Geoff Norton <gnorton@customerdna.com>
* driver.cs: Do not match every item with a blank string. Fixes
#76563
2005-09-10 Miguel de Icaza <miguel@novell.com>
* driver.cs: Only symlink if the file that we are symlking to
exists. This fixes all the stale symlinks on $prefix/mono/1.0/
to config files that do not exist.
2005-09-05 Miguel de Icaza <miguel@novell.com>
* driver.cs (Uninstall): Add workaround, Directory.GetFiles does
not return symlinks inside the directories which makes this break
on uninstall (make distcheck on monodoc exposed this).
2005-07-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
* driver.cs (Install): Copy the linked resource files
for the assembly when installing it.
2005-05-20 Ben Maurer <bmaurer@ximian.com>
* driver.cs (Main): If the switch argument isn't actually a
switch, treat it like a file. Fixes 73405.
2005-03-14 Raja R Harinath <rharinath@novell.com>
* Makefile (PROGRAM): Make profile-specific during
net_1_1_bootstrap.
2005-01-18 Raja R Harinath <rharinath@novell.com>
* driver.cs (Install): Restore fix from 2004-12-08.
2005-01-13 Mike Kestner <mkestner@novell.com>
* driver.cs: use relative symlinks for the package dir.
2005-01-11 Jackson Harper <jackson@ximian.com>
* driver.cs: Make sure the actual assembly file exists when
listing assemblies. Some packages don't remove the entire
directory so we get existing directories without assemblies in
them.
2004-12-08 Raja R Harinath <rharinath@novell.com>
* driver.cs (Symlink): Pass additional parameter: the name of the
dll being installed. If needed copy that file, not 'oldpath',
since 'oldpath' need not be a valid file (esp. on DESTDIR builds).
(Install): Update.
2004-07-28 Jackson Harper <jackson@ximian.com>
* driver.cs: Check for and install .mdb (debuger symbol files).
2004-07-15 Jackson Harper <jackson@ximian.com>
* driver.cs: MONO_GAC_PREFIX not MONO_GAC_PATH.
2004-06-15 Jackson Harper <jackson@ximian.com>
* driver.cs: Ensure that the -gacdir ends with /lib if it does not
appened one. The reason for this is that the runtime expects it,
and existing makefiles user -gacdir $(destdir)/$(libdir) so auto
appending it without checking would break many things.
2004-06-10 Jackson Harper <jackson@ximian.com>
* driver.cs: We don't need to check if the canidate is a file in
IsSwitch anymore as some other commandline handling will take care
of this case.
2004-06-10 Jackson Harper <jackson@ximian.com>
* driver.cs: Don't append gacdir to /root. This breaks
everything. Will add another option for doing this if its needed.
2004-06-09 Jackson Harper <jackson@ximian.com>
* gacutil.exe.sources: Make the new gacutil the default and return
seats to their upright position.
2004-06-08 Jackson Harper <jackson@ximian.com>
* driver.cs: When checking refs don't bother using an AppDomain
and load the assembly using the code base so we get the right
one. Print out the name of the non strong named assembly if one is
referenced.
2004-06-08 Jackson Harper <jackson@ximian.com>
* driver.cs Add install from list and uninstall from list
commands. Allow options to come before commands. Add the /silent
option so we can shut the tool up. And use returns instead of
Environment.Exit where appropriate.
2004-06-07 Jackson Harper <jackson@ximian.com>
* driver.cs: Add -check_refs option to check if all referenced
assemblies are stron named. Fix some pathing issues when create
links for packaged. Update todds (C) info.
2004-06-05 Miguel de Icaza <miguel@ximian.com>
* gacutil.cs: GetAssemblyInfo might return null now, check for
that.
Add try/catch to GetAssemblyInfo.
2004-05-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* gacutil.cs: when -il, don't stop if one assembly fails to install.
2004-05-21 Jackson Harper <jackson@ximian.com>
* driver.cs: More fiddling with paths.
2004-05-21 Jackson Harper <jackson@ximian.com>
* driver.cs: Allow the root and gacdir to both be specified. In
this case they are combined.
2004-05-21 Jackson Harper <jackson@ximian.com>
* driver.cs: Do not allow gacdir and root to be specified at the
same time. Cleanup help. Add help for options.
2004-05-21 Jackson Harper <jackson@ximian.com>
* driver.cs: Add uninstall-specific option. This takes an assembly
file and uninstalls a matching named one from the GAC. Fix search
string shenanigans when uninstalling.
2004-05-21 Jackson Harper <jackson@ximian.com>
* driver.cs: This is the new gacutil. Right now it wont get built,
after I do a little more testing I will make it the built/installed
gacutil.
2004-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* gacutil.cs: force = true requested by Miguel.
2004-05-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* gacutil.cs:
(InstallAssembly): use Array.IndexOf to search for "/f", "-f" or
"--force" instead of expecting it in a fixed place.
2004-05-14 Todd Berman <tberman@sevenl.net>
* gacutil.cs: Remove old file/symlink, thanks urs.
2004-05-14 Jackson Harper <jackson@ximian.com>
* gacutil.cs: Always install the package files.
2004-05-04 Jackson Harper <jackson@ximian.com>
* gacutil.cs: We need to overwrite existing libraries if they
already exist in the package directory on windows. Also made the
code somewhat readable with 80 cols.
2004-05-03 Todd Berman <tberman@sevenl.net>
* gacutil.cs: potential fix for miguel.
2004-05-03 Todd Berman <tberman@sevenl.net>
* gacutil.cs: support /package in /u now as well.
2004-05-03 Todd Berman <tberman@sevenl.net>
* gacutil.cs: Add /package support. Seriously going to rewrite cmdline
handling *asap* cause this is just wrong.
2004-05-01 Todd Berman <tberman@sevenl.net>
* gacutil.cs: copy the config file, not the assembly again.
2004-05-01 Todd Berman <tberman@sevenl.net>
* gacutil.cs: ack, miguel is right, cmdline handling needs some love.
2004-04-30 Todd Berman <tberman@sevenl.net>
* gacutil.cs: cleanup help.
2004-04-30 Todd Berman <tberman@sevenl.net>
* gacutil.cs: remove /prefix, now --root and /root
2004-04-30 Todd Berman <tberman@sevenl.net>
* gacutil.cs: Change the way of handling the /prefix stuff.
Now all gacbased operations will work with /prefix or --root. This
*MUST* be at the end of the commandline for it to work.
Also note, that in a Makefile changing /i to /u will not work, as the
gac uninstalls based on AssemblyName.Name, so forexample:
gacutil /i some/path/blah/System.dll --root /usr/lib/somefakegac
will install and
gacutil /u System --root /usr/lib/somefakegac
will uninstall.
2004-04-30 Miguel de Icaza <miguel@ximian.com>
* gacutil.cs: Rename /prefix with /libdir, Append mono/gac to
that.
2004-04-30 Jackson Harper <jackson@ximian.com>
* gacutil.cs: Install config files.
2004-04-30 Jackson Harper <jackson@ximian.com>
* gacutil.cs: Use invariant culture for ToLower. Patch from Urs Muff.
2004-04-30 Todd Berman <tberman@sevenl.net>
* gacutil.cs: Add a missing .Trim ()
2004-04-29 Jackson Harper <jackson@ximian.com>
* gacutil.cs: Allow a prefix to be specified. This is only for
packaging if you install to some wack prefix it wont work.
2004-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* gacutil.cs: return non-zero when something fails.
2004-04-29 Todd Berman <tberman@sevenl.net>
* gacutil.cs: Add assembly name to installation message.
2004-04-27 Jackson Harper <jackson@ximian.com>
* gacutil.cs: Temporarily disable strong name verification when
installing.
2004-04-27 Jackson Harper <jackson@ximian.com>
* gacutil.cs: Remove hack for removing strong name headers. The
strong name type now handles these properly and this screwed up
the ecma key.
2004-03-25 Jackson Harper <jackson@ximian.com>
* gacutil.cs: Add culture to assemblies version string.
2003-12-10 Todd Berman <tberman@gentoo.org>
* gacutil.cs: Properly detect and fail gracefully on ms.net runtime
* README:
* TODO: Updated
2003-12-10 Zoltan Varga <vargaz@freemail.hu>
* gacutil.cs: Fix binding flags.
* gacutil.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
Use Environment.GacPath () instead of hardcoding the GAC path.
2003-11-16 Sebastien Pouliot <spouliot@videotron.ca>
* gacutil.cs: Added strongname validation
* Makefile: Added a reference to Mono.Security assembly.
2003-11-16 Todd Berman <tberman@gentoo.org>
* gacutil.cs: /il functionality
* gacutil.cs: /ul functionality
* TODO: updated
* gacutil.cs: help text added.
2003-11-15 Todd Berman <tberman@gentoo.org>
* gacutil.cs: Added reference counting for installation and deletion.
An assembly will have a RefCount of 1 if --force is used.
* gacutil.cs: Changed ... + Path.DirSepChar + ... to Path.Combine
Thanks to Ben Maurer. Turns out code marked as potentially not
needed was not needed, now refcounting with /u assemblyname works
as well.
* gacutil.cs: Incorporated uac (User Assembly Cache), needs some
machine.config security checking as well.
2003-11-14 Todd Berman <tberman@gentoo.org>
* gacutil.cs: added proper removal of assemblies, now the version=
syntax also works.
* gacutil.exe: somehow got added, removing, duh.
2003-11-12 Todd Berman <tberman@gentoo.org>
* Makefile:
* TODO:
* README:
* ChangeLog:
* gacutil.exe.sources:
* gacutil.cs: Added
|