From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id C0EB6138334 for ; Thu, 19 Jul 2018 00:58:29 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 691D9E089A; Thu, 19 Jul 2018 00:58:28 +0000 (UTC) Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E9327E089A for ; Thu, 19 Jul 2018 00:58:27 +0000 (UTC) Received: from [192.168.6.88] ([212.159.46.162]) by mrelayeu.kundenserver.de (mreue002 [212.227.15.163]) with ESMTPSA (Nemesis) id 0MeGdC-1fOrj52BkU-00Ptv8 for ; Thu, 19 Jul 2018 02:58:25 +0200 Subject: [gentoo-catalyst] Fwd: [PATCH] Add new 'clean_files' function to perform file cleanups for */rm stages References: To: gentoo-catalyst@lists.gentoo.org From: "M. J. Everitt" Openpgp: preference=signencrypt Autocrypt: addr=m.j.everitt@iee.org; prefer-encrypt=mutual; keydata= xsFNBFj5szgBEAC/agebayc0YHOQ/gYpGTPrSfj/IWYynaub4p55TRPUYFQrBTAwR/Qy7EH/ QxsPX6pXKmUh44j+dGMzifOFbA9tN+XQcSPYSpqJJLnajDmBFw9gIIqCLSHYAWrKkP/NNo/1 edBQO61clMRf4+quPk6Jm/EdaIcDFO9PoclRJ202NYJJqFlXmzSpPZETYu2h0YeCO3cAkJwd EkRpU18u4p0b3/N9EPlMxlfZTaGiGC+uM0OI3g4MflexOnFDLkIVa8iaOA5ws/GxN6+r05E+ 2q3jF1WhbrfxlHRim1kEtPHU/e28eiL8V5A77PvNkgQz0ff2ob5wMQ9aQLJKrCLxkBDHaj1J 5l6dF3KXzAIC2L+cqEKgBxNppqvleWTTA9TLBEk211qnBDe/PCVvWvl0R1oQX+fnxlxI3WA+ k9K6382FqN0fEslvVC5SBIZq6jnLPyIbwSSE+70lxfnR56AbnUI1p2etgz6K+lEq/3Ba20Fu WBlXNIkcogvZR8Eyz5K/iKIv7Tcj6hHq+PA57ZM/FWEFDeQsY8hTtI1/hdri4BQ4NW6JNREr duz9BVyf+V648VayYjK9SrfeGfrRnv4L7DwaU1q/nASU4IwJAnPGN4TZ9xPv6W6x76cs3iJt 4x23t3Fpn54b+oSNj5JcBIFxkkmxt/qSLqJgytaK3RJrmHuHNwARAQABzTBNLiBKLiBFdmVy aXR0IChMYXB0b3Aga2V5KSA8bS5qLmV2ZXJpdHRAaWVlLm9yZz7CwYEEEwECACsCGwMFCQPC ZwAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJY+bowAhkBAAoJELvNRitMMx01do4P/0vZ jYo4IJI+OZMG7xpn9tbI6WDvvxP6b8yNaytlVbbSoX4ZJM0BlcEaVxQFpKxGYFWp7CAi3JH9 X93Pvt0PowAZstuO5MQklmTEsp450uv0IcfI4bXpr5Vvu6NrIBj+NMNUQFVIGYk20U0SO0gj KKl8LgLeMHiQWyTbDP8foqSIr3c8egIuHFKdSw+BKUCnTmdG1RQGKfNMiHHUPyNJopUCt/4w y7bSrBAiJTQM73mWjktpvMBYtlaYHLuCkkKQ3TL8pGlbWI2bEachxOzbE4nTLY6rlLAg+D8A t1tnXWprYN+OL0BxxqQHbWYKeboplF+XuMgDY73FfH/bzR6Z7AkBxFojIuBhfYlWNp1681xj t5MGfpZ83rTfspbbr2L+TWE/ZSOvecKXQAnve5+C2Wkqxgmolb8t7rS7GAVouD4Qul2mvem7 DAB066RxfzAxHRb9OvcEONhzuzYnj+Gi5OoD2hurhM7Ck63cHAvi65vRmkPHawsHiRlyUxUI E0/eHBWjBNH+vQFV7AfiFIytcYORpE/2T82nx6lFzvFrq6/vsTZ2m1UJ5HifusN6m6Mq0VGo tJhtTNyec/rKLEMRqHBPR2qyhuAKBkmWCEYLgiB+LGvTIibJ9LvXXwx4kr9H3ZiYT3u8I+N3 88FhfHzg/Yi5cTKm2uSRU+q/lBf31TTjzsFNBFj5szgBEACodliMRp6XsVb4TNbZK9JMGAx/ zV4HZOW7LMrDuauU2AGeY8MdzLEWhH3gARzgwnji4zoNi1mftrN5m7l5Mo8LR0MSfEzISA0o bbIqPG6bHRUV2i3zVjxIZQUoc5p4CwYdt2R1EMrfwe3o0RSQae1W0aiZCRRVFvyHImuQo1oG 5GNmhB1TW0RBL6OoFHKkBTdhT9Kkl/bNL1pWlXIkUYH1zmvwUIbswlRq9vnr2nGroS4pONKj mXFnOyzQrSw+HokwWi1mIJTfUWwJVKFTeWcD1MG6LEQhSSy3/h8EHfxzt0DDSgVdoPEzQ5g/ vjQV79rBSDiDSC3eGfpEzDabFlq16zKR3VKZ+b19NWIF6o4ZIfp2R08GHwFSzx9VNw/3RqSp UuJuRGS6+IRE0uGLzEmIzD+hYpMvcawT1QOgcbf/1dbtx9yt3W4EADT+cIReThjs8TtLd+4b Q26TnP0ZRweU3cvKZTsCLSupC2bzYQUpCK9lT/G5ZG2RZ8cA4gyGcqXFwPgJ1qPXpQv/1esd WcJ1pBXYyj/rTzFysjzrkXiW5n4jkhIx/QAvZ//+Q+m174AY2BRsNq4BVLS3BzwpiAx32Tp6 FcEUZWxjZ2r2ra1PyO1EMuKqnNmiynwlBoA/TISV8l/hok6HZF0zdef5lULdprGrdIDlPLhv J27N/7sdjQARAQABwsFlBBgBAgAPBQJY+bM4AhsMBQkDwmcAAAoJELvNRitMMx01xBsP/2e8 a6drTDEsUYvz5IyQMOu86mp5KTnovRDuTTMfgQVXHWwJMzcOmqrajVYaBeebi+AgbDWRZs4F 0MXWIlI2zfUVjgdEltqtr0HNKR+UdbRaCrSUQAb3Bkx7OSx1GnJktVv94517TXrLoRephN/v fnLe0rue8tfGP2ue41WKvdRq6yangJGa0FlSw6FpYxtO2eZyA49YLnXUGOLnr3hgM7lj8jRj RjkBe6C2l+X0B5H3NxtNv2NuwWGVvCBYKrdnT71Q6UoDWjsUlmO8PbysGQ0zRzblqMZru6O1 GaSyN0e0ChvngtBL2vFqZwuZFDMExOAEslJRxztVvbSKy2o/uQsvdPEHLtn0QbZglsgCjSDh r+Sp//5jEL87CDr+vInXbSKHeqnfkWXJq/DBGmreAqnHVho7UVtnyi/v8B9gPC9Bn/Zq2H6l BuvN+Km1tBfDY/2ILKdA5jhO1Osedip7BvBHPpq+JnTFQtsu5bhPBEI1xf7ghaklm25uR+2m vBzgLYqfSVcXQT1IQLYJOCJXTzebhbpzenxnUkfDShEjtNR4HZJjc+3kq+vfmbiCA8en4Yw9 3XpPx+FGGRi8Zn+ZKsMxN6ifwyJurW9aqZfRjnTiWp5i9kEY9X9l0JcuLTpPEF6rsiGUokQe S/3mELhhbHjD5l6T3DV70/Wg8L7qdF4Y X-Forwarded-Message-Id: Message-ID: Date: Thu, 19 Jul 2018 01:58:12 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-catalyst@lists.gentoo.org Reply-to: gentoo-catalyst@lists.gentoo.org MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="GoWET2uIA5NtuDD2sOOPjb6wui2r4qrb4" X-Provags-ID: V03:K1:Mj2JB7oaBAuHlRR0fke5nvcAuYYOD6/axypJAOjsvt9syzgMCyY CXuJHae91FEUjTm/UJL6a0pVXkjR/NWoVJtvvX4P9JbH8DWi+/wK0ucMZ0EdNPD/6B+N9Qk rZmP4sXQmkIP0jbpWzfKbBT4Zc5rG/GzSB9CZ0o6mK6tpco5XoNQB05c2ebeHUx/O6b9ivt CFGlsOLQxmjTtzonzeF9w== X-UI-Out-Filterresults: notjunk:1;V01:K0:SsUNev7CbtQ=:3dAB94htRuPOo26J8t6zxy vIsI4GH8kvGyOl/OPt0BPy+tSHZVuVwAfaTIFYSut9QTt3GDHZrZBGHZBj6M7MWU9OcqozDNg 7aYWzHB+aTzkdpZaHhfyDko8pmcvfQcBER3TSQ7SF5dsbry0/m1g9pyvguKMVxgn6a0enpb78 f78FEI+Wlrfndly4AO11pNlcPAvK8RxI4bSOIdYVcfh29gM63YwwsbdCF6ErfliYKK3cndZXf ScpODw6FW3VBAPN3P3yyC/0odkxVvabznLGsSdqT8v4Ts9mVGtnkEO2Mp18HnmjqcayXuWlNp TyIwW4h0NLSuCew7TqWeqKYTPphEMmaU34q+Q3KRhFCKRtGH/ET30gylY51J7GzX2SapDyIEw fQ+shnt/T+gFocYCRvJAUZ+pW5nKIEGN150BoqKxuI+c7tEwb8U7mgBvz+mAsRfNuKWi5CS+5 R79RnHcSgNsl5f1Fs9PxzgRKVYvgAMY2GGqCE/sy/UbsO7WI+lGl/ekMKK+v4be9J6qCJ97oH ht2oQauarHb4e6ZFQxsY1PuHXV21fU6EZU+Qja+AthcsLZQVZg9U1FiW1lQ9enUa5xHzeNmDa EsqUyXYjo6stMI9ATIf+2MEhFpWywJnGlHy/BgahCJjZrhWb0yxsR1FyB0UYdXtNcCQYfmO9A pv9u/KAaQiz04uA6nE06VXKJ3FSQFISVj+I3Ji2zEaUKBD7VOweL9ZID0bWv4Wxz8o1A= X-Archives-Salt: 94f13583-22db-48fe-a4cc-81c8a1b02c9f X-Archives-Hash: 94416740e534591f57a359258a7242a2 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --GoWET2uIA5NtuDD2sOOPjb6wui2r4qrb4 Content-Type: multipart/mixed; boundary="jWzqKTaxIzymcGMuX4iaujnjjn2CtoCtw"; protected-headers="v1" From: "M. J. Everitt" To: gentoo-catalyst@lists.gentoo.org Message-ID: Subject: Fwd: [PATCH] Add new 'clean_files' function to perform file cleanups for */rm stages References: In-Reply-To: --jWzqKTaxIzymcGMuX4iaujnjjn2CtoCtw Content-Type: multipart/mixed; boundary="------------B36F03611E964917F335D530" Content-Language: en-GB This is a multi-part message in MIME format. --------------B36F03611E964917F335D530 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Derp .. take 2 .. -------- Forwarded Message -------- Subject: [PATCH] Add new 'clean_files' function to perform file cleanups for */rm stages Date: Mon, 16 Jul 2018 02:13:09 +0100 From: M. J. Everitt To: gentoo-releng@lists.gentoo.org It would appear that the */rm stages never actually cleaned up files - there is provision for directory and symlink removal, but no code for files. Added to this, any wildcards specified are ignored by the os.file.exists() function. A new function seemed to be the sensible solution to this issue, utilising the python 'glob.glob' function. Bug: https://bugs.gentoo.org/661084 Signed-off-by: M. J. Everitt --- catalyst/fileops.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) --------------B36F03611E964917F335D530 Content-Type: text/x-patch; name="0001-Add-new-clean_files-function-to-perform-file-cleanup.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0001-Add-new-clean_files-function-to-perform-file-cleanup.pa"; filename*1="tch" diff --git a/catalyst/fileops.py b/catalyst/fileops.py index ab6a0c9f..5d1be762 100644 --- a/catalyst/fileops.py +++ b/catalyst/fileops.py @@ -11,6 +11,7 @@ functions for use throughout catalyst. ''' =20 import os +import glob import shutil from stat import ST_UID, ST_GID, ST_MODE =20 @@ -70,6 +71,7 @@ def clear_dir(target, mode=3D0o755, chg_flags=3DFalse, = remove=3DFalse, return False =20 mystat =3D None + myglob =3D glob.glob(target) if os.path.isdir(target) and not os.path.islink(target): log.notice('Emptying directory: %s', target) # stat the dir, delete the dir, recreate the dir and set @@ -92,11 +94,14 @@ def clear_dir(target, mode=3D0o755, chg_flags=3DFalse= , remove=3DFalse, else: log.info('clear_dir failed: %s: is not a directory', target) return False + elif myglob: + return clear_files(myglob) else: log.debug("Condidtions not met to clear: %s", target) log.debug(" isdir: %s", os.path.isdir(target)) log.debug(" islink: %s", os.path.islink(target)) log.debug(" exists: %s", os.path.exists(target)) + log.debug(" glob: %d", len(myglob)) =20 if not remove: log.debug('ensure_dirs()') @@ -109,6 +114,25 @@ def clear_dir(target, mode=3D0o755, chg_flags=3DFals= e, remove=3DFalse, return True =20 =20 +def clear_files(targets): + '''Universal file clearing function + + @targets: list of files to remove + @return boolean + ''' + mySuccess =3D True + for myfile in targets: + log.debug("os.remove() %s", myfile) + try: + os.remove(myfile) + except OSError: + log.error('clear_files failed', exc_info=3DTrue) + mySuccess =3D False + + log.debug('DONE, returning, success =3D %s', mySuccess) + return mySuccess + + def clear_path(target): """Nuke |target| regardless of it being a dir or file.""" clear_dir(target, remove=3DTrue) --------------B36F03611E964917F335D530-- --jWzqKTaxIzymcGMuX4iaujnjjn2CtoCtw-- --GoWET2uIA5NtuDD2sOOPjb6wui2r4qrb4 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEERR5DB4J2baXtk4AVu81GK0wzHTUFAltP4i8ACgkQu81GK0wz HTX6TBAAmOhIrt3mtXiwtQPnAh6JClv4nqS3Pc1oGcmQWJZCAyhWQKZENa/fid+T L96E39o1ME4zWqAvQYW1URf9Y//8IZiR0V7xY46xsRDgIqXGSlYdW+bVVEyD/p99 4KGYd46xIggVcXqMY1zZxMDTC9y6tNJXVnY/zqwLjG3dJ8dfMG+Mw7P2OzhzkYjp ctzedKa/CQEvWL3MXwz0Xy/FsFGaGF308z6Pk6XSMqBMTfNBR6tP/M+7ZmbfVEqf jGzdYDEFB8oK38O3zckwkr4pw5AtfkXPp523C6hEZD9fg7jGwZVoijpJ/LVObNBM 2dVJIjkbx3UkZn9PdLjwzK4CvQAr2gBtrTN9fGsaWgTFSA/MTIyyKPusKS7dwBKz v8Z6h625Abwc42OTzXctgswFUxQahDV33uMuNXwHychIss4hUnKnwCjYZFNU0boP myFqD3K0sEOgHb4B1nnCVpauQR/EkeAjlE8InGyrYI3Wddk7fUSJ0HpmWoGUMtPf NgdiJnEX2/U87iM0KlSenJ84C2Yc6v405XGHu7hyQEcj/pJXj7IsnkDs/yudAMLL Lr1z6c2teoxqbutDGsbuBfAz8s8Kti0wQD+t3yER9VRoSPjmVIGQvdof7HA6e871 vIWZ37bsVBV9ESr1F5MsqscHDyvvsVlaeE91ffg7IMXrDrTe0DQ= =TxVf -----END PGP SIGNATURE----- --GoWET2uIA5NtuDD2sOOPjb6wui2r4qrb4--