Skip to content

Commit 3c66bb1

Browse files
committed
---
yaml --- r: 6889 b: refs/heads/master c: 51a9274 h: refs/heads/master i: 6887: 892f42a v: v3
1 parent b2714ac commit 3c66bb1

File tree

8 files changed

+30
-264
lines changed

8 files changed

+30
-264
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 9834321615aea57ab45bbb633ec75b3b39fa2aa3
2+
refs/heads/master: 51a9274cf6b44e22d68398ac79549afafc10c0a0

trunk/Makefile.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,8 +431,9 @@ TSREQS := \
431431
$(SREQ3_T_$(target)_H_$(CFG_HOST_TRIPLE)))
432432
FUZZ := $(HBIN3_H_$(CFG_HOST_TRIPLE))/fuzzer$(X)
433433
CARGO := $(HBIN3_H_$(CFG_HOST_TRIPLE))/cargo$(X)
434+
RUSTDOC := $(HBIN3_H_$(CFG_HOST_TRIPLE))/rustdoc$(X)
434435

435-
all: rustc $(GENERATED) $(DOCS) $(FUZZ) $(CARGO)
436+
all: rustc $(GENERATED) $(DOCS) $(FUZZ) $(CARGO) $(RUSTDOC)
436437

437438
endif
438439

trunk/mk/install.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ install-host: $(SREQ$(ISTAGE)_T_$(CFG_HOST_TRIPLE)_H_$(CFG_HOST_TRIPLE))
6969
$(Q)mkdir -p $(PREFIX_ROOT)/share/man/man1
7070
$(Q)$(call INSTALL,$(HB),$(PHB),rustc$(X))
7171
$(Q)$(call INSTALL,$(HB),$(PHB),cargo$(X))
72+
$(Q)$(call INSTALL,$(HB),$(PHB),rustdoc$(X))
7273
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUNTIME))
7374
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(CORELIB_GLOB))
7475
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(STDLIB_GLOB))

