Skip to content

Commit 9f923f8

Browse files
committed
Revert "Merge pull request #323 from e4t/master"
This reverts commit 52e38b6, reversing changes made to bb234b3. Problems why we have to revert this change: 1. The merge request turned out not to be backwards compatible. This will break all buildtime services when the archive was created by an older version of tar_scm and *.obsinfo does not contain an `scmdir: *` entry 2. If tar_scm sets a version, `TarSCM/scm/base.prep_tree_for_archive` renames the whole tree and the calculated 'scmdir: ' parameter is wrong (SEE ALSO TarSCM/tasks.py:198)
1 parent 52e38b6 commit 9f923f8

File tree

6 files changed

+14
-25
lines changed

6 files changed

+14
-25
lines changed

TarSCM/archive.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,6 @@ def create_archive(self, scm_object, **kwargs):
128128
# write meta data
129129
metafile = open(os.path.join(args.outdir, basename + '.obsinfo'), "w")
130130
metafile.write("name: " + basename + "\n")
131-
metafile.write(
132-
"scmdir: " + os.path.basename(scm_object.clone_dir) + "\n")
133131
metafile.write("version: " + version + "\n")
134132
metafile.write("mtime: " + str(tstamp) + "\n")
135133

TarSCM/scm/base.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -136,12 +136,8 @@ def detect_changes_scm(self, subdir, chgs):
136136

137137
def get_repocache_hash(self, subdir):
138138
"""Calculate hash fingerprint for repository cache."""
139-
# tar has no u_url
140-
if self.url:
141-
u_url = self.url.encode()
142-
return hashlib.sha256(u_url).hexdigest()
143-
else:
144-
return None
139+
u_url = self.url.encode()
140+
return hashlib.sha256(u_url).hexdigest()
145141

146142
def get_current_commit(self):
147143
return None
@@ -166,8 +162,7 @@ def _calc_repocachedir(self):
166162
if repocachedir:
167163
logging.debug("REPOCACHE: %s", repocachedir)
168164
self.repohash = self.get_repocache_hash(self.args.subdir)
169-
if self.repohash:
170-
self.repocachedir = os.path.join(repocachedir, self.repohash)
165+
self.repocachedir = os.path.join(repocachedir, self.repohash)
171166

172167
def _calc_proxies(self):
173168
# check for standard http/https proxy variables
@@ -235,7 +230,7 @@ def _calc_dir_to_clone_to(self, prefix):
235230
else:
236231
tempdir = os.getcwd()
237232

238-
self.repodir = os.path.join(tempdir, self.basename + '_service')
233+
self.repodir = os.path.join(tempdir, self.basename)
239234

240235
if self.repocachedir:
241236
# Update atime and mtime of repocachedir to make it easier

TarSCM/scm/tar.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ def fetch_upstream(self):
1818
if self.args.obsinfo is None:
1919
raise SystemExit("ERROR: no .obsinfo file found in directory: "
2020
"'%s'" % os.getcwd())
21-
self.basename = self.read_from_obsinfo(self.args.obsinfo, "name")
22-
self.clone_dir = self.read_from_obsinfo(self.args.obsinfo, "scmdir")
21+
self.basename = self.clone_dir = self.read_from_obsinfo(
22+
self.args.obsinfo,
23+
"name"
24+
)
2325
if "/" in self.clone_dir:
2426
sys.exit("name in obsinfo contains '/'.")
2527

@@ -28,18 +30,18 @@ def fetch_upstream(self):
2830
if "/" in version or '..' in version:
2931
sys.exit("verion in obsinfo contains '/' or '..'.")
3032

31-
self.basename += "-" + version
33+
self.clone_dir += "-" + version
3234

