- if (orig_tar_gz != orig_tar) or \
- (native_tar_gz != native_tar) or \
- debian_tar or more_orig_tar:
- yield "contains source files not allowed in format 1.0"
+ if has['native_tar_gz'] and has['debian_diff']:
+ yield "native package with diff makes no sense"
+ if (has['orig_tar_gz'] != has['orig_tar']) or \
+ (has['native_tar_gz'] != has['native_tar']):
+ yield "contains source files not allowed in format %s" % cls.name
+
+ for msg in super(FormatOne, cls).reject_msgs(has):
+ yield msg
+
+ @classmethod
+ def validate_format(cls, format, is_a_dsc=False, field='files'):
+ msg = "Invalid format %s definition: %r" % (cls.name, format)
+
+ if is_a_dsc:
+ if format != (1, 0):
+ raise UnknownFormatError, msg
+ else:
+ if (format < (1,5) or format > (1,8)):
+ raise UnknownFormatError, msg
+ if field != "files" and format < (1,8):
+ raise UnknownFormatError, msg