Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(476)

Side by Side Diff: third_party/gsutil/pkg_util.py

Issue 2280023003: depot_tools: Remove third_party/gsutil (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 #!/usr/bin/env python
2
3 # Utilities to facilitate maintaining one master list of package contents
4 # in MANIFEST.in and allow us to import that list into various packaging
5 # tools (e.g. rpmbuid and setup.py).
6
7 # Define the file in which we maintain package contents. Rather than
8 # hard-coding our package contents, to ease maintenance we read the
9 # manifest file to obtain the list of files and directories to include.
10 MANIFEST_IN = 'MANIFEST.in'
11
12 # Define input and output files for customizing the rpm package spec.
13 SPEC_IN = 'gsutil.spec.in'
14 SPEC_OUT = 'gsutil.spec'
15
16 # Root of rpmbuild tree for file enumeration in gsutil.spec file.
17 RPM_ROOT = '%{_datadir}/%{name}/'
18
19 def parse_manifest(files, dirs):
20 '''Parse contents of manifest file and append results to passed lists
21 of files and directories.
22 '''
23 f = open(MANIFEST_IN, 'r')
24 for line in f:
25 line = line.strip()
26 # Skip empty or comment lines.
27 if (len(line) <= 0) or (line[0] == '#'):
28 continue
29 tokens = line.split()
30 if len(tokens) >= 0:
31 if tokens[0] == 'include':
32 files.extend(tokens[1:])
33 elif tokens[0] == 'recursive-include' and tokens[2] == '*':
34 dirs.append(tokens[1])
35 else:
36 err = 'Unsupported type ' + tokens[0] + ' in ' + MANIFEST_IN + ' file.'
37 raise Exception(err)
38 f.close()
39
40 # When executed as a separate script, create a dynamically generated rpm
41 # spec file. Otherwise, when loaded as a module by another script, no
42 # specific actions are taken, other than making utility functions available
43 # to the loading script.
44 if __name__ == '__main__':
45 # Running as main so generate a new rpm spec file.
46 files = []
47 dirs = []
48 parse_manifest(files, dirs)
49 fin = open(SPEC_IN, 'r')
50 fout = open(SPEC_OUT, 'w')
51 for line in fin:
52 if line.strip() == '###FILES_GO_HERE###':
53 for file in files:
54 fout.write(RPM_ROOT + file + '\n')
55 for dir in dirs:
56 fout.write(RPM_ROOT + dir + '/\n')
57 else:
58 fout.write(line)
59 fout.close()
60 fin.close()
OLDNEW
« no previous file with comments | « third_party/gsutil/oauth2_plugin/oauth2_plugin.py ('k') | third_party/gsutil/plugins/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698