
    ki                         d dl Z d dlZd dlZd dlZd dlZ	 d dlZn# e$ r Y nw xY wd Zd Z	d Z
d Zd Zd Zd Zd	 Zd
 Zd ZdS )    Nc                     t           j                            |           }|r	| d| d}n|}dd| dddg}t          j        ||           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 Nonez (= )sedzs/^Depends: /Depends: z, /-izdebian/controlcwdN)libgitget_repo_pathrun_cmd)projectpkgnameversion	repo_pathdependcmds         X/home/osmocom-build/jenkins/workspace/gerrit-binpkgs@2/osmo-ci/scripts/obs/lib/debian.pycontrol_add_dependr      st     %%g..I +++++66666>N
OCK######    c                 8   t           j        j        }t           j                            |           }| d}t          |                                          }|                    dd          d         }|sJ |                    dd          }t          j	        
                    t          j        j                  }|                    d          }t          |d          5 }	|	                    | d	| d
           |	                    d           |	                    d| d           |	                    d           |	                    d| d           |	                    d           |	                    |           ddd           dS # 1 swxY w Y   dS )z+:param version: for the new changelog entry/debian/changelog    r   -.z%a, %d %b %Y %H:%M:%S %zwz (z) unstable; urgency=medium

zE  * Automatically generated changelog entry for building the Osmocom z feed
z, -- Osmocom OBS scripts <info@osmocom.org>  N)r	   argsfeedr
   r   openreadsplitreplacedatetimenowtimezoneutcstrftimewrite)
r   r   r   r   changelog_pathchangelog_oldr   datedate_strfs
             r   changelog_add_entryr/   !   s   8=D%%g..I!444N((--//M !!#q))!,GNNN ooc3''G   !2!677D}}788H 
nc	"	" a	7CCgCCCDDD		eX\eeefff		KxKKKLLL		                 s    B"FFFc                    t           j                            |           }| d}t          j                            |          sdS d}t          |d                                                                          }||k    rdS t          |  d| d| d           t          |d          
                    | d	           dS )
zDAlways use format "3.0 (native)" (e.g. limesuite has "3.0 (quilt)").z/debian/source/formatNz3.0 (native)rz: fixing debian/source/format ( => r   r   r   )r	   r
   r   ospathexistsr    r!   rstripprintr)   )r   r   format_pathexpectedcurrents        r   fix_source_formatr;   ?   s    %%g..I555K7>>+&& H;$$))++2244G(	W
M
MW
M
M(
M
M
MNNNc  H11111r   c                    t           j                            |           }| d}t          j                            |          sJ |  d            t          |                                          }|sJ |  d            |                    dd          d                             dd          d         }|sJ |  d            |S )	Nr   z: missing debian/changelogz: debian/changelog is empty(r   r   r   z0: couldn't find last version in debian/changelog)	r	   r
   r   r3   r4   r5   r    r!   r"   )r   r   r*   	changelogrets        r   get_last_version_from_changelogr@   P   s    %%g..I!444N7>>.))QQg+Q+Q+QQQQ^$$))++I========
//#q
!
!!
$
*
*3
2
21
5CLL7LLLLLLJr   c                 v    | d S d| v r|                      ddd           d} |                      dd          } | S )Nz
osmo-epdg- r   z
-osmo-epdgr   r   )r#   )r   s    r   transform_versionrC   _   sM    tw__\2q99EEEooc3''GNr   c                 ^   t          |           }	 t          j                            |                    d          d                   t          j                            |                    d          d                   k    rPt          |  d| d| d           t          j        j        rt          |  d           nt          |  d           dS n# t          j        j	        $ r Y nw xY wt          |          }||k    rdS t          |  d	| d
| d           t          | |           dS )z]Adjust the changelog if the version in the changelog is different from
    the given version.r   r   z#: WARNING: version from changelog (z+) is higher than version based on git tag (r   zE: WARNING: assuming commit from last git tag was amended, ignoring...zA: WARNING: using version from changelog (git tag not pushed yet?)Nz!: adding debian/changelog entry (r2   )r@   	packagingr   parser"   r7   r	   r   version_appendInvalidVersionrC   r/   )r   r   version_changelogs      r   changelog_add_entry_if_neededrJ   j   s    8@@""#4#:#:3#?#?#BCCiFWF]F]^e^k^klo^p^pqr^sFtFttt  H  H?P  H  H  ~E  H  H  H   x& ggghhhhcccddd+    		  ((GG##	W
X
X7H
X
Xg
X
X
XYYY)))))s   C C C+*C+c                    t          |  d|            t          j                            |            d}d}t	          |d          5 }|                                }ddd           n# 1 swxY w Y   t          t          |                    D ]~}||         }|                    d          rd}"d|vr'|sJ d	|	                    d
d          v r|	                    dd	| d          ||<   n|	                    dd| d          ||<    |s|ddd| dgz  }t	          |d          5 }|
                    |           ddd           dS # 1 swxY w Y   dS )zAdd 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/rulesFr1   Nzoverride_dh_auto_configure:Tdh_auto_configurez -- 	r   z --r   zdh_auto_configure -- r   zoverride_dh_auto_configure:
z	dh_auto_configure -- r   )r7   r	   r
   r   r    	readlinesrangelen
startswithr#   
writelines)r   
parametersrulesoverride_foundr.   linesilines           r   configure_appendrY      s$    
W
A
AZ
A
ABBBw$$W--<<<EN	eS		 Q              3u::  Qx??899 	!Nd**T\\$,,,,||E+>*+>+>BBE!HH||$79]Q[9]9]_`aaE!H 
+4j444
 	

 
eS		 Q	U                 s$   	A**A.1A..EEEc                    t          |  d           t          j                            |            d}t          j        ddd| dg           t          j        ddd| dg           t          j        dt          j        |           d	d
           t          j        ddd| dg           t          j        ddd| dg           t          j        ddd| dg           dS )znDisabling manuals speeds up the build time significantly, we don't
    need them for e.g. the asan repository.z: disabling manualsz/debianr   r   z/osmo-gsm-manuals-dev/dz/controlz
/doxygen/dzrm -rf z/*-doc.installT)shellzs/--enable-manuals//gz/ruleszs/--enable-doxygen//gzs/$(MAKE) -C doc\/manuals//gN)r7   r	   r
   r   r   shlexquote)r   debians     r   disable_manualsr_      s    
W
)
)
)***%%g..777FK7F9L9L9LMNNNKlv,?,?,?@AAAK=%+f--===TJJJJK5&7H7H7HIJJJK5&7H7H7HIJJJK<>O>O>OPQQQQQr   c                     t          |            t          |  d           t          j        g dt          j                            |                      d S )Nz : building debian source package)zdpkg-buildpackagez-Sz-ucz-usz-dr   )r;   r7   r	   r   r
   r   )r   s    r   build_source_packagera      sf    g	W
6
6
6777K777G!!'**     r   c                     t          j        |           }t          j        dt          j        |           dt           j        j                   d S )Nzmv *.tar* *.dsc T)r[   r   )r	   get_output_pathr   r\   r]   config
path_cache)r   path_outputs     r   move_files_to_outputrg      sU    %g..KK55;{3355J!     r   )r$   r3   r\   r	   lib.gitpackaging.versionrE   ImportErrorr   r/   r;   r@   rC   rJ   rY   r_   ra   rg    r   r   <module>rl      s    				  



 
	 	 	 	D	$ $ $  <2 2 2"    * * *@  @R R R       s    ##