trunk/mk/tools.mk

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ COMPILETEST_INPUTS := $(wildcard $(S)src/compiletest/*rs)
1212
CARGO_CRATE := $(S)src/cargo/cargo.rc
1313
CARGO_INPUTS := $(wildcard $(S)src/cargo/*rs)
1414

15+
# Rustdoc, the documentation tool
16+
RUSTDOC_CRATE := $(wildcard $(S)src/rustdoc/.rc)
17+
RUSTDOC_INPUTS := $(wildcard $(S)src/rustdoc/*.rs)
18+
1519
# FIXME: These are only built for the host arch. Eventually we'll
1620
# have tools that need to built for other targets.
1721
define TOOLS_STAGE_N
@@ -64,6 +68,21 @@ $$(HBIN$(2)_H_$(4))/cargo$$(X): \
6468
@$$(call E, cp: $$@)
6569
$$(Q)cp $$< $$@
6670

71+
$$(TBIN$(1)_T_$(4)_H_$(3))/rustdoc$$(X): \
72+
$$(RUSTDOC_CRATE) $$(RUSTDOC_INPUTS) \
73+
$$(TSREQ$(1)_T_$(4)_H_$(3)) \
74+
$$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_CORELIB) \
75+
$$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_STDLIB) \
76+
$$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_LIBRUSTC)
77+
@$$(call E, compile_and_link: $$@)
78+
$$(STAGE$(1)_T_$(4)_H_$(3)) -o $$@ $$<
79+
80+
$$(HBIN$(2)_H_$(4))/rustdoc$$(X): \
81+
$$(TBIN$(1)_T_$(4)_H_$(3))/rustdoc$$(X) \
82+
$$(HSREQ$(2)_$(4))
83+
@$$(call E, cp: $$@)
84+
$$(Q)cp $$< $$@
85+
6786
endef
6887

6988
$(foreach host,$(CFG_TARGET_TRIPLES), \

trunk/src/cargo/cargo.rc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,3 @@
1414
vers = "0.1",
1515
uuid = "9ff87a04-8fed-4295-9ff8-f99bb802650b",
1616
url = "http://rust-lang.org/doc/cargo")];
17-
18-
mod pgp;

trunk/src/cargo/cargo.rs

Lines changed: 7 additions & 155 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,16 @@ type package = {
3030
name: str,
3131
uuid: str,
3232
url: str,
33-
method: str,
34-
tags: [str]
33+
method: str
3534
};
3635

3736
type source = {
3837
name: str,
3938
url: str,
40-
sig: option::t<str>,
41-
key: option::t<str>,
42-
keyfp: option::t<str>,
4339
mutable packages: [package]
4440
};
4541

4642
type cargo = {
47-
pgp: bool,
4843
root: str,
4944
bindir: str,
5045
libdir: str,
@@ -163,32 +158,12 @@ fn need_dir(s: str) {
163158
fn parse_source(name: str, j: json::json) -> source {
164159
alt j {
165160
json::dict(_j) {
166-
let url = alt _j.find("url") {
161+
alt _j.find("url") {
167162
some(json::string(u)) {
168-
u
163+
ret { name: name, url: u, mutable packages: [] };
169164
}
170165
_ { fail "Needed 'url' field in source."; }
171166
};
172-
let sig = alt _j.find("sig") {
173-
some(json::string(u)) {
174-
some(u)
175-
}
176-
_ { none }
177-
};
178-
let key = alt _j.find("key") {
179-
some(json::string(u)) {
180-
some(u)
181-
}
182-
_ { none }
183-
};
184-
let keyfp = alt _j.find("keyfp") {
185-
some(json::string(u)) {
186-
some(u)
187-
}
188-
_ { none }
189-
};
190-
ret { name: name, url: url, sig: sig, key: key, keyfp: keyfp,
191-
mutable packages: [] };
192167
}
193168
_ { fail "Needed dict value in source."; }
194169
};
@@ -242,31 +217,18 @@ fn load_one_source_package(&src: source, p: map::hashmap<str, json::json>) {
242217
}
243218
};
244219

245-
let tags = [];
246-
alt p.find("tags") {
247-
some(json::list(js)) {
248-
for j in *js {
249-
alt j {
250-
json::string(_j) { vec::grow(tags, 1u, _j); }
251-
_ { }
252-
}
253-
}
254-
}
255-
_ { }
256-
}
257220
vec::grow(src.packages, 1u, {
258221
// source: _source(src),
259222
name: name,
260223
uuid: uuid,
261224
url: url,
262-
method: method,
263-
tags: tags
225+
method: method
264226
});
265-
log " Loaded package: " + src.name + "/" + name;
227+
info(" Loaded package: " + src.name + "/" + name);
266228
}
267229

268230
fn load_source_packages(&c: cargo, &src: source) {
269-
log "Loading source: " + src.name;
231+
info("Loading source: " + src.name);
270232
let dir = fs::connect(c.sourcedir, src.name);
271233
let pkgfile = fs::connect(dir, "packages.json");
272234
if !fs::path_exists(pkgfile) { ret; }
@@ -307,7 +269,6 @@ fn configure() -> cargo {
307269
try_parse_sources(fs::connect(p, "sources.json"), sources);
308270
try_parse_sources(fs::connect(p, "local-sources.json"), sources);
309271
let c = {
310-
pgp: pgp::supported(),
311272
root: p,
312273
bindir: fs::connect(p, "bin"),
313274
libdir: fs::connect(p, "lib"),
@@ -328,10 +289,6 @@ fn configure() -> cargo {
328289
sources.insert(k, s);
329290
};
330291

331-
if c.pgp {
332-
pgp::init(c.root);
333-
}
334-
335292
c
336293
}
337294

@@ -544,10 +501,7 @@ fn cmd_install(c: cargo, argv: [str]) {
544501

545502
fn sync_one(c: cargo, name: str, src: source) {
546503
let dir = fs::connect(c.sourcedir, name);
547-
let pkgfile = fs::connect(dir, "packages.json.new");
548-
let destpkgfile = fs::connect(dir, "packages.json");
549-
let sigfile = fs::connect(dir, "packages.json.sig");
550-
let keyfile = fs::connect(dir, "key.gpg");
504+
let pkgfile = fs::connect(dir, "packages.json");
551505
let url = src.url;
552506
need_dir(dir);
553507
info(#fmt["fetching source %s...", name]);
@@ -557,40 +511,6 @@ fn sync_one(c: cargo, name: str, src: source) {
557511
} else {
558512
info(#fmt["fetched source: %s", name]);
559513
}
560-
alt src.sig {
561-
some(u) {
562-
let p = run::program_output("curl", ["-f", "-s", "-o", sigfile, u]);
563-
if p.status != 0 {
564-
warn(#fmt["fetch for source %s (sig %s) failed", name, u]);
565-
}
566-
}
567-
_ { }
568-
}
569-
alt src.key {
570-
some(u) {
571-
let p = run::program_output("curl", ["-f", "-s", "-o", keyfile, u]);
572-
if p.status != 0 {
573-
warn(#fmt["fetch for source %s (key %s) failed", name, u]);
574-
}
575-
pgp::add(c.root, keyfile);
576-
}
577-
_ { }
578-
}
579-
alt (src.sig, src.key, src.keyfp) {
580-
(some(_), some(_), some(f)) {
581-
let r = pgp::verify(c.root, pkgfile, sigfile, f);
582-
if !r {
583-
warn(#fmt["signature verification failed for source %s", name]);
584-
ret;
585-
} else {
586-
info(#fmt["signature ok for source %s", name]);
587-
}
588-
}
589-
_ {
590-
info(#fmt["no signature for source %s", name]);
591-
}
592-
}
593-
run::run_program("cp", [pkgfile, destpkgfile]);
594514
}
595515

596516
fn cmd_sync(c: cargo, argv: [str]) {
@@ -603,75 +523,10 @@ fn cmd_sync(c: cargo, argv: [str]) {
603523
}
604524
}
605525

606-
fn cmd_init(c: cargo, argv: [str]) {
607-
let srcurl = "http://www.rust-lang.org/cargo/sources.json";
608-
let sigurl = "http://www.rust-lang.org/cargo/sources.json.sig";
609-
610-
let srcfile = fs::connect(c.root, "sources.json.new");
611-
let sigfile = fs::connect(c.root, "sources.json.sig");
612-
let destsrcfile = fs::connect(c.root, "sources.json");
613-
614-
let p = run::program_output("curl", ["-f", "-s", "-o", srcfile, srcurl]);
615-
if p.status != 0 {
616-
warn(#fmt["fetch of sources.json failed: %s", p.out]);
617-
ret;
618-
}
619-
620-
let p = run::program_output("curl", ["-f", "-s", "-o", sigfile, sigurl]);
621-
if p.status != 0 {
622-
warn(#fmt["fetch of sources.json.sig failed: %s", p.out]);
623-
ret;
624-
}
625-
626-
let r = pgp::verify(c.root, srcfile, sigfile, pgp::signing_key_fp());
627-
if !r {
628-
warn(#fmt["signature verification failed for sources.json"]);
629-
ret;
630-
}
631-
info(#fmt["signature ok for sources.json"]);
632-
run::run_program("cp", [srcfile, destsrcfile]);
633-
}
634-
635-
fn print_pkg(s: source, p: package) {
636-
let m = s.name + "/" + p.name + " (" + p.uuid + ")";
637-
if vec::len(p.tags) > 0u {
638-
m = m + " [" + str::connect(p.tags, ", ") + "]";
639-
}
640-
info(m);
641-
}
642-
fn cmd_list(c: cargo, argv: [str]) {
643-
for_each_package(c, { |s, p|
644-
if vec::len(argv) <= 2u || argv[2] == s.name {
645-
print_pkg(s, p);
646-
}
647-
});
648-
}
649-
650-
fn cmd_search(c: cargo, argv: [str]) {
651-
if vec::len(argv) < 3u {
652-
cmd_usage();
653-
ret;
654-
}
655-
let n = 0;
656-
let name = argv[2];
657-
let tags = vec::slice(argv, 3u, vec::len(argv));
658-
for_each_package(c, { |s, p|
659-
if (str::contains(p.name, name) || name == "*") &&
660-
vec::all(tags, { |t| vec::member(t, p.tags) }) {
661-
print_pkg(s, p);
662-
n += 1;
663-
}
664-
});
665-
info(#fmt["Found %d packages.", n]);
666-
}
667-
668526
fn cmd_usage() {
669527
print("Usage: cargo <verb> [args...]");
670-
print(" init Fetch default sources.json");
671528
print(" install [source/]package-name Install by name");
672529
print(" install uuid:[source/]package-uuid Install by uuid");
673-
print(" list [source] List packages");
674-
print(" search <name | '*'> [tags...] Search packages");
675530
print(" sync Sync all sources");
676531
print(" usage This");
677532
}
@@ -683,10 +538,7 @@ fn main(argv: [str]) {
683538
}
684539
let c = configure();
685540
alt argv[1] {
686-
"init" { cmd_init(c, argv); }
687541
"install" { cmd_install(c, argv); }
688-
"list" { cmd_list(c, argv); }
689-
"search" { cmd_search(c, argv); }
690542
"sync" { cmd_sync(c, argv); }
691543
"usage" { cmd_usage(); }
692544
_ { cmd_usage(); }

0 commit comments

Comments
 (0)