From e75140dc5f50682086a015393c6ef1dee07a0b04 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 18 Apr 2010 15:19:35 -0400 Subject: [PATCH] Fix empty field fix, to take into account that "0" is a false value Instead, avoid populating fields with empty strings if rpm fails to get a field value, either due to not knowing the field, or due to the field not being set. --- Alien/Package/.Rpm.pm.swp | Bin 0 -> 16384 bytes Alien/Package/Rpm.pm | 14 +++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 Alien/Package/.Rpm.pm.swp diff --git a/Alien/Package/.Rpm.pm.swp b/Alien/Package/.Rpm.pm.swp new file mode 100644 index 0000000000000000000000000000000000000000..3d3644053ae342ccb830d8809408a177ba78a9b7 GIT binary patch literal 16384 zcmeI3ZH!!18GtV+&=m@#{4nu{o=%s}Ea}X&r7X?XZCT5-yV(73cDEE;Qt!^3*}3ff znBIG5w`(b4l!QnTgT|ovnHZ5DYDf@&2pIimgv6*Ik#CD3CK^c$#?RvO-jCUj*|w&? zG`W*L?cDS6-uJxcJ@>rlz0;Yk2S-NLjiv1dpQ{aHQ`PxSGiPOUJu->?S`?jr{ zavRk(8>TOyf7T_lKxTo=0+|Ie3uG3^ERb0svp{Bn|7Qz?txJq|7{JBwRk$eO9X=l4 zzm{B|;rbrFucv{u`8U@m`S-!(`dxgl!&L~9`s|ZgAhSSbfy@G#1u_d{7RW4+Ss=4O zW`WECnFTTn{O?%68u4#G4{z&H%SR#5N(ICF(zybhkQ*N z@Hx02PQi!a7PtXUUuGCj!@Y0}TyS6*u7$TQMPGOTZiRy|3?;Z2&Rl{m;d%HWJP!B6 zEYx8$tb;e-&78t%_$fRB--d_bOYjif2cLlH5*o*Lq3$$?1tobzmT_E!=dpk1FXc;~or}RwLYH1nn6WH&7=GW3bi^4Wp%f z#|i>&9;k+OTr6e=YC+p}$(YeKvmIzbe>>Lup|2Agd>G znTqe@J;&PGUlc2(I*EfQJ{whCH!PQ~iA?dMJ`CAoHB_Oi787X`+ueC*ch7n4i@~KX zzJIEv4r;#Dij+)>g0|zB{-O+}?b1bIoflVv}ZA$hX}&*IRJ& z=MdCs-4P?AQdx;2h5TO6MgI^xR3}E2tTKL}70FEuu}X8XP|qf{&$R6s8kaEnYMI@` zFXfK7xxT@>oN}Rb-JZT9ZrQ;Ch*>t;Es@tH{>i*YK9;CiTHUy$Zq<3)Rv{}iYPc;3 zaWPjbuPv@BWl^7TyRQA%sTV9dG|hRO&{K)vEea=6OEu;P#_zRV55z3XW= zHBvm*vQ@A2&-F#hZc_Voyx>!zGPp$j8Oz0;k6LcSD+D#uHvP54%i2S(mCEfb)IRbJ3Lrxy#o^QPU_;srhN*TH;V z@yLlUVh?aVSNG+mNxWp~H)z)i%nH60b=5Y{B0OaJ#$@&h{ zwrR1i(^3Yr%tC_&ZWoWw*6F;+dXX&)BPXjU2^m<1?l}Smsm61XaAD<+9@Q=F=NPum z&YkX@3_9MnrCGFT_eQ_!9T-S{);lo3PBP;K=r}LFv=qEWkp*Uz@nO;2lF~_#ri#{l zlOV0*s+F;WC)kii#wMqR4jdStm^!KUsNOY72UI@aSL#JcBCNA2w4FOfu043RCK5YH z3k0R{Rdl^N;7W$DWI{qC)7R{rLBJ-;AjMup0~RZ;=CR!qOUceuGDhOj$0jYQk%nx! zOCyvxDd16Sxsk_dci!@O5J&G*ZD6>3*Vi6E#4c?`ka_PDwC6wtc zr(=_5hILzMyvSrHL19Q=^rs z;qjX%xt6HGFsds<&NT1{;tkqV#M6YYgxt}>>)atN?!Ljkk;(y)ztSa3MkfMwl{a&T z45el>RgA%8R62^=U8XAb^CbRZa+rsJ@Wi*~nbn5xIh~;_dnR$F<>@gaf#I=*!pd9o ze2_{BRBHt5iDb31(ZE2pMJSZ4#x?3xk?^pj_wVQku1ZU=su4Z6&kz*fZt zL(czY&XT|4yea2@E{!vs<^K$?z!UH|JOW>Y7P#;+7>5FEhW9}a$l3pQ@H(V9fcyDA z0++$1a1j{rHs|p-;557d&%)F26g&zK!582p%)uarTC3q1ePw*Vbyhy$v`(zf#ERb0svp{Bn z%mSGO&S8OVY3O(h|J_mzOG5F3@;@(cnj^vL>aYa6JCWhgG(mWk%Qyxnxsaq?driOA zBtVH$R`Pu??|SmDBq7K(ND?7x6Xhp3!NnP=WzAcrZw0kAn>Sl6v%7sOYRvgNSPaMo z2YWa$Zc>L19g?_P4qefahm)q~l1;Zs96Kb}I8wH}1?{(La>U|rvxa&}gRWa1-`Rh( ze}|~JYB)}v;wTFdjWIo8pAZ9(Ls^l@iwg&%hDefk6mgCwwpuh+Dep2`VxTzLvAl~( zfJVwG3i-nxEg|4LyycJ^;kH^^T)tdU|36ivE> zM#n|#NPTC2*^)GNJl9caOU`(0r);gEd1SaXN2{Iw9pM@ZnrH8lOi%Z1()nETMlJlP zyNh_}n#~ih?(X6A@0?q+OMiFUfVqslclFF%-`&`>TTOFK$=kadcjj+}hi;RG_(ANQ z$;+R}iFq$XRg|X?{}W%89LDOLh14x2ELihon&en(g?Y(Qq%Q#EsgNcxB&io2d!uD& zxuN!5R-qJ^jE3ctZYR}|^p!VCT**tJx}LE(uu3~znFBC)Njlq$WbK<;G9&rGnABl; zmTX6)TYSimYemXZVUiTtq5_ZgpJdtPeU6;Y$&Ttr8ozou+SE43 z-$I^qz9iz*+25o^EwB=6GfAkeAwv=_=aV9B&Mha&6rM|&sL6SyoL?Q}boBWT6f(TG literal 0 HcmV?d00001 diff --git a/Alien/Package/Rpm.pm b/Alien/Package/Rpm.pm index 5680ab6..1b6ffa4 100644 --- a/Alien/Package/Rpm.pm +++ b/Alien/Package/Rpm.pm @@ -76,7 +76,7 @@ sub scan { POSTIN => 'postinst', PREUN => 'prerm', POSTUN => 'postrm', - LICENSE => 'copyright', # RPM Copyright tag has been deprecated in favour of License tag since rpm 4.0 + LICENSE => 'copyright', ); # Use --queryformat to pull out all the fields we need. @@ -84,6 +84,7 @@ sub scan { SUMMARY DESCRIPTION PREFIXES}, keys(%fieldtrans)) { my $value=$this->runpipe(0, "LANG=C rpm -qp --queryformat \%{$field} $file"); + next if $? || $value eq 'none'; my $key; if (exists $fieldtrans{$field}) { $key=$fieldtrans{$field}; @@ -91,7 +92,6 @@ sub scan { else { $key=lc($field); } - $value='' if $value eq '(none)'; $this->$key($value); } @@ -112,7 +112,7 @@ sub scan { } # Sanity check and sanitize fields. - if (! $this->summary) { + unless (defined $this->summary) { # Older rpms will have no summary, but will have a # description. We'll take the 1st line out of the # description, and use it for the summary. @@ -123,10 +123,10 @@ sub scan { $this->summary('Converted RPM package'); } } - if (! $this->description) { + unless (defined $this->description) { $this->description($this->summary); } - if (! $this->copyright) { + unless (defined $this->copyright) { # Older rpms have no licence tag, but have a copyright. $this->copyright($this->runpipe(0, "LANG=C rpm -qp --queryformat \%{COPYRIGHT} $file")); @@ -135,8 +135,8 @@ sub scan { $this->copyright('unknown'); } } - if (! $this->release || ! $this->version || - ! $this->name) { + if (! defined $this->release || ! defined $this->version || + ! defined $this->name) { die "Error querying rpm file"; }