From: fuzzyray Date: Tue, 5 May 2009 17:39:24 +0000 (-0000) Subject: Rearrange trunk to support gentoolkit version 0.3. Split into gentoolkit, gentoolkit... X-Git-Tag: gentoolkit-dev-0.2.6.11~14 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=437e841fbe8dfd0f2bd815ee72ebe2be6b538cb9;p=gentoolkit.git Rearrange trunk to support gentoolkit version 0.3. Split into gentoolkit, gentoolkit-dev, and deprecated. Import djanderson's work on the gentoolkit library and equery svn path=/trunk/gentoolkit-dev/; revision=589 --- diff --git a/trunk/ChangeLog b/ChangeLog similarity index 100% rename from trunk/ChangeLog rename to ChangeLog diff --git a/trunk/Makefile b/Makefile similarity index 100% rename from trunk/Makefile rename to Makefile diff --git a/trunk/src/ebump/AUTHORS b/src/ebump/AUTHORS similarity index 100% rename from trunk/src/ebump/AUTHORS rename to src/ebump/AUTHORS diff --git a/trunk/src/ebump/ChangeLog b/src/ebump/ChangeLog similarity index 100% rename from trunk/src/ebump/ChangeLog rename to src/ebump/ChangeLog diff --git a/trunk/src/ebump/Makefile b/src/ebump/Makefile similarity index 100% rename from trunk/src/ebump/Makefile rename to src/ebump/Makefile diff --git a/trunk/src/ebump/README b/src/ebump/README similarity index 100% rename from trunk/src/ebump/README rename to src/ebump/README diff --git a/trunk/src/distfiles-clean/TODO b/src/ebump/TODO similarity index 100% rename from trunk/src/distfiles-clean/TODO rename to src/ebump/TODO diff --git a/trunk/src/ebump/ebump b/src/ebump/ebump similarity index 100% rename from trunk/src/ebump/ebump rename to src/ebump/ebump diff --git a/trunk/src/ebump/ebump.1 b/src/ebump/ebump.1 similarity index 100% rename from trunk/src/ebump/ebump.1 rename to src/ebump/ebump.1 diff --git a/trunk/src/echangelog/AUTHORS b/src/echangelog/AUTHORS similarity index 100% rename from trunk/src/echangelog/AUTHORS rename to src/echangelog/AUTHORS diff --git a/trunk/src/echangelog/ChangeLog b/src/echangelog/ChangeLog similarity index 100% rename from trunk/src/echangelog/ChangeLog rename to src/echangelog/ChangeLog diff --git a/trunk/src/echangelog/Makefile b/src/echangelog/Makefile similarity index 100% rename from trunk/src/echangelog/Makefile rename to src/echangelog/Makefile diff --git a/trunk/src/echangelog/README b/src/echangelog/README similarity index 100% rename from trunk/src/echangelog/README rename to src/echangelog/README diff --git a/trunk/src/ebump/TODO b/src/echangelog/TODO similarity index 100% rename from trunk/src/ebump/TODO rename to src/echangelog/TODO diff --git a/trunk/src/echangelog/echangelog b/src/echangelog/echangelog similarity index 100% rename from trunk/src/echangelog/echangelog rename to src/echangelog/echangelog diff --git a/trunk/src/echangelog/echangelog.1 b/src/echangelog/echangelog.1 similarity index 100% rename from trunk/src/echangelog/echangelog.1 rename to src/echangelog/echangelog.1 diff --git a/trunk/src/echangelog/test/TEST.pm b/src/echangelog/test/TEST.pm similarity index 100% rename from trunk/src/echangelog/test/TEST.pm rename to src/echangelog/test/TEST.pm diff --git a/trunk/src/echangelog/test/templates/test.patch b/src/echangelog/test/templates/test.patch similarity index 100% rename from trunk/src/echangelog/test/templates/test.patch rename to src/echangelog/test/templates/test.patch diff --git a/trunk/src/echangelog/test/templates/vcstest-0.0.1.ebuild b/src/echangelog/test/templates/vcstest-0.0.1.ebuild similarity index 100% rename from trunk/src/echangelog/test/templates/vcstest-0.0.1.ebuild rename to src/echangelog/test/templates/vcstest-0.0.1.ebuild diff --git a/trunk/src/echangelog/test/test.sh b/src/echangelog/test/test.sh similarity index 100% rename from trunk/src/echangelog/test/test.sh rename to src/echangelog/test/test.sh diff --git a/trunk/src/ego/AUTHOR b/src/ego/AUTHOR similarity index 100% rename from trunk/src/ego/AUTHOR rename to src/ego/AUTHOR diff --git a/trunk/src/ego/AUTHORS b/src/ego/AUTHORS similarity index 100% rename from trunk/src/ego/AUTHORS rename to src/ego/AUTHORS diff --git a/trunk/src/ego/ChangeLog b/src/ego/ChangeLog similarity index 100% rename from trunk/src/ego/ChangeLog rename to src/ego/ChangeLog diff --git a/trunk/src/ego/Makefile b/src/ego/Makefile similarity index 100% rename from trunk/src/ego/Makefile rename to src/ego/Makefile diff --git a/trunk/src/ego/README b/src/ego/README similarity index 100% rename from trunk/src/ego/README rename to src/ego/README diff --git a/trunk/src/echangelog/TODO b/src/ego/TODO similarity index 100% rename from trunk/src/echangelog/TODO rename to src/ego/TODO diff --git a/trunk/src/ego/ego b/src/ego/ego similarity index 100% rename from trunk/src/ego/ego rename to src/ego/ego diff --git a/trunk/src/ekeyword/AUTHORS b/src/ekeyword/AUTHORS similarity index 100% rename from trunk/src/ekeyword/AUTHORS rename to src/ekeyword/AUTHORS diff --git a/trunk/src/ekeyword/ChangeLog b/src/ekeyword/ChangeLog similarity index 100% rename from trunk/src/ekeyword/ChangeLog rename to src/ekeyword/ChangeLog diff --git a/trunk/src/ekeyword/Makefile b/src/ekeyword/Makefile similarity index 100% rename from trunk/src/ekeyword/Makefile rename to src/ekeyword/Makefile diff --git a/trunk/src/ekeyword/README b/src/ekeyword/README similarity index 100% rename from trunk/src/ekeyword/README rename to src/ekeyword/README diff --git a/trunk/src/ego/TODO b/src/ekeyword/TODO similarity index 100% rename from trunk/src/ego/TODO rename to src/ekeyword/TODO diff --git a/trunk/src/ekeyword/ekeyword b/src/ekeyword/ekeyword similarity index 100% rename from trunk/src/ekeyword/ekeyword rename to src/ekeyword/ekeyword diff --git a/trunk/src/ekeyword/ekeyword.pod b/src/ekeyword/ekeyword.pod similarity index 100% rename from trunk/src/ekeyword/ekeyword.pod rename to src/ekeyword/ekeyword.pod diff --git a/trunk/src/ekeyword2/ekeyword2 b/src/ekeyword2/ekeyword2 similarity index 100% rename from trunk/src/ekeyword2/ekeyword2 rename to src/ekeyword2/ekeyword2 diff --git a/trunk/src/eviewcvs/AUTHORS b/src/eviewcvs/AUTHORS similarity index 100% rename from trunk/src/eviewcvs/AUTHORS rename to src/eviewcvs/AUTHORS diff --git a/trunk/src/eviewcvs/Makefile b/src/eviewcvs/Makefile similarity index 100% rename from trunk/src/eviewcvs/Makefile rename to src/eviewcvs/Makefile diff --git a/trunk/src/eviewcvs/README b/src/eviewcvs/README similarity index 100% rename from trunk/src/eviewcvs/README rename to src/eviewcvs/README diff --git a/trunk/src/eviewcvs/eviewcvs b/src/eviewcvs/eviewcvs similarity index 100% rename from trunk/src/eviewcvs/eviewcvs rename to src/eviewcvs/eviewcvs diff --git a/trunk/src/eviewcvs/eviewcvs.pod b/src/eviewcvs/eviewcvs.pod similarity index 100% rename from trunk/src/eviewcvs/eviewcvs.pod rename to src/eviewcvs/eviewcvs.pod diff --git a/trunk/AUTHORS b/trunk/AUTHORS deleted file mode 100644 index fdfccf3..0000000 --- a/trunk/AUTHORS +++ /dev/null @@ -1,6 +0,0 @@ -Karl Trygve Kalleberg - * Maintenance - -See the AUTHOR file in the various src/ subdirectories for a full -log of who's done what with whome and when. - diff --git a/trunk/COPYING b/trunk/COPYING deleted file mode 100644 index 60549be..0000000 --- a/trunk/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/trunk/NEWS b/trunk/NEWS deleted file mode 100644 index e69de29..0000000 diff --git a/trunk/README b/trunk/README deleted file mode 100644 index 5c785d3..0000000 --- a/trunk/README +++ /dev/null @@ -1,46 +0,0 @@ -Package: gentoolkit/gentoolkit-dev -Authors: Aron Griffis - Brandon Low - Ian Leitch - Karl Trygve Kalleberg - Marius Mauch - Paul Varner - See src//AUTHORS for tool-specific authors - -MOTIVATION - -The gentoolkit and gentoolkit-dev packages contain a collection of useful -administration scripts particular to the Gentoo Linux distribution. It contains -rough drafts and implementations of features that may in time make it into -Portage, or into full-fledged tools in their own right. - -The gentoolkit-dev package is intended primarily for Gentoo developers. - -CONTENTS - -gentoolkit -========== -eclean - tool to clean up outdated distfiles and packages -equery - replacement for etcat and qpkg -etcat - extracts auxillary information from portage (deprecated) -euse - tool to manage USE flags -glsa-check - tool to manage GLSA's (Gentoo Linux Security Advisory) -qpkg - convient package query tool (deprecated) -revdep-rebuild - scans/fixes broken shared libs and binaries - -gentoolkit-dev -============== -ebump - Ebuild revision bumper -echangelog - update portage ChangeLogs -ego - -ekeyword - modify package KEYWORDS -epkgmove - tool for moving and renaming packages in CVS -eviewcvs - generate viewcvs URLs -gensync - Overlay Sync Tool - -IMPROVEMENTS - -Any suggestions for improvements should be sent to tools-portage@gentoo.org, or -added as a bug assigned to us. - -We only accept new contributions if they are written in bash or python. diff --git a/trunk/README.Developer b/trunk/README.Developer deleted file mode 100644 index 6c48c84..0000000 --- a/trunk/README.Developer +++ /dev/null @@ -1,65 +0,0 @@ - -OVERVIEW - -The SVN module 'gentoolkit' contains all the scripts and stuff for both the -gentoolkit and the gentoolkit-dev package. The gentoolkit-dev package is -an optional add-on, that is only intented for the Gentoo developers. - -STYLE POLICY - -If you're touching any of the python scripts please don't change the indentation -style (if it's using tabs, you should use tabs too). Especially don't mix -spaces and tabs as that makes the code completely unreadable. - -MAKING A RELEASE - -Releases should only be made by members of the tools-portage team. See -http://www.gentoo.org/proj/en/metastructure/herds/herds.xml?select=tools-portage -for who to contact on IRC, or shuffle over a bug report to us, or send -us a mail at tools-portage@gentoo.org if you need an immediate release. - -The release manager (big words;) will then do - -1) make VERSION=major.minor.patch RELEASE_TAG= dist-gentoolkit -2) copy release/gentoolkit-${VERSION}-${RELEASE_TAG}.tar.gz to - dev.gentoo.org/space/distfiles-local/ -3) make a new ebuild, app-portage/gentoolkit/gentoolkit-${VERSION}.ebuild - with a SRC_URI that points to - mirror://gentoo/gentoolkit-${VERSION}-${RELEASE_TAG}.tar.gz - (just use one of the previous ebuilds) - -The process is similar for gentoolkit-dev: - -1) make dist-gentoolkit-dev -2) copy dist/gentoolkit-dev-${VERSION}-${RELEASE_TAG}.tar.gz to emu -3) update app-portage/gentoolkit-dev - -Important! -1) _ALWAYS_ make sure you don't "overwrite" a previous release. Your - new VERSION must be newer than any previous released version. If you - mess up a release, don't overwrite with the same release number, iterate - the patch version and try again (and again, and again until you get - it right;) - - -MAKING A RELEASE WITH release.sh - -If you have added your system details at the top of the release.sh script, -you can make a release in the following fashion: - -(NOTE! This only works for -dev at the moment) - -1) Add a notice in the ChangeLog about the release you are making. -2) Do VERSION="x.y.z" ./release.sh dev -3) Test the package: ACCEPT_KEYWORDS="~arch" emerge gentoolkit-dev -4) Do a repoman ci -m "Released x.y.z" in your - CVS/app-portage/gentoolkit-dev directory. - - -Currently, the following people have "release access": - - - genone@gentoo.org - - fuzzyray@gentoo.org - -If you want a new release, ping either of us. If you want to get -"release access", talk to fuzzyray@gentoo.org diff --git a/trunk/TODO b/trunk/TODO deleted file mode 100644 index d39ea85..0000000 --- a/trunk/TODO +++ /dev/null @@ -1,40 +0,0 @@ -- equery: - - add --overlay, --portdir to uses - - add glsa pkgspec - - query for current GLSAs on installed package(s) - - add changelog [--last] [--lastentry] [--current] - - displays changelog entries - - add check [--full] [--display=pkgnames,full] - - check md5 and timestamps (optionally also in CONFIG_PROTECT dirs) - - add which - - as ewhich -- fully deprecate dep-clean and pkg-clean -- rewrite ekeywords and echangelog to use gentoolkit -- add deep depends to equery -- fully deprecate qpkg -- fully deprecate pkg-size -- merge change and echangelog -- merge useflag and euse, have _one_ command line tool - - update ufed to rely on the CLI tool - - update ufed to rely on generate-use - - merge generate-use and ufed? -- rewrite revdep-rebuild to use gentoolkit - - drop qpkg dependency; use equery instead -- rewrite distfiles-clean to use gentoolkit -- look through forums.gentoo.org for additional scripts -- write a Gentoolkit Guide -- write efeatures for turning on/off FEATURES in make.conf -- look at ekeys, ewatch -- revision bump tool - - bump versioned files in filesdir - - -m for changelog entry - - use ~/.gentoo/gentoolkit/ebump.conf - - use /etc/gentoolkit/ebump.conf -- should be removed: - - etc-update - - epm - - useflag -- add 'clean' target - -+ check esearch, eupdatedb: separate package for now - diff --git a/trunk/makedefs.mak b/trunk/makedefs.mak deleted file mode 100644 index efbc8ce..0000000 --- a/trunk/makedefs.mak +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 2003 Karl Trygve Kalleberg -# Copyright 2003 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License v2 -# -# $Header$ - -# Override this on command line when making a release, ie 'dist' - -VERSION=9.9.9 -RELEASE_TAG= -# python-config is not installed on all arches Bug #113386 -#PYVERSION="`python-config | sed 's/-l//' | sed 's/ -lm.*//'`" -PYVERSION="`LC_COLLATE=C; python -V 2>&1 | tr '[:upper:]' '[:lower:]' | sed -e 's/ //g;s/\([0-9]\.[0-9]\)\.[0-9]/\1/'`" -DESTDIR= - -docdir=$(DESTDIR)/usr/share/doc/gentoolkit-$(VERSION)$(RELEASE_TAG) -bindir=$(DESTDIR)/usr/bin -sbindir=$(DESTDIR)/usr/sbin -mandir=$(DESTDIR)/usr/share/man/man1 -sysconfdir=$(DESTDIR)/etc diff --git a/trunk/release.sh b/trunk/release.sh deleted file mode 100755 index 22313b4..0000000 --- a/trunk/release.sh +++ /dev/null @@ -1,89 +0,0 @@ -#! /bin/bash - -case $(whoami) in - karltk) - publish_path=dev.gentoo.org:public_html/projects/gentoolkit/releases - publish_public_path="http://dev.gentoo.org/~karltk/projects/gentoolkit/releases" - portdir=/home/karltk/source/oss/gentoo/gentoo-x86/ - export ECHANGELOG_USER="Karl Trygve Kalleberg " - ;; - - port001) - publish_path=dev.gentoo.org:public_html/distfiles/gentoolkit/releases - publish_public_path="http://dev.gentoo.org/~port001/distfiles/gentoolkit/releases" - portdir=/home/port001/Gentoo/gentoo-x86/ - export ECHANGELOG_USER="Ian Leitch " - ;; - - genone) - publish_path=dev:public_html/distfiles/ - publish_public_path="http://dev.gentoo.org/~genone/distfiles/" - portdir=/home/gentoo/cvs/gentoo-x86/ - export ECHANGELOG_USER="Marius Mauch " - ;; - - agriffis) - publish_path=gentoo:public_html/dist/ - publish_public_path="http://dev.gentoo.org/~agriffis/dist/" - portdir=/home/agriffis/portage/ - ;; - - *) - echo "!!! Don't know who $(whoami) is, can't release" - exit 1 - ;; -esac - -function most-recent-ebuild() { - # FIXME: actually pick the most recent one - ls gentoolkit-dev-*.ebuild | tail -n 1 -} - -function release-dev() { - - echo "* Building .tar.bz" - make VERSION=${VERSION} RELEASE_TAG=${RELEASE_TAG} dist-gentoolkit-dev > /dev/null || exit - - echo "* Uploading .tar.bz" - scp release/gentoolkit-dev-${VERSION}${RELEASE_TAG}.tar.gz ${publish_path} || exit - - - echo "* Generating new ebuild" - - local ebuild="gentoolkit-dev-${VERSION}${RELEASE_TAG}.ebuild" - - cd ${portdir}/app-portage/gentoolkit-dev || exit - cp $(most-recent-ebuild) ${ebuild} - ekeyword ~all ${ebuild} - sed -i -e "s|SRC_URI=.*|SRC_URI=\"${publish_public_path}/\$\{\P\}.tar.gz\"|" ${ebuild} - - echo "* Generating digest" - ebuild ${ebuild} digest || exit - cvs add ${ebuild} || exit - echangelog "New upstream release" - echo '* Everything ready. You should:' - echo ' 1) ACCEPT_KEYWORDS="~x86" sudo emerge =gentoolkit-dev-${VERSION}${RELEASE_TAG}' - echo ' 2) repoman ci -m "New upstream release" from `pwd`' -} - - -if [ -z "${VERSION}" ] ; then - echo "!!! You must set the VERSION env var" - exit 1 -fi - -if [ -z "${RELEASE_TAG}" ] ; then - echo "No RELEASE_TAG found, presumably okay" -fi - - -if [ "$1" == "dev" ] ; then - release-dev -elif [ "$1" == "main" ] ; then - echo "!!! Unsupported atm, feel free to add code;)" - exit 1 -else - echo "!!! You must select to release either 'dev' or 'main', as parameter to release.sh" - exit 1 -fi - diff --git a/trunk/src/99gentoolkit-env b/trunk/src/99gentoolkit-env deleted file mode 100644 index 3933874..0000000 --- a/trunk/src/99gentoolkit-env +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PROTECT_MASK="/etc/revdep-rebuild" diff --git a/trunk/src/change/AUTHORS b/trunk/src/change/AUTHORS deleted file mode 100644 index 4b3873a..0000000 --- a/trunk/src/change/AUTHORS +++ /dev/null @@ -1,5 +0,0 @@ -Dan Armak - * Basic idea - * Initial version -Karl Trygve Kalleberg - * Gentoolkit-specific changes diff --git a/trunk/src/change/ChangeLog b/trunk/src/change/ChangeLog deleted file mode 100644 index bd7d5dd..0000000 --- a/trunk/src/change/ChangeLog +++ /dev/null @@ -1,7 +0,0 @@ -2002-08-11 Dan Armak : - * Fix two bugs which are long to describe, so I won't do so here. - They caused malformed or incomplete changelog files to be created. - -2002-08-09 Karl Trygve Kalleberg : - * Reformatted usage to work with 80 columns - * Now loads ~/.gentoo/gentool-env instead of ~/.change diff --git a/trunk/src/change/README b/trunk/src/change/README deleted file mode 100644 index bda1842..0000000 --- a/trunk/src/change/README +++ /dev/null @@ -1,20 +0,0 @@ -Package : change -Version : 0.2.4 -Author : See AUTHORS - -MOTIVATION - -Maintaing Gentoo's ChangeLog files in the Portage Tree is a tedious affair. -Many of the details are well-defined enough for a tool to do. change is this -tool. - -MECHANICS - -change can create a ChangeLog, add entries to the ChangeLog file, scan for -updated files. - - -IMPROVEMENTS - -For improvements, send a mail to karltk@gentoo.org or make out a bug at -bugs.gentoo.org and assign it to me. diff --git a/trunk/src/change/change b/trunk/src/change/change deleted file mode 100644 index 094573b..0000000 --- a/trunk/src/change/change +++ /dev/null @@ -1,343 +0,0 @@ -#! /bin/bash - -# Copyright 1999-2002 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License v2 -# Author: Dan Armak -# $Header: /space/gentoo/cvsroot/gentoolkit/src/change/change,v 1.2 2002/08/11 13:32:12 karltk Exp $ - -eval `grep PORTDIR= /etc/make.globals` -eval `grep PORTDIR= /etc/make.conf` -[ -z "$PORTDIR" ] && PORTDIR="/usr/portage" - -# register temp files (we delete them in the end) -TMPMESSAGE=`tempfile -p change` || cleanup 1 -TMPHEADER=`tempfile -p change` || cleanup 1 -TMPENTRY=`tempfile -p change` || cleanup 1 -TMPOLDLOG=`tempfile -p change` || cleanup 1 -TMPCHANGELOG=`tempfile -p change` || cleanup 1 - -# get user info from config file - $AUTHORNAME and $AUTHOREMAIL -init() { - . ~/.gentoo/gentool-env || return 1 -} - -print_about() { - - echo "change v 0.2.4 - A Gentoo ChangeLog editor." - echo "Author Dan Armak " -} - -print_usage() { - - echo "Usage: -change [-shv] [-m|--message msg] [-f|--message-file file] - [-a|--authorname name] [-l|--authormail mail] - [-n|--new-version ver] [-o|--output dest] - -: List of packages whose changelogs are to be edited. All -changelogs edited in one run will be added the same log message. - -Acceptable formats: Example: -category/package kde-base/kdebase -path to package dir kdebase || ../../kdebase -path to changelog file portage/kde-base/kdebase/ChangeLog - -Note that you must use -g for changelog files outside $PORTDIR. - --m, --message \"msg\" Use log message \"msg\", do not open editor. --f, --message-file Use contents of as log message, do not open - editor. --a, --authorname \"name\" Use \"name\" (e.g. Dan Armak) in log. --l, --authormail \"email\" Use \"email\" (e.g. danarmak@gentoo.org) in log. --n, --new-version \"ver\" Add a line about a new version number \"ver\" to - the log. --g, --generate Create a new changelog file if one does not exist. - This option must come before the list of affected - changelog files. Incidentally, this option also - enables you to work with a changelog file outside - $PORTDIR. - You must use it every time you edit such a file. - However, change won't be able to figure out the - category and package names of your changelog file - and those parts will be missing. (FIXME!) --o, --output \"file\" Save new changelog in file \"file\". - Default is the the same file we're changing (i.e. - no backup). --s, --stdout Print new changelog to stdout (disables saving to - file). This suppresses the usual info messages. --c, --changed-files List of changed files (goes into entry header). - Default is to simply say \"ChangeLog :\". Multiple - -c options can be given. --h, --help Print this usage information. --v, --version Print a short about line and the version number and - exit. - -See also the mandatory config file ~/.gentoo/gentool-env (the gentool-env man -page contains a template). -" - -} - -# parse command line parameters -# this function should be called before all others (e.g. before init()) -# or else it might stomp on some settings -parse_params() { - - # at least one parameter required - changelog to process - if [ -z "$1" ]; then - echo "At least one parameter is required." - print_about - print_usage - cleanup 1 - fi - - while [ -n "$1" ]; do - - # note: with parameters that come in two pieces (i.e. -m foo) - # we identify the first one, grab the second one from $2 and - # shift an extra time - case "$1" in - - # optional log message, if defined then we won't launch $EDITOR - # comes in explicit string and file reference variations - -m | --message) - MESSAGE="$2" - shift - ;; - -f | --message-file) - cp $2 $TMPMESSAGE - shift - ;; - - # general settings (usually set in .change) - -a | --authorname) - AUTHORNAME="$2" - shift - ;; - -l | --authormail) - AUTHOREMAIL="$2" - shift - ;; - - # add a line about a new version (starting with *) to the changelog - # to add the line but no changelog info, call with -n -m "" - -n | --new-version) - NEWVERSION="$2" - shift - ;; - - # create a new changelog file - -g | --generate) - GENERATE=true - ;; - - # output redirection. default (if $OUTPUT isn't set) is to change the - # specified changelog file. - # illegal if more than one changelog file/package is specified. - -o | --output) - OUTPUT="$2" - shift - ;; - # redirect output to stdout - can be combined with -o - -s | --stdout) - STDOUT="true" - OUTPUT="/dev/null" - ;; - - # list of files changed (second part inclosed in quotes!) - -c | --changed-files) - CHANGED="$CHANGED $2" - shift - ;; - - # request for version/usage information etc - -h | --help) - print_about - print_usage - cleanup 0 - ;; - -v | --version) - print_about - cleanup 0 - ;; - - # everything else we couldn't identify. most of it is packages/files to work on. - *) - for x in "$MYPORTDIR/$1/ChangeLog" "$PORTDIR/$1/ChangeLog" "$PWD/$1/ChangeLog" "$PWD/$1"; do - if [ -f "$x" ]; then - FILES="$FILES $x" - shift # because by calling continue we skip the shift at the end of the case block - continue 2 # next while iteration - fi - done - # if we haveb't detected a changelog file, maybe we need to create one - if [ -n "$GENERATE" ]; then - for x in "$PWD/$1" "$1" "$MYPORTDIR/$1" "$PORTDIR/$1"; do - if [ -d "$x" ]; then - touch $x/ChangeLog - FILES="$FILES $x/ChangeLog" - shift # because by calling continue we skip the shift at the end of the case block - continue 2 # next while iteration - fi - done - fi - - echo "!!! Error: unrecognized option: $1" - echo - print_usage - cleanup 1 - - ;; - - esac - - shift - done - - if [ -z "$FILES" ]; then - echo "No changelog path or package name passed, mandatory parameter missing." - echo - print_usage - cleanup 1 - fi - -} - -# get the log message -get_msg() { - - if [ -n "`cat $TMPMESSAGE`" ]; then - echo "Using message-on-file." - elif [ -n "$MESSAGE" ]; then - echo "$MESSAGE" > $TMPMESSAGE - else # [ -z "$MESSAGE" ] - - echo > $TMPMESSAGE - echo "Please enter changelog. You can leave this line, it will be automatically removed." >> $TMPMESSAGE - $EDITOR $TMPMESSAGE - cp $TMPMESSAGE ${TMPMESSAGE}2 - sed -e '/Please enter changelog. You can leave this line, it will be automatically removed./ D' \ - ${TMPMESSAGE}2 > $TMPMESSAGE - rm ${TMPMESSAGE}2 - - fi - - # break up into 80-character columns (actually 78 chars because we'll - # add two spaces to every line) - cp $TMPMESSAGE ${TMPMESSAGE}2 - fmt -s -w 78 ${TMPMESSAGE}2 > $TMPMESSAGE - rm ${TMPMESSAGE}2 - - # add two spaces to the beginning of every line of the message. - # do this separately from the sed in the else section above - # because it should be executed for the if and elif sections too. - cp $TMPMESSAGE ${TMPMESSAGE}2 - sed -e 's:^: :g' ${TMPMESSAGE}2 > $TMPMESSAGE - rm ${TMPMESSAGE}2 - -} - -# get list of files and wrap it in the following manner: -# 1 item on the first list and upto 80 chars on every other. -# also adds 2 spaces to the beginning of every line but the first. -wrap_list() { - - echo -n $1 - shift - - while [ -n "$1" ]; do - if [ -n "$LIST" ]; then - LIST="$LIST, $1" - else - echo , - LIST="$1" - fi - shift - done - LIST="$LIST :" - - echo $LIST | fmt -s -w 78 | sed -e 's:^: :g' - - -} - -# do the actual work on te changelog file passed as $1 -process() { - # figure out category and package names - name=${1//${PORTDIR}} - name=${name//${MYPORTDIR}} - name=${name//\/ChangeLog} - - OLDIFS="$IFS" - IFS="/" - for x in $name; do - if [ -z "$CATEGORY" ]; then - CATEGORY="$x" - else - PACKAGE="$x" - fi - done - IFS="$OLDIFS" - - # create header - echo \ -"# ChangeLog for $CATEGORY/$PACKAGE -# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# \$Header: \$ -" > $TMPHEADER - - # create entry line - if [ -n "$NEWVERSION" ]; then - echo "*$PACKAGE-$NEWVERSION (`date '+%d %b %Y'`)" > $TMPENTRY - echo >> $TMPENTRY - fi - - echo -n " `date "+%d %b %Y"`; ${AUTHORNAME} <${AUTHOREMAIL}> " >> $TMPENTRY - [ -z "$CHANGED" ] && CHANGED="ChangeLog " - wrap_list $CHANGED >> $TMPENTRY - - echo >> $TMPENTRY - - # get the original changelog, minus the old header - sed -e '/^# ChangeLog for/ D - /^# Copyright 2002 Gentoo Technologies/ D - /^# \$Header:/ D' $1 > $TMPOLDLOG - - # join everything together - cat $TMPHEADER $TMPENTRY $TMPMESSAGE $TMPOLDLOG > $TMPCHANGELOG - - # various output options - if [ -n "$OUTPUT" ]; then - cp $TMPCHANGELOG $OUTPUT - [ -z "$STDOUT" ] && echo "New changelog saved in $OUTPUT." - else - cp $TMPCHANGELOG $1 - [ -z "$STDOUT" ] && echo "Original changelog $1 replaced." - fi - - if [ -n "$STDOUT" ]; then - cat $TMPCHANGELOG - fi - -} - -# pass exit code to this function -cleanup() { - - rm -f $TMPMESSAGE $TMPHEADER $TMPENTRY $TMPCHANGELOG $TMPOLDLOG - - exit $1 - -} - -parse_params "${@}" - -init - -get_msg - -for x in $FILES; do - process $x -done - -cleanup 0 - diff --git a/trunk/src/change/change.1 b/trunk/src/change/change.1 deleted file mode 100644 index e69de29..0000000 diff --git a/trunk/src/dep-clean/AUTHORS b/trunk/src/dep-clean/AUTHORS deleted file mode 100644 index 2fa030f..0000000 --- a/trunk/src/dep-clean/AUTHORS +++ /dev/null @@ -1,9 +0,0 @@ -Maintainer: -Karl Trygve Kalleberg - -Authors: -Karl Trygve Kalleberg (dep-clean, man page) -Jerry Haltom (dep-clean) -Brandon Low (dep-clean) -Paul Belt (man page) -Brandon Low (dep-clean) diff --git a/trunk/src/dep-clean/ChangeLog b/trunk/src/dep-clean/ChangeLog deleted file mode 100644 index dc6980e..0000000 --- a/trunk/src/dep-clean/ChangeLog +++ /dev/null @@ -1,13 +0,0 @@ - 04 Oct 2003: Karl Trygve Kalleberg dep-clean, dep-clean.1: - * Rewrote to Python - * Uses gentoolkit - * Changed the switches to be proper toggles - - 25 Feb 2003; Brandon Low dep-clean, dep-clean.1: - * Update to work with current everything - * Add -q and change the default behaviour and the verbose behavior - * Make a lot faster by rewriting most everything - * Make script much more readable - * Make pay attention to PORTDIR_OVERLAY - * Bring back from the dead as it give more info - than the depclean action in portage. diff --git a/trunk/src/dep-clean/README b/trunk/src/dep-clean/README deleted file mode 100644 index 6521aef..0000000 --- a/trunk/src/dep-clean/README +++ /dev/null @@ -1,4 +0,0 @@ -See man dep-clean or just run dep-clean --help. - -QuickStart: -dep-clean displays missing, extra, and removed packages on your system. diff --git a/trunk/src/dep-clean/dep-clean b/trunk/src/dep-clean/dep-clean deleted file mode 100644 index 2f2bde0..0000000 --- a/trunk/src/dep-clean/dep-clean +++ /dev/null @@ -1,164 +0,0 @@ -#!/usr/bin/python -# -# Terminology: -# -# portdir = /usr/portage + /usr/local/portage -# vardir = /var/db/pkg - -import sys -import gentoolkit -try: - from portage.output import * -except ImportError: - from output import * - -__author__ = "Karl Trygve Kalleberg, Brandon Low, Jerry Haltom" -__email__ = "karltk@gentoo.org, lostlogic@gentoo.org, ssrit@larvalstage" -__version__ = "0.2.0" -__productname__ = "dep-clean" -__description__ = "Portage auxiliary dependency checker" - -class Config: - pass - -def defaultConfig(): - Config.displayUnneeded = 1 - Config.displayNeeded = 1 - Config.displayRemoved = 1 - Config.color = -1 - Config.verbosity = 2 - Config.prefixes = { "R" : "", - "U" : "", - "N" : "" } -def asCPVs(pkgs): - return map(lambda x: x.get_cpv(), pkgs) - -def asCPs(pkgs): - return map(lambda x: x.get_cp(), pkgs) - -def toCP(cpvs): - def _(x): - (c,p,v,r) = gentoolkit.split_package_name(x) - return c + "/" + p - return map(_, cpvs) - -def checkDeps(): - if Config.verbosity > 1: - print "Scanning packages, please be patient..." - - unmerged = asCPVs(gentoolkit.find_all_uninstalled_packages()) - unmerged_cp = toCP(unmerged) - - merged = asCPVs(gentoolkit.find_all_installed_packages()) - merged_cp = toCP(merged) - - (system, unres_system) = gentoolkit.find_system_packages() - system = asCPVs(system) - - (world, unres_world) = gentoolkit.find_world_packages() - world = asCPVs(world) - - desired = system + world - - unneeded = filter(lambda x: x not in desired, merged) - needed = filter(lambda x: x not in merged, desired) - old = filter(lambda x: x not in unmerged_cp, merged_cp) - - if len(needed): - print "Packages required, but not by world and system:" - for x in needed: print " " + x - raise "Internal error, please report." - - if len(unres_system) and Config.displayNeeded: - if Config.verbosity > 0: - print white("Packages in system but not installed:") - for x in unres_system: - print " " + Config.prefixes["N"] + red(x) - - if len(unres_world) and Config.displayNeeded: - if Config.verbosity > 0: - print white("Packages in world but not installed:") - for x in unres_world: - print " " + Config.prefixes["N"] + red(x) - - if len(old) and Config.displayRemoved: - if Config.verbosity > 0: - print white("Packages installed, but no longer available:") - for x in old: - print " " + Config.prefixes["R"] + yellow(x) - - if len(unneeded) and Config.displayUnneeded: - if Config.verbosity > 0: - print white("Packages installed, but not required by system or world:") - for x in unneeded: - print " " + Config.prefixes["U"] + green(x) - -def main(): - - defaultConfig() - - for x in sys.argv: - if 0: - pass - elif x in ["-h","--help"]: - printUsage() - sys.exit(0) - elif x in ["-V","--version"]: - printVersion() - sys.exit(0) - - elif x in ["-n","--needed","--needed=yes"]: - Config.displayNeeded = 1 - elif x in ["-N","--needed=no"]: - Config.displayNeeded = 0 - - elif x in ["-u","--unneeded","--unneeded=yes"]: - Config.displayUnneeded = 1 - elif x in ["-U","--unneeded=no"]: - Config.displayUnneeded = 0 - - elif x in ["-r","--removed","--removed=yes"]: - Config.displayRemoved = 1 - elif x in ["-R","--removed","--removed=no"]: - Config.displayRemoved = 0 - elif x in ["-c","--color=yes"]: - Config.color = 1 - elif x in ["-C","--color=no"]: - Config.color = 0 - - elif x in ["-v", "--verbose"]: - Config.verbosity += 1 - elif x in ["-q", "--quiet"]: - Config.verbosity = 0 - - # Set up colour output correctly - if (Config.color == -1 and \ - ((not sys.stdout.isatty()) or \ - (gentoolkit.settings["NOCOLOR"] in ["yes","true"]))) \ - or \ - Config.color == 0: - nocolor() - Config.prefixes = { "R": "R ", "N": "N ", "U": "U " } - - checkDeps() - -def printVersion(): - print __productname__ + "(" + __version__ + ") - " + \ - __description__ - print "Authors: " + __author__ - -def printUsage(): - print white("Usage: ") + turquoise(__productname__) + \ - " [" + turquoise("options") + "]" - print "Where " + turquoise("options") + " is one of:" - print white("Display:") - print " -N,--needed needed packages that are not installed." - print " -R,--removed installed packages not in portage." - print " -U,--unneeded potentially unneeded packages that are installed." - print white("Other:") - print " -C,--nocolor output without color. Categories will be denoted by P,N,U." - print " -h,--help print this help" - print " -v,--version print version information" - -if __name__ == "__main__": - main() diff --git a/trunk/src/dep-clean/dep-clean.1 b/trunk/src/dep-clean/dep-clean.1 deleted file mode 100644 index 9e42019..0000000 --- a/trunk/src/dep-clean/dep-clean.1 +++ /dev/null @@ -1,194 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.15 -.\" Thu Jul 18 15:59:55 2002 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R - -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used -.\" to do unbreakable dashes and therefore won't be available. \*(C` and -.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> -.tr \(*W-|\(bv\*(Tr -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.if n .na -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ====================================================================== -.\" -.IX Title "DEP-CLEAN 1" -.TH DEP-CLEAN 1 "Copyright 2002 Gentoo Technologies, Inc." "2002-07-18" "GenToolKit's Dependency Checker!" -.UC -.SH "NAME" -dep-clean \- Shows unrequired packages and missing dependencies. -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -.Vb 1 -\& dep-clean [-RUNICv] -.Ve -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -dep-clean displays extraneous, missing or extra packages. Extra packages are those in which are not a part of the portage tree (/usr/portage). It does \s-1NOT\s0 modify the system in any way. -.SH "OPTIONS" -.IX Header "OPTIONS" -.Ip "\-n, \-\-needed" 4 -.Ip "\-N, \-\-needed=no" 4 -.IX Item "-n, --needed" -Toggle display of needed packages that are not installed. (red) (default=yes) -.Ip "\-r, \-\-removed" 4 -.Ip "\-R, \-\-removed=no" 4 -.IX Item "-R, --removed" -Toggle display of installed packages not in portage. (yellow) (default=yes) -.Ip "\-u, \-\-unneeded" 4 -.Ip "\-U, \-\-unneeded=no" 4 -.IX Item "-U, --unneeded" -Toggle display of unneeded packages that are installed. (green) (default=yes) -.Ip "\-c, \-\-color" 4 -.Ip "\-C, \-\-color=no" 4 -.IX Item "-c, --color" -Toggle output of color. Without color, package types will be noted with R, U and N. -Default is use whatever Portage is set for. -.Ip "\-v, \-\-verbose" 4 -.IX Item "-v, --verbose" -Be more verbose. -.Ip "\-q, \-\-quiet" 4 -.IX Item "-q, --quiet" -Be quiet (display only packages). -.SH "NOTES" -.IX Header "NOTES" -.Ip "" 4 -If this script is run on a system that is not up-to-date or which hasn't been cleaned (with 'emerge \-c') recently, the output may be deceptive. -.Ip "" 4 -If the same package name appears in all three categories, then it is definitely time to update that package and then run 'emerge \-c'. -.Ip "" 4 -The \-U, \-N and \-R options may be combined, default is \-UNR -.SH "AUTHORS" -.IX Header "AUTHORS" -Jerry Haltom (dep-clean) -.br -Brandon Low (dep-clean) -.PP -Paul Belt (man page) -.br -Karl Trygve Kalleberg (dep-clean, man page) diff --git a/trunk/src/dev-scripts/README b/trunk/src/dev-scripts/README deleted file mode 100644 index 990a2ab..0000000 --- a/trunk/src/dev-scripts/README +++ /dev/null @@ -1,2 +0,0 @@ -This directory is intended to be used for small developer oriented scripts used in gentoolkit-dev. -If a script develops into a full fledged tool, it will be moved into its own subdirectory. diff --git a/trunk/src/dev-scripts/included_headers.sh b/trunk/src/dev-scripts/included_headers.sh deleted file mode 100755 index 915628b..0000000 --- a/trunk/src/dev-scripts/included_headers.sh +++ /dev/null @@ -1,159 +0,0 @@ -#!/bin/bash - -# CHANGES -# -# 20051211: Add qfile use from portage-utils, prefer over equery. Create new -# function track_headers() to handle package manager queries for both -# relative and absolute headers. Split relative and absolute queries into two -# separate places, since relative aren't quite as reliable. Prefer headers -# found in the tarball over those in /usr/include. Also, note which headers -# weren't considered in the calculation and the reasons why not. - -location=${1} - -usage() { - echo "${0##*/} [ -d ] source_location" - echo " Returns owners of all include files used. ${0##*/} defaults to" - echo " files in /usr/include, so if a file with the same name within the" - echo " source is the actual one used, false dependencies may be printed." - echo - echo " -d" - echo " Show debug output: Print files not found" - exit 1 -} - -decho() { - if [[ -n "${DEBUG}" ]]; then - echo "${1}" - fi -} - -if [[ $# -le 0 ]] || [[ $# -ge 3 ]]; then - usage -fi - -# Handle command-line options -while getopts d options; do - case ${options} in - d) DEBUG=1 - ;; - *) usage - ;; - esac -done -# Reset post-option stuff to positional parameters -shift $((OPTIND - 1)) - -get_absolute_includes() { - grep '^#[[:space:]]*include' -r ${1} | grep '.*.[ch]' | grep -e '<' -e '>' \ - | cut -d':' -f2 | cut -d'<' -f2 | cut -d'>' -f1 | grep '.*.[ch]' \ - | sort | uniq -} - -get_relative_includes() { - grep '^#[[:space:]]*include' -r ${1} | grep '.*.[ch]' | grep -e '"' -e '"' \ - | cut -d':' -f2 | cut -d'"' -f2 | cut -d'"' -f1 | grep '.*.[ch]' \ - | sort | uniq -} - -track_headers() { - if [[ -x $(which qfile 2> /dev/null) ]]; then - qfile ${@} | cut -d'(' -f1 | sort | uniq - elif [[ -x $(which equery 2> /dev/null) ]]; then - equery -q belongs ${@} | cut -d'(' -f1 - elif [[ -x $(which rpm 2> /dev/null) ]]; then - rpm -qf ${@} - else - echo "Couldn't find package query tool! Printing headerpaths instead." - echo - for header in ${@}; do - echo ${header} - done - fi -} - -echo "Analyzing source ... " -absolute_headers="$(get_absolute_includes ${1})" -relative_headers="$(get_relative_includes ${1})" - -echo "Looking for absolute headers ... " -echo -for header in ${absolute_headers}; do - absheader="/usr/include/${header}" - if [[ -e ${absheader} ]]; then - abs_headerpaths="${abs_headerpaths} ${absheader}" - echo " Looking for ${absheader} ... OK" - else - # Try as a relative header in case people use -I with <> - relative_headers="${relative_headers} ${header}" - decho " Looking for ${absheader} ... Not found!" - fi -done - -echo -echo "Looking for relative headers ... " -echo -for header in ${relative_headers}; do - fullheader=${header} - header=${header##*/} - # Prefer headers in tarball over /usr/include - header_options=$(find ${location} -name ${header} | grep ${fullheader}) - if [[ -z ${header_options} ]]; then - header_options="$(find /usr/include -name ${header} | grep ${fullheader})" - header_loc="/usr/include" - else - decho " Local header ${header} ... Not considering." - local_headers="${local_headers} ${header}" - continue - fi - count="0" - for found in ${header_options}; do - (( count++ )) - done - if [[ ${count} -ge 2 ]]; then - echo " Looking for ${header} ... " - echo " More than one option found for ${header} in ${header_loc}." - echo " Not considering ${header}." - duplicate_headers="${duplicate_headers} ${header}" - continue - elif [[ ${count} -le 0 ]]; then - decho " Looking for ${header} ... Not found!" - unfound_headers="${unfound_headers} ${header}" - continue - fi - header=${header_options} - if [[ -e ${header} ]] && [[ ${header_loc} = /usr/include ]]; then - rel_headerpaths="${rel_headerpaths} ${header}" - echo " Looking for ${header} ... OK" - else - decho " Looking for ${header} ... Not found!" - fi -done - -echo "Tracing headers back to packages ..." -echo -echo "Headers ignored because they exist in the tarball:" -echo -for header in ${local_headers}; do - echo "${header}" -done -echo -echo "Headers ignored because of duplicates in /usr/include:" -echo -for header in ${duplicate_headers}; do - echo "${header}" -done -echo -echo "Headers ignored because they weren't found:" -echo -for header in ${unfound_headers}; do - echo "${header}" -done -echo -echo "Absolute headers:" -echo -track_headers ${abs_headerpaths} -echo -echo "Relative headers:" -echo -track_headers ${rel_headerpaths} diff --git a/trunk/src/dev-scripts/linking_libs.sh b/trunk/src/dev-scripts/linking_libs.sh deleted file mode 100755 index a249305..0000000 --- a/trunk/src/dev-scripts/linking_libs.sh +++ /dev/null @@ -1,204 +0,0 @@ -#!/bin/bash - -# CHANGES -# -# 20051211: Move most of the logic to check for bad links into get_libnames() -# seds, so we don't wrongly sed out whole link lines. Seems to catch more -# problems, such as ' or ` or -- in a link. -# 20051210: Prefer qfile from portage-utils over equery if it's available. -# Check for ... in "link" lines because configure checks are not links. -# Change get_link_generic() to handle whole lines at a time instead of single -# words, so get_linklines() works. -# 20051210: Rework get_libnames() to use a new style of grep, because the old -# way was broken on some packages from the \b. Also optimize the "Looking for -# libraries" section to only grep the log file once for links and cache it; -# also only grep the link lines ones for a given library, then parse the -# output for static or shared. Should speed things up considerably for large -# packages. I get 5 seconds in Analyzing log and 15 in Looking for libs on an -# xorg-x11-6.8.99.15 log on second run. -# Create get_link_generic() that both sections call with different options. - -usage() { - echo "${0##*/} compilation_log" - echo " Checks for -lfoo link commands and finds the library owners." - exit 1 -} - -if [[ $# -lt 1 || $1 == -h || $1 == --help ]]; then - usage -fi - - -# Finds all lines in a file that involve linking -# get_link_generic(char *grep_opts, char *filename) -get_link_generic() { - egrep ${1} '\-l\w[^[:space:]]*' ${2} \ - | while read linker; do - # -linker is passed through to ld and doesn't mean the inker lib. - # The new -w in grep makes sure they're separate "words", but its - # "word" characters only include alnum and underscore, so -- gets - # through. - # Some configure lines with ... match, so we drop them - # Some of the configure options match, so we get rid of = for that. - if \ - [[ "${linker}" != *...* ]] \ - && [[ "${linker}" != -lib ]] \ - && [[ "${linker}" != -libs ]]; then - echo ${linker} - fi - done -} - -# Note the lack of -o, as compared to get_libnames() egrep -get_linklines() { - get_link_generic "-w" ${1} | sort | uniq -} - -get_libnames() { - for x; do - get_link_generic "-o -w" ${x} \ - | sed \ - -e "/^-link/d" \ - -e "/^-lib/d" \ - -e "s:^-l::g" \ - -e "/=/d" \ - -e "/'/d" \ - -e "/^-/d" \ - -e "s:\.*$::g" \ - -e "s:|::g" \ - -e "s:\"::g" \ - -e "/^-link/d" \ - -e "/^-lib/d" - done | sort | uniq -} - -get_libdirs() { - cat /etc/ld.so.conf | sed -e "/^#/d" -} - -check_exists() { - if [[ -n ${1// } ]]; then - return 0 - fi - - return 1 -} - -trace_to_packages() { - local paths=$1 - - check_exists "${paths}" - local ret=$? - if [[ $ret -ne 0 ]]; then - return 1 - fi - - if [[ -x $(which qfile 2> /dev/null) ]]; then - qfile -q ${paths} | sort | uniq - elif [[ -x $(which equery 2> /dev/null) ]]; then - equery -q belongs ${paths} | cut -d'(' -f1 - elif [[ -x $(which rpm 2> /dev/null) ]]; then - rpm -qf ${paths} - else - echo "Couldn't find package query tool! Printing paths instead." - echo - for path in ${paths}; do - echo ${path} - done - fi -} - -# *64 needs to be first, as *lib is a symlink to it so equery screws up -libdirs="/lib64 /usr/lib64 /lib /usr/lib $(get_libdirs)" - -echo "Analyzing log ..." -libnames=$(get_libnames "$@") - -#echo libnames=$libnames - -echo "Looking for libraries ..." -linker_lines=$(get_linklines ${1}) - -#echo linker_lines=$linker_lines - -for libname in ${libnames}; do - static=0 - shared=0 - line=$(echo ${linker_lines} | grep "\b-l${libname}\b") - if echo ${line} | grep -q '\b-static\b'; then - static=1 - fi - if ! echo ${line} | grep -q '\b-static\b'; then - shared=1 - fi - staticlibname="lib${libname}.a" - sharedlibname="lib${libname}.so" - if [[ ${static} -eq 1 ]]; then - echo -n " Looking for ${staticlibname} ... " - for libdir in ${libdirs}; do - found=0 - if [[ -e ${libdir}/${staticlibname} ]]; then - libpaths="${libpaths} ${libdir}/${staticlibname}" - found=1 - echo "OK" - break - fi - done - if [[ ${found} -ne 1 ]]; then - echo "Not found!" - fi - fi - if [[ ${shared} -eq 1 ]]; then - echo -n " Looking for ${sharedlibname} ... " - for libdir in ${libdirs}; do - found=0 - if [[ -e ${libdir}/${sharedlibname} ]]; then - libpaths="${libpaths} ${libdir}/${sharedlibname}" - found=1 - echo "OK" - break - fi - done - if [[ ${found} -ne 1 ]]; then - echo "Not found!" - fi - fi -done - -# Add backslashes in front of any + symbols -libpaths=${libpaths//+/\\+} - -echo "Looking for build tools (imake, etc) ..." -BUILD_PKGS=$(egrep -h "$@" \ - -e '^(/usr/(X11R6/)?bin/)?rman' \ - -e '^(/usr/(X11R6/)?bin/)?gccmakedep' \ - -e '^(/usr/(X11R6/)?bin/)?makedepend' \ - -e '^(/usr/(X11R6/)?bin/)?imake' \ - -e '^(/usr/(X11R6/)?bin/)?rman' \ - -e '^(/usr/(X11R6/)?bin/)?lndir' \ - -e '^(/usr/(X11R6/)?bin/)?xmkmf' \ - | awk '{ print $1 }' \ - | sort \ - | uniq) - -for PKG in ${BUILD_PKGS}; do - PKG=$(basename ${PKG}) - echo -n " Looking for ${PKG} ... " - if [[ -e /usr/bin/${PKG} ]]; then - echo "OK" - buildpaths="${buildpaths} ${PKG}" - else - echo "Not found!" - fi -done - -echo -echo "Tracing libraries back to packages ..." -echo -trace_to_packages "${libpaths}" - -echo -echo "Tracing build tools back to packages ..." -echo - -trace_to_packages "${buildpaths}" diff --git a/trunk/src/distfiles-clean/AUTHORS b/trunk/src/distfiles-clean/AUTHORS deleted file mode 100644 index d913891..0000000 --- a/trunk/src/distfiles-clean/AUTHORS +++ /dev/null @@ -1,6 +0,0 @@ -José Fonseca - * Wrote the script - -Karl Trygve Kalleberg - * Wrote the man page. - diff --git a/trunk/src/distfiles-clean/ChangeLog b/trunk/src/distfiles-clean/ChangeLog deleted file mode 100644 index dfe6aa8..0000000 --- a/trunk/src/distfiles-clean/ChangeLog +++ /dev/null @@ -1,2 +0,0 @@ -2002-15-11: Karl Trygve Kalleberg - * Imported newest contributions from #10647. diff --git a/trunk/src/distfiles-clean/distfiles-clean b/trunk/src/distfiles-clean/distfiles-clean deleted file mode 100644 index 23af32b..0000000 --- a/trunk/src/distfiles-clean/distfiles-clean +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# -# distfiles-clean -# -# Cleans unused files from Portage's distfiles directory. -# -# José Fonseca - -PROGRAM=`basename "$0"` - -while [ ${#} -gt 0 ] -do - case "$1" in - -h|--help) - USAGE=y - break - ;; - -i|--ignore) - IGNORE="$IGNORE $2" - shift 2 - ;; - -I|--ignore-file) - IGNORE="$IGNORE `cat "$2"`" - shift 2 - ;; - -p|--pretend) - PRETEND=y - shift - ;; - *) - echo "$PROGRAM: Invalid option \'$1\'" 1>&2 - USAGE=y - break - ;; - esac -done - -# For PORTDIR and DISTDIR -. /etc/make.globals -. /etc/make.conf - -if [ "$USAGE" ] -then - echo "Usage: $PROGRAM [-h|--help] [-i|--ignore ] [-I|--ignore-file ] [-p|--pretend]" - echo "Cleans unused files from $DISTDIR directory." - exit -fi - -DBDIR=/var/db/pkg -CACHEDIR=/var/cache/edb/dep - -for DIR in "$PORTDIR" "$DISTDIR" "$DBDIR" "$CACHEDIR" -do - if [ ! -d "$DIR" ] - then - echo "$PROGRAM: \'$DIR\' not found." - exit - fi -done - -TMPFILE=`mktemp /tmp/$PROGRAM.XXXXXX` - -cd "$DISTDIR" - -{ - echo "cvs-src" - [ "$IGNORE" ] && ls -1d $IGNORE - find "$DBDIR" -name '*.ebuild' | sed -n -e "s:^$DBDIR/\([^/]*\)/\([^/]*\)/\([^/]*\)\.ebuild$:$CACHEDIR/\1/\3:p" | xargs sed -s -e '4!d;/^$/d;s/[[:alnum:]]\+?\|(\|)//g;s/\<[^[:space:]]\+\/\ "$TMPFILE" && ls -1 | comm -23 - "$TMPFILE" | { - if [ "$PRETEND" ] - then - cat - else - xargs rm -f - fi -} - -rm "$TMPFILE" diff --git a/trunk/src/eclean/AUTHORS b/trunk/src/eclean/AUTHORS deleted file mode 100644 index 9263cbb..0000000 --- a/trunk/src/eclean/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Thomas de Grenier de Latour (tgl) diff --git a/trunk/src/eclean/ChangeLog b/trunk/src/eclean/ChangeLog deleted file mode 100644 index 36d9a28..0000000 --- a/trunk/src/eclean/ChangeLog +++ /dev/null @@ -1,27 +0,0 @@ -2005-12-19 Paul Varner - * Add support for reqular expression matching for file names in the - exclude files. - -2005-08-28 Thomas de Grenier de Latour (tgl) - * Version 0.4.1 - * added support for some "eclean-dist" and "eclean-pkg" symlinks on eclean - (and thus refactored command-line parsing and help screen code) - * accept file names in exclude files for specific distfiles protection - (useful to protect the OOo i18n files for instance, which are not in - $SRC_URI but put there manually) - * minor rewrite of some findDistfiles() code - * added /usr/lib/portage/pym python path, just to be sure it comes first - (after all, "ouput" is a pretty generic name for a python module...) - * updated manpage - -2005-08-27 Thomas de Grenier de Latour (tgl) - * Version 0.4 - * added exclusion files support - * added time limit option - * added size limit option (for distfiles only) - * added fetch-restricted distfile optionnal protection - * added --package-names option for protection of all versions of installed - packages. - * removed support of multiple actions on command-line. That would have been - hell with action-specific options. - * updated manpage diff --git a/trunk/src/eclean/Makefile b/trunk/src/eclean/Makefile deleted file mode 100644 index 79c5895..0000000 --- a/trunk/src/eclean/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 2004 Karl Trygve Kalleberg -# Copyright 2004 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License v2 -# -# $Header$ - -include ../../makedefs.mak - -all: - -dist: - mkdir -p ../../$(distdir)/src/eclean - cp eclean eclean.1 Makefile *.exclude ../../$(distdir)/src/eclean - cp AUTHORS THANKS TODO ChangeLog ../../$(distdir)/src/eclean - -install: - install -m 0755 eclean $(bindir)/ - ln -sf eclean $(bindir)/eclean-pkg - ln -sf eclean $(bindir)/eclean-dist - install -d $(sysconfdir)/eclean - install -m 0644 distfiles.exclude packages.exclude $(sysconfdir)/eclean/ - install -d $(docdir)/eclean - install -m 0644 AUTHORS THANKS TODO ChangeLog $(docdir)/eclean/ - install -m 0644 eclean.1 $(mandir)/ diff --git a/trunk/src/eclean/THANKS b/trunk/src/eclean/THANKS deleted file mode 100644 index 6b8dc2e..0000000 --- a/trunk/src/eclean/THANKS +++ /dev/null @@ -1,7 +0,0 @@ -The starting point ideas were found here: -http://forums.gentoo.org/viewtopic.php?t=3011 - -Thanks to eswanson and far for their contributions, and to wolf31o2 for his -support. Thanks also to karltk, some of this code was at some point inspired -by his "equery" tool. And thanks to people who had a look on bug #33877: -Benjamin Braatz, fuzzyray, genone, etc. diff --git a/trunk/src/eclean/TODO b/trunk/src/eclean/TODO deleted file mode 100644 index 04e64ca..0000000 --- a/trunk/src/eclean/TODO +++ /dev/null @@ -1,16 +0,0 @@ -- exclusion file syntax could be improved (maybe it should support real - dep-atoms, or wildcards, etc.) - -- some policy to keep the X latest versions of a package (in each of its - SLOT maybe) would be really cool... - -- add an option to protect system binary packages - => yup, but later... (needs some portage modifications to be done right) - -- add actions for PORT_LOGDIR and/or /var/tmp/portage cleaning? - => bah, don't know... imho tmpreaper or find+rm onliners are enough here - -- cleanup of DISTDIR/cvs-src when action=distfiles - => i never use cvs ebuilds, i should check what it does exactly - -- rewrite for a decent Portage API if there ever is one diff --git a/trunk/src/eclean/distfiles.exclude b/trunk/src/eclean/distfiles.exclude deleted file mode 100644 index a31be55..0000000 --- a/trunk/src/eclean/distfiles.exclude +++ /dev/null @@ -1,5 +0,0 @@ -# /etc/eclean/distfiles.exclude -# In this file you can list some categories or cat/pkg-name for which you want -# to protect distfiles from "ecleaning". You can also name some specific files. -# See `man eclean` for syntax details. -metadata.dtd diff --git a/trunk/src/eclean/eclean b/trunk/src/eclean/eclean deleted file mode 100644 index 55cc2a7..0000000 --- a/trunk/src/eclean/eclean +++ /dev/null @@ -1,838 +0,0 @@ -#!/usr/bin/python -# Copyright 2003-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -from __future__ import with_statement - -############################################################################### -# Meta: -__author__ = "Thomas de Grenier de Latour (tgl)" -__email__ = "degrenier@easyconnect.fr" -__version__ = "0.4.1" -__productname__ = "eclean" -__description__ = "A cleaning tool for Gentoo distfiles and binaries." - - -############################################################################### -# Python imports: - -import sys -import os, stat -import re -import time -import getopt -import fpformat -import signal -try: - import portage -except ImportError: - sys.path.insert(0, "/usr/lib/portage/pym") - import portage -try: - from portage.output import * -except ImportError: - from output import * - -listdir = portage.listdir - -############################################################################### -# Misc. shortcuts to some portage stuff: -port_settings = portage.settings -distdir = port_settings["DISTDIR"] -pkgdir = port_settings["PKGDIR"] - -############################################################################### -# printVersion: -def printVersion(): - print "%s (version %s) - %s" \ - % (__productname__, __version__, __description__) - print "Author: %s <%s>" % (__author__,__email__) - print "Copyright 2003-2005 Gentoo Foundation" - print "Distributed under the terms of the GNU General Public License v2" - - -############################################################################### -# printUsage: print help message. May also print partial help to stderr if an -# error from {'options','actions'} is specified. -def printUsage(error=None,help=None): - out = sys.stdout - if error: out = sys.stderr - if not error in ('actions', 'global-options', \ - 'packages-options', 'distfiles-options', \ - 'merged-packages-options', 'merged-distfiles-options', \ - 'time', 'size'): - error = None - if not error and not help: help = 'all' - if error == 'time': - eerror("Wrong time specification") - print >>out, "Time specification should be an integer followed by a"+ \ - " single letter unit." - print >>out, "Available units are: y (years), m (months), w (weeks), "+ \ - "d (days) and h (hours)." - print >>out, "For instance: \"1y\" is \"one year\", \"2w\" is \"two"+ \ - " weeks\", etc. " - return - if error == 'size': - eerror("Wrong size specification") - print >>out, "Size specification should be an integer followed by a"+ \ - " single letter unit." - print >>out, "Available units are: G, M, K and B." - print >>out, "For instance: \"10M\" is \"ten megabytes\", \"200K\" "+ \ - "is \"two hundreds kilobytes\", etc." - return - if error in ('global-options', 'packages-options', 'distfiles-options', \ - 'merged-packages-options', 'merged-distfiles-options',): - eerror("Wrong option on command line.") - print >>out - elif error == 'actions': - eerror("Wrong or missing action name on command line.") - print >>out - print >>out, white("Usage:") - if error in ('actions','global-options', 'packages-options', \ - 'distfiles-options') or help == 'all': - print >>out, " "+turquoise(__productname__), \ - yellow("[global-option] ..."), \ - green(""), \ - yellow("[action-option] ...") - if error == 'merged-distfiles-options' or help in ('all','distfiles'): - print >>out, " "+turquoise(__productname__+'-dist'), \ - yellow("[global-option, distfiles-option] ...") - if error == 'merged-packages-options' or help in ('all','packages'): - print >>out, " "+turquoise(__productname__+'-pkg'), \ - yellow("[global-option, packages-option] ...") - if error in ('global-options', 'actions'): - print >>out, " "+turquoise(__productname__), \ - yellow("[--help, --version]") - if help == 'all': - print >>out, " "+turquoise(__productname__+"(-dist,-pkg)"), \ - yellow("[--help, --version]") - if error == 'merged-packages-options' or help == 'packages': - print >>out, " "+turquoise(__productname__+'-pkg'), \ - yellow("[--help, --version]") - if error == 'merged-distfiles-options' or help == 'distfiles': - print >>out, " "+turquoise(__productname__+'-dist'), \ - yellow("[--help, --version]") - print >>out - if error in ('global-options', 'merged-packages-options', \ - 'merged-distfiles-options') or help: - print >>out, "Available global", yellow("options")+":" - print >>out, yellow(" -C, --nocolor")+ \ - " - turn off colors on output" - print >>out, yellow(" -d, --destructive")+ \ - " - only keep the minimum for a reinstallation" - print >>out, yellow(" -e, --exclude-file=")+ \ - " - path to the exclusion file" - print >>out, yellow(" -i, --interactive")+ \ - " - ask confirmation before deletions" - print >>out, yellow(" -n, --package-names")+ \ - " - protect all versions (when --destructive)" - print >>out, yellow(" -p, --pretend")+ \ - " - only display what would be cleaned" - print >>out, yellow(" -q, --quiet")+ \ - " - be as quiet as possible" - print >>out, yellow(" -t, --time-limit=