lgcddlZddlZddlZddlZddlZ ddlZn #e$rYnwxYwdZdZ dZ dZ dZ dZ dZd Zd Zd ZdS) Nctj|}|r |d|d}n|}dd|dddg}tj||d S) z :param pkgname: of the meta-package to depend on (e.g. osmocom-nightly) :param version: of the meta-pkgname to depend on or None z (= )sedzs/^Depends: /Depends: z, /-izdebian/controlcwdN)libgit get_repo_pathrun_cmd)projectpkgnameversion repo_pathdependcmds /obs/lib/debian.pycontrol_add_dependrst%%g..I+++++ 66666>N OCK######c8tjj}tj|}|d}t |}|ddd}|sJ|dd}tj tj j }| d}t |d5} | |d |d | d | d |d | d | d|d | d | |ddddS#1swxYwYdS)z- :param version: for the new changelog entry /debian/changelog r-.z%a, %d %b %Y %H:%M:%S %zwz (z) unstable; urgency=medium  zE * Automatically generated changelog entry for building the Osmocom z feed z, -- Osmocom OBS scripts N)r argsfeedr r openreadsplitreplacedatetimenowtimezoneutcstrftimewrite) r rrrchangelog_path changelog_oldrdatedate_strfs rchangelog_add_entryr/ s 8=D%%g..I!444N((--//M!!#q))!,G NNNooc3''G   !2!6 7 7D}}788H nc " "a 7CCgCCCDDD   * *** + + +   KxKKKLLL    s B"FFFctj|}|d}tj|sdSd}t |d}||krdSt|d|d|dt |d |d dS) zE Always use format "3.0 (native)" (e.g. limesuite has "3.0 (quilt)").z/debian/source/formatNz 3.0 (native)rz: fixing debian/source/format ( => rrr) r r r ospathexistsr r!rstripprintr))r r format_pathexpectedcurrents rfix_source_formatr;?s%%g..I555K 7>>+ & &H;$$))++2244G( W M MW M M( M M MNNNc  H11111rctj|}|d}tj|s J|dt |}|s J|d|dddddd}|s J|d|S) Nrz: missing debian/changelogz: debian/changelog is empty(rrrz0: couldn't find last version in debian/changelog) r r r r3r4r5r r!r")r rr* changelogrets rget_last_version_from_changelogr@Ps%%g..I!444N 7>>. ) )QQg+Q+Q+QQQQ^$$))++I ======== //#q ! !! $ * *3 2 21 5C LL7LLLLLL Jrcv|dSd|vr|dddd}|dd}|S)Nz osmo-epdg-rz -osmo-epdgrr)r#)rs rtransform_versionrC_sMtw__\2q99EEEooc3''G Nrct|} tj|ddtj|ddkrt |d|d|ddSn#tjj$rYnwxYwt|}||krdSt |d|d|d t||dS) zc Adjust the changelog if the version in the changelog is different from the given version. rrz#: WARNING: version from changelog (z+) is higher than version based on git tag (z9), using version from changelog (git tag not pushed yet?)Nz!: adding debian/changelog entry (r2r) r@ packagingrparser"r7InvalidVersionrCr/)r rversion_changelogs rchangelog_add_entry_if_neededrIjsS8@@    " "#4#:#:3#?#?#B C C!'' c(:(:1(=>> ? ? W(    F  ?   +       ((GG## W  7H     )))))sB BB54B5ct|d|tj|d}d}d}t |d5}|}dddn #1swxYwYt t|D]}||}|drd}"d|vr'|sJd | d d vr| d d |d ||<n| dd|d ||<d}|s |ddd|dgz }t |d5}| |ddddS#1swxYwYdS)z Add one or more configure parameters like --enable-sanitize to the dh_auto_configure line, also add the override_dh_auto_configure block if missing. z: adding configure parameters: z /debian/rulesFr1Nzoverride_dh_auto_configure:Tdh_auto_configurez --  rz --rzdh_auto_configure -- rzoverride_dh_auto_configure: z dh_auto_configure -- r) r7r r r r readlinesrangelen startswithr# writelines) r parametersrulesoverride_foundreplacedr.linesilines rconfigure_appendrYs1 W A AZ A ABBBw$$W-- < < *+>+>BBE!HH||$7$HJ$H$H!MME!H < $1:J:::< < eS  Q Us$ A,,A03A02EEEct|dtj|d}tjddd|dgtjddd|dgtjdt j|d d tjddd |d gtjddd|d gdS)zt Disabling manuals speeds up the build time significantly, we don't need them for e.g. the asan repository. z: disabling manualsz/debianrrz/osmo-gsm-manuals-dev/dz/controlz /doxygen/dzrm -rf z/*-doc.installT)shellzs/--enable-manuals//gz/ruleszs/--enable-doxygen//gN)r7r r r r shlexquote)r debians rdisable_manualsr_s W ) ) )***%%g.. 7 7 7FK7F9L9L9LMNNNKlv,?,?,?@AAAK=%+f--===TJJJJK5&7H7H7HIJJJK5&7H7H7HIJJJJJrct|t|dtjgdtj|dS)Nz : building debian source package)zdpkg-buildpackagez-Sz-ucz-usz-dr)r;r7r r r r )r s rbuild_source_packagerasfg W 6 6 6777K???G))'22444444rctj|}tjdtj|dtjjdS)Nzmv *.tar* *.dsc T)r[r)r get_output_pathr r\r]config path_cache)r path_outputs rmove_files_to_outputrgsT%g..KK=5;{#;#;==TJ)++++++r)r$r3r\r lib.gitpackaging.versionrE ImportErrorrr/r;r@rCrIrYr_rargrrrls       D  $ $ $>222"   ***>B K K K444+++++s ##