3335
if not os.path.exists(self.clone_dir):
3436
self._final_rename_needed = True
3537
# not need in case of local osc build
3638
try:
37-
os.rename(self.clone_dir, self.basename)
39+
os.rename(self.basename, self.clone_dir)
3840
except OSError:
3941
raise SystemExit(
4042
"Error while moving from '%s' to '%s')\n"
4143
"Current working directory: '%s'" %
42-
(self.clone_dir, self.basename, os.getcwd())
44+
(self.basename, self.clone_dir, os.getcwd())
4345
)
4446

4547
def update_cache(self):

TarSCM/tasks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ def process_single_task(self, args):
186186
if args.filename:
187187
dstname = basename = args.filename
188188
else:
189-
dstname = basename = os.path.basename(scm_object.basename)
189+
dstname = basename = os.path.basename(scm_object.clone_dir)
190190

191191
version = self.get_version()
192192
changesversion = version

tests/tartests.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,12 @@ def test_tar_scm_finalize(self):
2929
obsinfo = open(info, 'w')
3030
obsinfo.write(
3131
"name: pkgname\n" +
32-
"scmdir: pkgname_service\n" +
3332
"version: 0.1.1\n" +
3433
"mtime: 1476683264\n" +
3534
"commit: fea6eb5f43841d57424843c591b6c8791367a9e5\n"
3635
)
3736
obsinfo.close()
38-
src_dir = os.path.join(wdir, "pkgname_service")
37+
src_dir = os.path.join(wdir, "pkgname")
3938
os.mkdir(src_dir)
4039
self.tar_scm_std()
4140
self.assertTrue(os.path.isdir(src_dir))

tests/unittestcases.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def test_calc_dir_to_clone_to(self):
4848
for cdir in clone_dirs:
4949
scm.url = cdir
5050
scm._calc_dir_to_clone_to("") # pylint: disable=protected-access
51-
self.assertTrue(scm.clone_dir.endswith('/repo_service'))
51+
self.assertTrue(scm.clone_dir.endswith('/repo'))
5252
self.tasks.cleanup()
5353

5454
@patch('TarSCM.Helpers.safe_run')
@@ -205,7 +205,6 @@ def test_scm_tar(self):
205205
f_h = open(info, 'w')
206206
f_h.write(
207207
"name: test\n" +
208-
"scmdir: test_service\n" +
209208
"version: 0.1.1\n" +
210209
"mtime: 1476683264\n" +
211210
"commit: fea6eb5f43841d57424843c591b6c8791367a9e5\n"
@@ -228,7 +227,6 @@ def test_scm_tar(self):
228227
f_h = open(info, 'w')
229228
f_h.write(
230229
"name: nonexistantbase\n" +
231-
"scmdir: nonexistantbase_service\n" +
232230
"version: 0.1.1\n" +
233231
"mtime: 1476683264\n" +
234232
"commit: fea6eb5f43841d57424843c591b6c8791367a9e5\n"
@@ -346,7 +344,6 @@ def test_scm_tar_invalid_params(self):
346344
f_h = open(info, 'w')
347345
f_h.write(
348346
"name: test/test\n" +
349-
"scmdir: test/test_service\n" +
350347
"version: 0.1.1\n" +
351348
"mtime: 1476683264\n" +
352349
"commit: fea6eb5f43841d57424843c591b6c8791367a9e5\n"
@@ -364,7 +361,6 @@ def test_scm_tar_invalid_params(self):
364361
f_h = open(info, 'w')
365362
f_h.write(
366363
"name: test\n" +
367-
"scmdir: test_service\n" +
368364
"version: a/0.1.1\n" +
369365
"mtime: 1476683264\n" +
370366
"commit: fea6eb5f43841d57424843c591b6c8791367a9e5\n"
@@ -382,7 +378,6 @@ def test_scm_tar_invalid_params(self):
382378
f_h = open(info, 'w')
383379
f_h.write(
384380
"name: test\n" +
385-
"scmdir: test_service\n" +
386381
"version: ..0.1.1\n" +
387382
"mtime: 1476683264\n" +
388383
"commit: fea6eb5f43841d57424843c591b6c8791367a9e5\n"

0 commit comments

Comments
 (0)