diff options
author | Gunnar Wrobel <p@rdus.de> | 2007-09-11 09:53:28 +0000 |
---|---|---|
committer | Gunnar Wrobel <p@rdus.de> | 2007-09-11 09:53:28 +0000 |
commit | 23ca74c79892f40e7330b30d01715fdd5408831c (patch) | |
tree | 70b64c6b620e49a87f4e0cc4ce4082c0ca42dd4f | |
parent | 53ec348a897d392ae7123efa77d7d5cc3455e19e (diff) | |
parent | 6bdbcac18c2b91e0304c65d06278da471e16c92b (diff) | |
download | layman-23ca74c79892f40e7330b30d01715fdd5408831c.tar.gz layman-23ca74c79892f40e7330b30d01715fdd5408831c.tar.bz2 layman-23ca74c79892f40e7330b30d01715fdd5408831c.zip |
Moved layman to trunk again.
-rw-r--r-- | .svn.ignore | 3 | ||||
-rw-r--r-- | AUTHORS | 14 | ||||
-rw-r--r-- | COPYING | 280 | ||||
-rw-r--r-- | ChangeLog | 367 | ||||
-rw-r--r-- | MANIFEST.in | 4 | ||||
-rwxr-xr-x | bin/layman | 37 | ||||
-rw-r--r-- | doc/.svn.ignore | 3 | ||||
-rw-r--r-- | doc/Makefile | 41 | ||||
-rw-r--r-- | doc/layman.8.xml | 631 | ||||
-rw-r--r-- | ebuild/layman-1.0.99.ebuild | 77 | ||||
-rw-r--r-- | etc/Makefile | 4 | ||||
-rw-r--r-- | etc/cache-private.xml | 25 | ||||
-rw-r--r-- | etc/cache.xml | 531 | ||||
-rw-r--r-- | etc/layman.cfg | 53 | ||||
-rw-r--r-- | layman/.svn.ignore (renamed from overlays/.svn.ignore) | 0 | ||||
-rw-r--r-- | layman/__init__.py (renamed from __init__.py) | 0 | ||||
-rw-r--r-- | layman/action.py (renamed from action.py) | 0 | ||||
-rw-r--r-- | layman/config.py (renamed from config.py) | 0 | ||||
-rw-r--r-- | layman/db.py (renamed from db.py) | 0 | ||||
-rw-r--r-- | layman/debug.py (renamed from debug.py) | 0 | ||||
-rw-r--r-- | layman/overlay.py (renamed from overlay.py) | 0 | ||||
-rw-r--r-- | layman/overlays/.svn.ignore | 1 | ||||
-rw-r--r-- | layman/overlays/__init__.py (renamed from overlays/__init__.py) | 0 | ||||
-rw-r--r-- | layman/overlays/bzr.py (renamed from overlays/bzr.py) | 0 | ||||
-rw-r--r-- | layman/overlays/cvs.py (renamed from overlays/cvs.py) | 0 | ||||
-rw-r--r-- | layman/overlays/darcs.py (renamed from overlays/darcs.py) | 0 | ||||
-rw-r--r-- | layman/overlays/git.py (renamed from overlays/git.py) | 0 | ||||
-rw-r--r-- | layman/overlays/mercurial.py (renamed from overlays/mercurial.py) | 0 | ||||
-rw-r--r-- | layman/overlays/overlay.py (renamed from overlays/overlay.py) | 0 | ||||
-rw-r--r-- | layman/overlays/rsync.py (renamed from overlays/rsync.py) | 0 | ||||
-rw-r--r-- | layman/overlays/svn.py (renamed from overlays/svn.py) | 0 | ||||
-rw-r--r-- | layman/overlays/tar.py (renamed from overlays/tar.py) | 0 | ||||
-rw-r--r-- | layman/tests/dtest.py (renamed from tests/dtest.py) | 0 | ||||
-rw-r--r-- | layman/tests/testfiles/global-overlays.xml (renamed from tests/testfiles/global-overlays.xml) | 0 | ||||
-rw-r--r-- | layman/tests/testfiles/layman-test.tar.bz2 (renamed from tests/testfiles/layman-test.tar.bz2) | bin | 845 -> 845 bytes | |||
-rw-r--r-- | layman/tests/testfiles/make.conf (renamed from tests/testfiles/make.conf) | 0 | ||||
-rw-r--r-- | layman/tests/testfiles/overlays_bug_184449.xml (renamed from tests/testfiles/overlays_bug_184449.xml) | 0 | ||||
-rw-r--r-- | layman/utils.py (renamed from utils.py) | 0 | ||||
-rw-r--r-- | layman/version.py (renamed from version.py) | 0 | ||||
-rwxr-xr-x | setup.py | 21 |
40 files changed, 2091 insertions, 1 deletions
diff --git a/.svn.ignore b/.svn.ignore index 0d20b64..eaea68a 100644 --- a/.svn.ignore +++ b/.svn.ignore @@ -1 +1,2 @@ -*.pyc +MANIFEST +dist @@ -0,0 +1,14 @@ +AUTHORS +------- + +Written by Gunnar Wrobel (wrobel@gentoo.org) + +Originally created after a discussion with Stuart Herbert (stuart@gentoo.org). + +Contributors: +~~~~~~~~~~~~~ + +Stefan Schweizer (genstef@gentoo.org) - git overlay support +Adrian Perez (moebius@connectical.net) - bzr overlay support +Andres Loeh (kosmikus@gentoo.org) - darcs overlay support +Samuel Tardieu (sam@rfc1149.net) - mercurial overlay support @@ -0,0 +1,280 @@ + 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 diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..e6df33a --- /dev/null +++ b/ChangeLog @@ -0,0 +1,367 @@ +2007-09-11 Gunnar Wrobel <p@rdus.de> + + * layman/config.py (Config.__init__): + * doc/layman.8.xml: + + Add "nocolor" option (#183364) + http://bugs.gentoo.org/show_bug.cgi?id=183364 + + * layman/db.py: + * layman/debug.py: + + Fixes for unicode bug #184449 + http://bugs.gentoo.org/show_bug.cgi?id=184449 + + * layman/overlays/rsync.py (RsyncOverlay.sync): + + Fix bug #177045 + http://bugs.gentoo.org/show_bug.cgi?id=177045 + + * doc/layman.8.xml: + + Improve the man page concerning the --overlays flag (#180107) + http://bugs.gentoo.org/show_bug.cgi?id=180107 + + * layman/db.py (DB.add): + * layman/overlays/overlay.py (Overlay.set_priority): + + Correctly handle the priority setting (#185142) + http://bugs.gentoo.org/show_bug.cgi?id=185142 + + * layman/config.py (Config.__init__): + + Finally fix the default for "nocheck" + + * layman/version.py: + + Update to version 1.1. + + * layman/config.py (Config.__init__): + * layman/action.py (Info.run): + * doc/layman.8.xml: + + Add the new "--info" option (bug #188000) + http://bugs.gentoo.org/show_bug.cgi?id=188000 + + * doc/layman.8.xml: + + Description of the verbose switch (partial fix + for #188004). + http://bugs.gentoo.org/show_bug.cgi?id=188004 + + * layman/config.py (Config.__init__): + + Add the output options into the list of documented + cli switches (partial fix for #188004). + http://bugs.gentoo.org/show_bug.cgi?id=188004 + +2007-01-09 Gunnar Wrobel <wrobel@pardus.de> + + * layman/version.py: + + Update to version 1.0.10 + +2007-01-08 Gunnar Wrobel <wrobel@pardus.de> + + * layman/db.py (DB.add, MakeConf.write): + + Added support for the --priority flag. + + Modified order of entries in PORTDIR_OVERLAY. + + * layman/config.py (Config.__init__): + + Added --priority flag. + + * doc/layman.8.xml: + + Added documentation for --priority switch. + +2007-01-05 Gunnar Wrobel <wrobel@pardus.de> + + * layman/db.py: + + Fixed doc tests. + + * layman/config.py: + + Fixed doc tests. + + * layman/action.py: + + Fixed doc tests. + + * layman/overlays/tar.py: + + Fixed doc tests. + +2006-12-30 Gunnar Wrobel <wrobel@pardus.de> + + * layman/config.py (Config.__init__): + + Fixed quietness option. + + * layman/overlays/tar.py (TarOverlay.__init__): + + Fixed default values. + + * layman/overlays/cvs.py (CvsOverlay.__init__): + + Fixed default values. + + * layman/action.py: + + Add support for --quiet/--quietness + + * layman/overlay.py (Overlays.__init__): + + Add support for --quiet/--quietness + + * layman/overlays/overlay.py (Overlay.__init__, Overlay.cmd): + + Add support for --quiet/--quietness + + * layman/db.py (DB.__init__): + + Add support for --quiet/--quietness + + * layman/version.py: + + This will be version 1.0.9 + + * doc/layman.8.xml: + + Added documentation for --quiet/--quietness + +2006-12-29 Gunnar Wrobel <wrobel@pardus.de> + + * layman/config.py (Config): + + Added quietness and modified OUT.info / OUT.warn calls + accordingly (bug #151965) + + * layman/db.py (DB.sync, DB.add): + + Catching error when syncing fails (bugs #148698 and #159051). + + * ebuild/layman-1.0.8.ebuild: + + Fixed postinstall instructions for layman (bug #149867) + + Added subversion "nowebdav" check by cardoe into repository. + +2006-09-23 <post@gunnarwrobel.de> + + * layman/version.py: Update to 1.0.8 + +2006-09-22 <post@gunnarwrobel.de> + + * layman/overlays/cvs.py (CvsOverlay.sync): CVS support + +2006-09-05 <post@gunnarwrobel.de> + + * layman/*: Generic pylint and cleanup fixes + + * layman/config.py (Config.__init__): Modified to allow switching + strict checking off. + +2006-08-08 <post@gunnarwrobel.de> + + * layman/overlays/tar.py (TarOverlay.add): Support for explicit + file format of a tar package. + +2006-08-01 <post@gunnarwrobel.de> + + * layman/action.py (Sync.run): Print successes and warning at the + end of the run. + (List.run): List only official overlays when not running verbose. + + * layman/db.py (MakeConf.write.prio_sort): Sort overlays by + priority when writing make.conf + + * layman/overlay.py (Overlays.list): Support for marking overlays + as official. + (Overlays.read): Only warn on invalid overlay definitions and do + not add them. + + * layman/overlays/bzr.py: Allow whitespace. + + * layman/overlays/darcs.py: Allow whitespace. + + * layman/overlays/git.py: Allow whitespace. + + * layman/overlays/mercurial.py: Allow whitespace. + + * layman/overlays/rsync.py: Allow whitespace. + + * layman/overlays/svn.py: Allow whitespace. + + * layman/overlays/tar.py: Allow whitespace. + + * layman/overlays/overlay.py (Overlay.__init__): Required contact, + description. Added support for status and priority. + (Overlay.__str__): Modified display according to changes given + above. + (Overlay.is_official): Added new function for official overlays. + + * layman/overlay.py: Added mercurial support thanks to + Andres Loeh <kosmikus@gentoo.org> + + * layman/overlays/mercurial.py: Added mercurial support thanks to + Andres Loeh <kosmikus@gentoo.org> + +2006-07-25 <post@gunnarwrobel.de> + + * layman/config.py (Config.__init__): Fixed error introduced in + changeset 204. Config file gets read again. + +2006-07-18 <post@gunnarwrobel.de> + + * layman/version.py: version bump to 1.0.5 + + * layman/config.py (Config.__getitem__): Fixed handling of overlays + specified on the command line. + + * layman/db.py (RemoteDB.cache): Fixed handling of downloaded + overlay list. + + * layman/overlay.py: Added darcs module. + +2006-07-17 <post@gunnarwrobel.de> + + * layman/config.py (Config.__init__): Fixed some config defaults. + + * layman/action.py (Actions.__init__): Reduced actions for which + the remote lists will be implicitely fetched. + + * doc/layman.8.xml: Updated documentation for implicit fetch. + + * layman/action.py (Actions.__init__): Run fetch implicitely + only on specific actions. + + * layman/db.py (RemoteDB.cache): Modified download code for + improved handling of fetch problems. + + * layman/action.py (Sync.__init__): Added --sync-all support. + + * doc/layman.8.xml: Added --sync-all documentation. + + * layman/db.py (RemoteDB.__init__): Added proxy support. + + * etc/layman.cfg (make_conf): Added local file syntax example. + (overlays): Added proxy variable. + + * doc/layman.8.xml: Added documentation about local overlay + definitions. + Added proxy documentation. + +2006-06-28 <post@gunnarwrobel.de> + + * layman/version.py: Version bump to 1.0.4 + + * layman/action.py (Sync.run): Fixed src check. + +2006-06-27 <post@gunnarwrobel.de> + + * layman/action.py (ListLocal.run): Fixed code for listing. + + * doc/layman.8.xml: Fixed documentation for new nofetch option. + + * layman/action.py (Actions.__init__): Made fetching the default + if nofetch is NOT set. + (Sync.run): Added source path comparison for overlay location changes. + (List.run): Modified output to differentiate between supported and + unsupported overlays. + + * layman/config.py (Config.__init__): Added nofetch option. + + * layman/overlay.py: Added bzr support. Thanks to Adrian Perez. + + * layman/overlays/bzr.py: Added bzr support. Thanks to Adrian Perez. + + * layman/overlays/overlay.py (Overlay.short_list): Fixed length + of short listing. + (Overlay.supported): Fixed check for supported overlay types. + +2006-06-05 <post@gunnarwrobel.de> + + * layman/overlays/overlay.py (Overlay): Forgot to add a check + if the overlay type is actually supported. -> 1.0.2 + + * layman/overlay.py: genstef@gentoo.org provided support for + git based overlays. -> released 1.0.1 + +2006-05-27 <post@gunnarwrobel.de> + + * doc/layman.8.xml: Updated docs to multi list support + + * layman/version.py: Version bump to 1.0.0 + + * etc/layman.cfg (overlays): Adapted configuration for change + in global list url and multiple list support. + + * layman/config.py (Config.__init__): Fixed link for global + overlay list. + + * layman/db.py: Added support for multiple overlay lists. + + * layman/overlay.py: Added support for mutliple overlay lists. + +2006-05-01 <post@gunnarwrobel.de> + + * layman/version.py: Version bump to 0.9.2 + + * layman/tests/dtest.py (test_suite): Added utils.py test + + * layman/overlays/tar.py (TarOverlay): Fixed testing results. + +2006-04-14 <post@gunnarwrobel.de> + + * layman/version.py: Version 0.9.1 + + * layman/overlays/tar.py (TarOverlay.__init__): Added + category support to packaged overlays. Could/Should + also allow this for other overlay types. + +2006-03-12 <post@gunnarwrobel.de> + + * layman/db.py (RemoteDB.cache): Create storage + dir if it is missing. + (MakeConf.write): Add $PORTDIR_OVERLAY to include + manual PORTDIR_OVERLAY variable. + (MakeConf.read): Disregard PORTDIR_OVERLAY variable + as overlay name. + + * layman/action.py (Fetch.run): Added error handling + for fetch problems. + + * doc/layman.8.xml: Fixes to the man page. + + * layman/version.py: Version bump to 0.9 + + * layman/action.py (Add.run): Added warning if + overlay is unkown. + + * etc/cache.xml: Added kolab2 and xgloverlays. + + * layman/overlays/overlay.py (Overlay.short_list): Added + shortened overlay listing + + * layman/overlay.py: Added tar support. + + * layman/overlays/tar.py: Added tar support. + +2006-02-04 <post@gunnarwrobel.de> + + * etc/cache-private.xml: Added private overlay locations. + + * layman/db.py (MakeConf.read): Allowed for a missing + make.conf. This now allows to source an external file + into the original make.conf + + * etc/layman.cfg (cache): Fixed location of cache and + overlay list + + * layman/config.py (Config.__init__): Fixed description of + layman usage. + diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..5829965 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,4 @@ +include etc/layman.cfg +include doc/layman.8 +include doc/layman.8.html +recursive-include layman/tests * diff --git a/bin/layman b/bin/layman new file mode 100755 index 0000000..3080c05 --- /dev/null +++ b/bin/layman @@ -0,0 +1,37 @@ +#!python +################################################################################ +# LAYMAN - A UTILITY TO SELECT AND UPDATE GENTOO OVERLAYS +################################################################################ +# Distributed under the terms of the GNU General Public License v2 +# +# Copyright: +# (c) 2005 Gunnar Wrobel +# Distributed under the terms of the GNU General Public License v2 +# +# Author(s): +# Gunnar Wrobel <wrobel@gentoo.org> +# + +__version__ = "$Id$" + +#=============================================================================== +# +# Dependencies +# +#------------------------------------------------------------------------------- + +from layman.config import Config +from layman.action import Actions + +#=============================================================================== +# +# MAIN +# +#------------------------------------------------------------------------------- + +def main(): + + Actions(Config()) + +if __name__ == "__main__": + main() diff --git a/doc/.svn.ignore b/doc/.svn.ignore new file mode 100644 index 0000000..ff0e9f9 --- /dev/null +++ b/doc/.svn.ignore @@ -0,0 +1,3 @@ +*.html +*.8 +semantic.cache diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000..64b28af --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,41 @@ +# +# layman/doc/Makefile +# Simple Makefile to rebuild the documentation from the +# docbook XML sources +# +# Copyright (c) 1999-2005 Gentoo Foundation +# Released under v2 of the GNU GPL +# +# Author(s) Stuart Herbert <stuart@gentoo.org> +# Renat Lumpau <rl03@gentoo.org> +# Gunnar Wrobel <php@gunnarwrobel.de> +# +# ======================================================================== + +MAN_PAGES = layman.8 +HTML_PAGES = layman.8.html + +TMPFILE=./layman.man + +all: man html + +html: $(HTML_PAGES) + +man: $(MAN_PAGES) + +clean: + rm -f $(MAN_PAGES) + rm -f $(HTML_PAGES) + +%.html: %.xml + @echo HTML $@ + @xmlto html-nochunks $< + +%: %.xml + @echo MAN $@ + @xmlto man $< +# +# fix up the blank lines that docbook leaves behind +# + @cat $@ | sed -e 's/$$/.fred/g;' | tr -d '\n' | sed -e 's/.fred.fred\./.fred./g;' | sed -e 's/.fred/\n/g;' > $(TMPFILE) + @mv $(TMPFILE) $@ diff --git a/doc/layman.8.xml b/doc/layman.8.xml new file mode 100644 index 0000000..ecd2ec7 --- /dev/null +++ b/doc/layman.8.xml @@ -0,0 +1,631 @@ +<?xml version='1.0'?> +<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> +<article> + + <articleinfo> + <title>layman</title> + + <authorgroup> + <author> + <firstname>Gunnar</firstname> + <surname>Wrobel</surname> + <affiliation> + <address> + <email>wrobel@gentoo.org</email> + <otheraddr> + <ulink url="http://gunnarwrobel.de" /> + </otheraddr> + </address> + </affiliation> + </author> + </authorgroup> + + <copyright> + <year>2006</year> + <holder>Gunnar Wrobel</holder> + </copyright> + </articleinfo> + + <section> + <title>Reference</title> + + <refentry> + <refentryinfo> + <title>layman</title> + <date>February 2006</date> + <productname>Gentoo Linux</productname> + </refentryinfo> + <refmeta> + <refentrytitle>layman</refentrytitle> + <manvolnum>8</manvolnum> + </refmeta> + <refnamediv> + <refname>layman</refname> + <refpurpose> + manage your local repository of gentoo overlays + </refpurpose> + </refnamediv> + + <refsynopsisdiv> + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-a</arg> + <arg>--add</arg> + </group> + <group choice="plain"> + <arg>ALL</arg> + <arg><replaceable>overlay</replaceable></arg> + </group> + </cmdsynopsis> + + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-d</arg> + <arg>--delete</arg> + </group> + <group choice="plain"> + <arg>ALL</arg> + <arg><replaceable>overlay</replaceable></arg> + </group> + </cmdsynopsis> + + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-s</arg> + <arg>--sync</arg> + </group> + <group choice="plain"> + <arg>ALL</arg> + <arg><replaceable>overlay</replaceable></arg> + </group> + </cmdsynopsis> + + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-S</arg> + <arg>--sync-all</arg> + </group> + </cmdsynopsis> + + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-L</arg> + <arg>--list</arg> + </group> + </cmdsynopsis> + + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-l</arg> + <arg>--list-local</arg> + </group> + </cmdsynopsis> + + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-f</arg> + <arg>--fetch</arg> + </group> + </cmdsynopsis> + + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-n</arg> + <arg>--nofetch</arg> + </group> + </cmdsynopsis> + + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-k</arg> + <arg>--nocheck</arg> + </group> + </cmdsynopsis> + + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-q</arg> + <arg>--quiet</arg> + </group> + </cmdsynopsis> + + <cmdsynopsis> + <command>layman</command> + <group choice="plain"> + <arg>-Q</arg> + <arg>--quietness</arg> + <group choice="plain"> + <arg><replaceable>0-4</replaceable></arg> + </group> + </group> + </cmdsynopsis> + + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + + <para><command>layman</command> is a script that allows you to + add, remove and update gentoo overlays from a variety of + sources.</para> + + </refsect1> + + <refsect1> + <title>WARNING</title> + + <para><command>layman</command> makes it easy to retrieve and + update overlays for gentoo. In addition it makes it TRIVIAL + to break your system. + </para> + + <para>The main portage tree provides you with high quality ebuilds + that are all maintained by gentoo developers. This will not + be the case for most of the overlays you can get by using + <command>layman</command>. Thus you are removing the + security shield that the standard tree provides for + you. You should keep that in mind when installing ebuilds + from an overlay. + </para> + + <para>To ensure the security of your system you MUST read the + source of the ebuild you are about to install. + </para> + + </refsect1> + + <refsect1> + + <title>Handling overlays</title> + + <para><command>layman</command> intends to provide easy + maintenance of gentoo overlays while not requiring any + configuration. + </para> + + <refsect2> + + <title>Remote overlay lists</title> + + <para><command>layman</command> allows you to fetch an overlay + without the need to modify any configuration files. In + order for this to be possible the script needs an external + list of possible overlay sources. There will be a + centralized list available <ulink + url="http://www.gentoo.org/proj/en/overlays/layman-global.txt">here</ulink>, + but nothing will prevent you from using or publishing your + own list of overlays. The location of the remote lists can + also be modified using the <option>--overlays</option> option + when running <command>layman</command>. + </para> + + <para>To get a new overlay added to the central list provided + for layman, send a mail to + <email>overlays@gentoo.org</email>. Gentoo developers may + add their overlay entries directly into the list which can + be accessed over the CVS repository for the Gentoo + website. + </para> + + <para>You can also use several lists at the same time. Just + add one url per line to the overlays variable in your + configuration file. <command>layman</command> will merge the + contents of all lists. + </para> + + <para><command>layman</command> also allows you to define + local files in this list. Just make sure you prepend these + pathnames in standard URL notation + with <filename>file://</filename>. + </para> + + <para>If you need to use a proxy for access to the internet, + you can use the corresponding variable in + the <command>layman</command> configuration file. Layman + will also respect the <command>http_proxy</command> + environment variable in case you set it. + </para> + + </refsect2> + + <refsect2> + + <title>Local cache</title> + + <para><command>layman</command> stores a local copy of the + fetched remote list. It will be stored in + <filename>/usr/portage/local/layman/cache.xml</filename> + by default. There exists only one such cache file and it + will be overwritten every time you + run <command>layman</command>. + </para> + + </refsect2> + + <refsect2> + + <title>Handling <filename>/etc/make.conf</filename></title> + + <para>Since <command>layman</command> is designed to + automatically handle the inclusion of overlays into your + system it needs to be able to modify + the <command>PORTDIR_OVERLAY</command> variable in your + <filename>/etc/make.conf</filename> file. But + <filename>/etc/make.conf</filename> is a very central and + essential configuration file for a gentoo + system. Automatically modifying this file would be + somewhat dangerous. You can + allow <command>layman</command> to do this by setting + the <command>make_conf</command> variable in the + configuration file to <filename>/etc/make.conf</filename>. + </para> + + <para>A much safer and in fact recommended solution to the + problem is to let <command>layman</command> handle an + external file that only contains + the <command>PORTDIR_OVERLAY</command> variable and is + sourced within the + standard <filename>/etc/make.conf</filename> file. Just add the following line to the end of your + <filename>/etc/make.conf</filename> file: + </para> + + <para>source /usr/portage/local/layman/make.conf</para> + + <para><filename>/usr/portage/local/layman/make.conf</filename> + is the default provided in the layman + configuration. Change this filename in case you decide to + store it somewhere else. + </para> + + <para>The file does not necessarily need to exist at the + beginning. If it is missing, layman will create it for you. + </para> + + <para>There is also no need to remove the + original <command>PORTDIR_OVERLAY</command> variable from + the make.conf file. Layman will simply add new overlays to + this variable and all your old entries will remain in there. + </para> + + </refsect2> + + <refsect2> + + <title>Adding, removing and updating overlays</title> + + <para>Once a remote list of overlays has been fetched, + <command>layman</command> allows to add overlays from the + remote list to your system. The script will try to fetch + the overlay. If this is successful the overlay information + will be copied from the cache to the list of locally + installed overlays. In addition + <command>layman</command> will modify the + <command>PORTDIR_OVERLAY</command> variable to include the + new overlay path. + </para> + + <para>Removing the overlay with <command>layman</command> will + delete the overlay without leaving any traces behind. + </para> + + <para>In order to update all overlays managed by + <command>layman</command> you can run the script with the + <option>--sync ALL</option> option or + the <option>--sync-all</option> flag. + </para> + + </refsect2> + + <refsect2> + + <title>List overlays</title> + + <para><command>layman</command> provides the + <option>--list</option> and <option>--list-local</option> + options to print a list of available respectively + installed overlays. + </para> + + <para> Listing will prepend all fully supported overlays + with a green asterisk, all non-official overlays with a + yellow asterisk and all overlays that you will not be able + to use since you do not have the necessary tools installed + with a red asterisk. + </para> + + <para> In the default mode layman will be strict about + listing overlays and only present you with overlays that + are fully supported. In addition it will complain about + overlays that are missing a description field or a contact + attribute. This type of behaviour has been added with + layman-1.0.7 and if you'd like to return to the old + behaviour you may use the k option flag or set the nocheck + option in the configuration file. + </para> + + </refsect2> + + <refsect2> + + <title>Overlay types</title> + + <para>Currently <command>layman</command> supports overlays that + are exported via <command>rsync</command>, + <command>subversion</command>, <command>bzr</command>, + <command>darcs</command>, <command>git</command>, + <command>mercurial</command> or provided + as <command>tar</command> packages. + </para> + + </refsect2> + + </refsect1> + + <refsect1> + + <title>Actions</title> + + <para>List of possible <command>layman</command> actions.</para> + + <variablelist> + <varlistentry> + <term><option>-f</option></term> + <term><option>--fetch</option></term> + <listitem> + <para>Fetches the remote list of overlays. You will + usually NOT need to explicitely specify this option. The + fetch operation will be performed automatically once you + run the sync, sync-all, or list action. You can prevent + this automatic fetching using the --nofetch option.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-a</option> <replaceable>overlay</replaceable></term> + <term><option>--add</option> <replaceable>overlay</replaceable></term> + <listitem> + <para>Add the given overlay from the cached remote list to + your locally installed overlays. Specify "ALL" to add + all overlays from the remote list.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-d</option> <replaceable>overlay</replaceable></term> + <term><option>--delete</option> <replaceable>overlay</replaceable></term> + <listitem> + <para>Remove the given overlay from your locally installed + overlays. Specify "ALL" to remove all overlays</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-s</option> <replaceable>overlay</replaceable></term> + <term><option>--sync</option> <replaceable>overlay</replaceable></term> + <listitem> + <para>Update the specified overlay. Use "ALL" as + parameter to synchronize all overlays</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-i</option> <replaceable>overlay</replaceable></term> + <term><option>--info</option> <replaceable>overlay</replaceable></term> + <listitem> + <para>Display all available information about the specified overlay.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-S</option></term> + <term><option>--sync-all</option></term> + <listitem> + <para>Update all overlays. Shortcut for -s ALL.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-L</option></term> + <term><option>--list</option></term> + <listitem> + <para>List the contents of the remote list.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-l</option></term> + <term><option>--list-local</option></term> + <listitem> + <para>List the locally installed overlays.</para> + </listitem> + </varlistentry> + + </variablelist> + </refsect1> + + <refsect1> + + <title>Options</title> + + <para>List of available <command>layman</command> options.</para> + + <variablelist> + + <varlistentry> + <term><option>-c</option> <replaceable>path</replaceable></term> + <term><option>--config</option> <replaceable>path</replaceable></term> + <listitem> + <para>Path to an alternative configuration file.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-o</option> <replaceable>url</replaceable></term> + <term><option>--overlays</option> <replaceable>url</replaceable></term> + <listitem> + <para>Specifies the location of additional overlay + lists. You can use this flag several times and the + specified urls will get temporarily appended to the list + of urls you specified in your config file. You may also + specify local file urls by prepending the path with + file://. This option will only append the URL for this + specific layman run - edit your config file to add a URL + permanently. So this is useful for testing purposes. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-n</option></term> + <term><option>--nofetch</option></term> + <listitem> + <para>Prevents <command>layman</command> from + automatically fetching the remote lists of overlays. The + default behaviour for <command>layman</command> is to + update all remote lists if you run the sync, list or + fetch operation.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-k</option></term> + <term><option>--nocheck</option></term> + <listitem> + <para>Prevents <command>layman</command> from checking + the remote lists of overlays for complete overlay + definitions. The default behaviour for layman is to + reject overlays that do not provide a description or a + contact attribute.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-q</option></term> + <term><option>--quiet</option></term> + <listitem> + <para>Makes <command>layman</command> completely quiet. + This option is dangerous: If the processes spawned by + layman when adding or synchronizing overlays require + any input layman will hang without telling you + why. This might happen for example if your overlay + resides in subversion and the SSL certificate of + the server needs acceptance.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-v</option></term> + <term><option>--verbose</option></term> + <listitem> + <para>Makes <command>layman</command> more verbose and + you will receive a description of the overlays you can + download.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-N</option></term> + <term><option>--nocolor</option></term> + <listitem> + <para>Remove color codes from the <command>layman</command> + output.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-Q</option><replaceable>LEVEL</replaceable></term> + <term><option>--quietness</option><replaceable>LEVEL</replaceable></term> + <listitem> + <para>Makes <command>layman</command> less verbose. + Choose a value between 0 and 4 with 0 being completely + quiet. Once you set this below 3, the same warning as + given for --quiet applies.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-p</option><replaceable>LEVEL</replaceable></term> + <term><option>--priority</option><replaceable>LEVEL</replaceable></term> + <listitem> + <para>Use this option in combination with + the <command>--add</command>. It will modify the + priority of the added overlay and thus influence the + order of entries in the make.conf file. The lower the + priority, the earlier in the list the entry will be + mentioned. Use a value between 0 and 100. The default + value is 50.</para> + </listitem> + </varlistentry> + + </variablelist> + + </refsect1> + + <refsect1> + + <title>Examples</title> + + <refsect2> + + <title>Installing an overlay</title> + + <para><userinput>layman -f -a wrobel</userinput></para> + <para>This would add the overlay with the id + <command>wrobel</command> to your list of installed + overlays.</para> + + </refsect2> + + <refsect2> + + <title>Syncing your overlays</title> + + <para><userinput>layman -s ALL</userinput></para> + <para>This updates all overlays</para> + + </refsect2> + + <refsect2> + + <title>Performing several actions at the same time</title> + + <para><userinput>layman -f -a wrobel -a webapps-experimental</userinput></para> + <para>This fetches the remote list and immediately adds two + overlays</para> + + </refsect2> + + </refsect1> + + <refsect1> + + <title>Files</title> + + <variablelist> + + <varlistentry> + <term><filename>/etc/layman/layman.cfg</filename></term> + <listitem> + <para>Configuration file, holding the defaults for + <command>layman</command></para> + </listitem> + </varlistentry> + + </variablelist> + + </refsect1> + + </refentry> + </section> +</article> diff --git a/ebuild/layman-1.0.99.ebuild b/ebuild/layman-1.0.99.ebuild new file mode 100644 index 0000000..f246993 --- /dev/null +++ b/ebuild/layman-1.0.99.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-portage/layman/layman-1.0.10.ebuild,v 1.1 2007/01/09 18:01:15 wrobel Exp $ + +inherit eutils distutils + +DESCRIPTION="A python script for retrieving gentoo overlays." +HOMEPAGE="http://projects.gunnarwrobel.de/scripts" +SRC_URI="http://build.pardus.de/downloads/${PF}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="" +S=${WORKDIR}/${PF} + +DEPEND="" +RDEPEND="" + +pkg_setup() { + if has_version dev-util/subversion && built_with_use dev-util/subversion nowebdav; then + eerror "You must rebuild your subversion without the nowebdav USE flag" + die "You must rebuild your subversion without the nowebdav USE flag" + fi +} + +src_install() { + + distutils_src_install + + dodir /etc/layman + cp etc/* ${D}/etc/layman/ + + doman doc/layman.8 + dohtml doc/layman.8.html + +} + +src_test() { + cd ${S} + einfo "Running layman doctests..." + echo + if ! PYTHONPATH="." ${python} layman/tests/dtest.py; then + eerror "DocTests failed - please submit a bug report" + die "DocTesting failed!" + fi +} + +pkg_postinst() { + einfo "You are now ready to add overlays into your system." + einfo + einfo "layman -L" + einfo + einfo "will display a list of available overlays." + einfo + ewarn "Use the -k switch to also list overlays that are" + ewarn "considered less secure." + einfo + elog "Select an overlay and add it using" + einfo + elog "layman -a overlay-name" + einfo + elog "If this is the very first overlay you add with layman," + elog "you need to append the following statement to your" + elog "/etc/make.conf file:" + elog + elog "source /usr/portage/local/layman/make.conf" + elog + elog "If you modify the 'storage' parameter in the layman" + elog "configuration file (/etc/layman/layman.cfg) you will" + elog "need to adapt the path given above to the new storage" + elog "directory." + einfo + ewarn "Please add the 'source' statement to make.conf only AFTER " + ewarn "you added your first overlay. Otherwise portage will fail." + epause 5 +} diff --git a/etc/Makefile b/etc/Makefile new file mode 100644 index 0000000..4a8c01a --- /dev/null +++ b/etc/Makefile @@ -0,0 +1,4 @@ +list: + scp cache-private.xml root@build.pardus.de:/var/www/localhost/htdocs/downloads/private-overlays.xml + +.PHONY: list diff --git a/etc/cache-private.xml b/etc/cache-private.xml new file mode 100644 index 0000000..d1bf56a --- /dev/null +++ b/etc/cache-private.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" ?> +<layman> + + <overlay + type = "svn" + src = "http://overlays.gentoo.org/svn/dev/wrobel/stable" + name = "wrobel-stable"/> + <overlay + type = "svn" + src = "http://overlays.gentoo.org/svn/dev/wrobel/testing" + name = "wrobel-testing"/> + <overlay + type = "svn" + src = "http://overlays.gentoo.org/svn/dev/wrobel/broken" + name = "wrobel-broken"/> + <overlay + type = "svn" + src = "https://www.gunnarwrobel.de/svn/kolab/ebuilds" + name = "kolab2"/> + <overlay + type = "svn" + src = "https://www.gunnarwrobel.de/svn/kolab-pardus/ebuilds" + name = "kolab-pardus"/> + +</layman> diff --git a/etc/cache.xml b/etc/cache.xml new file mode 100644 index 0000000..2f4759d --- /dev/null +++ b/etc/cache.xml @@ -0,0 +1,531 @@ +<?xml version="1.0" ?> +<layman> + + <overlay + type = "svn" + src = "https://gentopia.gentooexperimental.org/svn/overlay/" + name = "gentopia"> + + <link> + http://gentopia.gentooexperimental.org/ + </link> + + <description> + Purpose + + To provide a smooth, seamlessly functional and enjoyable Gentoo + Desktop experience by following the mantra of "Just Works". + </description> + + </overlay> + + <overlay + type = "tar" + src = "http://svn.gnqs.org/downloads/gentoo-php-overlay.tar.gz" + name = "php"> + + <link> + http://svn.gnqs.org/projects/gentoo-php-overlay/ + </link> + + <description> + The Gentoo PHP Overlay is our testbed for new and improved PHP + packages for Gentoo21. It's a place where Gentoo developers and + users alike can work together on providing Gentoo Linux with the + very best PHP support that there is, for any platform. + </description> + + </overlay> + + <overlay + type = "svn" + src = "https://gentooscience.org/svn/overlay" + name = "science"> + + <link> + https://gentooscience.org/ + </link> + + <description> + The Gentoo Science Overlay is intended as a place to work + outside of the main portage tree on experimental ebuilds. Our + aim is to increase the rate of development of scientific + packages for Gentoo, but ebuilds in this repository are by their + very nature more experimental. If you wish to use them you + should be willing to help test and report bugs. + </description> + + </overlay> + + <overlay + type = "svn" + src = "https://nemesis.fprintf.net/svn/gnome-experimental/" + name = "gnome-experimental"> + </overlay> + + <overlay + type = "rsync" + src = "rsync://rsync.breakmygentoo.net/bmg-main" + name = "break-my-gentoo-main"> + + <link> + http://www.breakmygentoo.net + </link> + + <description> + Nevertheless the name seems to be standing for something other, + "Break My Gentoo" is not just a project to help you destroying your + fine Gentoo-installation. It could, but this is not the main purpose. + We want to provide unstable ebuilds, which have no chance to get into + portage. We want to give technology previews especially focused on + GNOME. + </description> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://rsync.gentoo.de/gentoo-de-ebuilds" + name = "gentoo-de"> + </overlay> + + <overlay + type = "svn" + src = "http://redeeman.kaspersandberg.com/fluidportage/trunk" + name = "fluidportage"> + + <description> + Contains A LOT of *-cvs packages for many things, read the + readme file for more information. + </description> + + </overlay> + + <overlay + type = "svn" + src = "http://catmur.co.uk/svn/repos/gentoo/tree" + name = "ecatmur"> + + <link> + http://catmur.co.uk/gentoo/ + </link> + + <description> + ecatmurs overlay contains a variety of ebuilds: cool applications, + various fixes, version bumps, bleeding-edge code grabs. + </description> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://download.berlios.de/genkdesvn_ftp/stable" + name = "kde-stable"> + + <link> + http://genkdesvn.berlios.de/wiki/index.php/Main_Page + </link> + + <description> + This wiki has been provided as a central place for information + regarding the kde-svn ebuilds. + </description> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://download.berlios.de/genkdesvn_ftp/playground" + name = "kde-experimental"> + + <link> + http://genkdesvn.berlios.de/wiki/index.php/Main_Page + </link> + + <description> + This wiki has been provided as a central place for information + regarding the kde-svn ebuilds. + </description> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://gentoo.zugaina.org/zugaina-portage" + name = "zugaina"> + + <link> + http://gentoo.zugaina.org/ + </link> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://gentoo.xwing.info/xwing-overlay" + name = "xwing"> + </overlay> + + <overlay + type = "rsync" + src = "rsync://rsync.ebuildexchange.org/ebuildexchange" + name = "ebuild-exchange"> + + <link> + http://www.ebuildexchange.org/ + </link> + + <description> + This site tries to provide a new medium of distributing Ebuilds + for the Gentoo Linux Distribution. + </description> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://erazor-zone.de/portage/" + name = "erazor"> + + <link> + http://wiki.erazor-zone.de/wiki:projects:linux:gentoo + </link> + + <description> + erazor provides some ebuilds here. At this point, most of them + are newer that the ones in portage, but be warned, they have not + been tested much and there is no warranty at all. + </description> + + </overlay> + + <overlay + type = "svn" + src = "https://fantoo.ru/svn" + name = "fantoo"> + + <link> + http://fantoo.org/ + </link> + + <description> + Portage Overlay tree of new gentoo based distibution called + Fantoo Linux. Fantoo Linux aims to be bleeding edge and bugfixes + in gentoo upstream. + </description> + + </overlay> + + <overlay + type = "svn" + src = "http://svn.gnqs.org/svn/gentoo-webapps-overlay/experimental" + name = "webapps-experimental"> + + <link> + http://svn.gnqs.org/projects/gentoo-webapps-overlay/ + </link> + + <description> + This is the home of Gentoo's wider collection of ebuilds for + web-based applications. This is where we collect all the ebuilds + submitted to Bugzilla by our users, and make them available in + an easy-to-use overlay for wider testing. + </description> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://gunnarwrobel.de/wrobel-stable" + name = "wrobel-stable"> + + <link> + http://projects.gunnarwrobel.de/ebuilds/wiki/WikiStart + </link> + + <description> + A collection of stable ebuilds from Gunnar Wrobel [wrobel@gentoo.org]. + </description> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://gunnarwrobel.de/wrobel-testing" + name = "wrobel-experimental"> + + <link> + http://projects.gunnarwrobel.de/ebuilds/wiki/WikiStart + </link> + + <description> + A collection of experimental ebuilds from Gunnar Wrobel [wrobel@gentoo.org]. + </description> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://gunnarwrobel.de/kolab2" + name = "kolab2"> + + <link> + http://projects.gunnarwrobel.de/kolab/wiki + </link> + + <description> + Project to allow running Kolab2 on Gentoo. + </description> + + </overlay> + + <overlay + type = "svn" + src = "http://svn.xgl-coffee.org/xgl-coffee/trunk/" + name = "portage-xgl"> + + <link> + http://gentoo-wiki.com/XGL#Checkout_An_Overlay + </link> + + <description> + Xgl is an Xserver that uses OpenGL for its drawing + operations. Together with compiz, an opengl compositing and + window manager, it allows for some cool desktop effects. + + This is the XGL overlay from Hanno Boeck (http://www.hboeck.de) + </description> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://svn.netdomination.org/gentoo-voip" + name = "voip"> + + <link> + http://svn.netdomination.org/gentoo-voip + </link> + + <description> + Voice over IP related ebuilds. + </description> + + </overlay> + + <overlay + type = "rsync" + src = "rsync://kpex.no-ip.org/kpex-media" + name = "kpex-media"> + + <link> + https://kpex.no-ip.org/kpex-media.html + </link> + + <description> + A series of unsupported multimedia ebuilds for Gentoo + portage that are either updated versions, live CVS/SVN + packages, or have updated features not included in the + official portage tree. + </description> + + </overlay> + + <overlay + type = "svn" + src = "https://svn.initng.org/portage/gentoo" + name = "initng"> + + <link> + http://www.initng.org + </link> + + <description> + Initng is a full replacement of the old and in many ways + deprecated sysvinit tool. It is designed with speed in mind + because it does as much as possible asynchronously. In other + words: It will boot your unix-system much faster, and give you + more control and statistics over your system. + </description> + + </overlay> + + <overlay + type = "tar" + src = "http://snigel.no-ip.com/~nxsty/linux/glibc-overlay.tar.bz2" + name = "nxsty-glibc" + category = "sys-libs"> + + <link> + http://forums.gentoo.org/viewtopic-t-435659-start-0-postdays-0-postorder-asc-highlight-nxsty+glibc.html + </link> + + <description> + This overlay provides an enhanced glibc 2.4 ebuild. + </description> + + </overlay> + + <overlay + type = "tar" + src = "http://snigel.no-ip.com/~nxsty/linux/binutils-overlay.tar.bz2" + name = "nxsty-binutils" + category = "sys-devel"> + + <link> + http://forums.gentoo.org/viewtopic-t-435659-start-0-postdays-0-postorder-asc-highlight-nxsty+glibc.html + </link> + + <description> + This overlay provides a supplemental binutils ebuild to the nxsty-glibc overlay. + </description> + + </overlay> + + <overlay + type = "svn" + src = "http://svn.gnqs.org/svn/gentoo-nx-overlay/testing" + name = "nx"> + + <link> + http://svn.gnqs.org/projects/gentoo-nx-overlay/timeline + </link> + + <description> + Overlay for the NX/FreeNX packages for Gentoo. + </description> + + </overlay> + + <overlay + type = "svn" + src = "svn://svn.tuxfamily.org/svnroot/ckpp/proaudio" + name = "pro-audio"> + + <link> + http://forums.gentoo.org/viewtopic-t-427211.html + </link> + + <description> + Evermind's overlay with ebuilds for a lot of pro-audio production + software. + </description> + + </overlay> + + <overlay + type = "svn" + src = "http://svn.italpro.biz/catalyst-portage" + name = "catalystframework"> + + <link> + http://gentoo-wiki.com/HOWTO_Catalyst_Framework + </link> + + <description> + This project tries to provide ebuilds for the great Catalyst MVC + Framework and many of the related Perl modules, plugins, etc. + </description> + + </overlay> + + <overlay + type = "svn" + src = "http://callisto.cs.kun.nl:81/svn/trees/vmware/" + name = "vmware"> + + <link> + http://bugs.gentoo.org/show_bug.cgi?id=122500 + </link> + + <description> + Testing ground for vmware-server and vmware-server-console + ebuilds until they can eventually be committed into portage. + </description> + + </overlay> + + <overlay + type = "svn" + src = "https://www.gentooexperimental.org/svn/java/migration/" + name = "java-migration"> + + <link> + https://projects.gentooexperimental.org/expj/wiki + </link> + + <description> + The current focus of this overlay is on migration to a new build + system which will ultimately allow us to unmask Java 1.5, and be + able to support Java 1.6 when it is released. + </description> + + </overlay> + + <overlay + type = "svn" + src = "https://www.gentooexperimental.org/svn/java/gentoo-java-experimental/" + name = "java-experimental"> + + <link> + https://projects.gentooexperimental.org/expj/wiki + </link> + + <description> + This is the experimental Portage tree for the Gentoo Java + Team. Half-baked ebuilds in-progress will reside it here during + development time, before they are included into the + </description> + + </overlay> + + <overlay + type = "svn" + src = "svn://juffo.org/musicbrainz-overlay" + name = "musicbrainz"> + + <link> + http://juffo.org/proj/musicbrainz-overlay/README.html + </link> + + <description> + This is the Gentoo Portage overlay for the most recent + MusicBrainz packages. + </description> + + </overlay> + + <overlay + type = "svn" + name = "liferea_overlay" + src = "https://82.224.45.203/svn/liferea_overlay" > + + <link> + http://liferea.sourceforge.net/ + </link> + + <description> + Updated ebuilds for newer versions of Liferea + </description> + + </overlay> + + <overlay + type = "svn" + name = "yao" + src = "svn://svn.berlios.de/yao/trunk" > + + <link> + http://developer.berlios.de/projects/yao/ + </link> + + <description> + Yet Another Overlay aims to provide ebuilds for light + applications to allow Gentoo users to maintain a light desktop + without being restricted to the small amount of apps which don't + depend on GNOME or KDE libraries. + </description> + + </overlay> + +</layman> diff --git a/etc/layman.cfg b/etc/layman.cfg new file mode 100644 index 0000000..51f2e70 --- /dev/null +++ b/etc/layman.cfg @@ -0,0 +1,53 @@ +[MAIN] + +#----------------------------------------------------------- +# Path to the config directory + +config_dir: /etc/layman + +#----------------------------------------------------------- +# Defines the directory where overlays should be installed + +storage : /usr/portage/local/layman + +#----------------------------------------------------------- +# Remote overlay lists will be stored here +# layman will append _md5(url).xml to each filename + +cache : %(storage)s/cache + +#----------------------------------------------------------- +# The list of locally installed overlays + +local_list: %(storage)s/overlays.xml + +#----------------------------------------------------------- +# Path to the make.conf file that should be modified by +# layman + +make_conf : %(storage)s/make.conf + +#----------------------------------------------------------- +# URLs of the remote lists of overlays (one per line) or +# local overlay definitions +# +#overlays : http://www.gentoo.org/proj/en/overlays/layman-global.txt +# http://dev.gentoo.org/~wrobel/layman/global-overlays.xml +# http://mydomain.org/my-layman-list.xml +# file:///usr/portage/local/layman/my-list.xml + +overlays : http://www.gentoo.org/proj/en/overlays/layman-global.txt + +#----------------------------------------------------------- +# Proxy support +# +#proxy : http://[user:pass@]www.my-proxy.org:3128 + +#----------------------------------------------------------- +# Strict checking of overlay definitions +# +# Set either to "yes" or "no". If "no" layman will issue +# warnings if an overlay definition is missing either +# description or contact information. +# +nocheck : no diff --git a/overlays/.svn.ignore b/layman/.svn.ignore index 0d20b64..0d20b64 100644 --- a/overlays/.svn.ignore +++ b/layman/.svn.ignore diff --git a/__init__.py b/layman/__init__.py index 792d600..792d600 100644 --- a/__init__.py +++ b/layman/__init__.py diff --git a/action.py b/layman/action.py index b8259a5..b8259a5 100644 --- a/action.py +++ b/layman/action.py diff --git a/config.py b/layman/config.py index d13806f..d13806f 100644 --- a/config.py +++ b/layman/config.py diff --git a/debug.py b/layman/debug.py index 04682dc..04682dc 100644 --- a/debug.py +++ b/layman/debug.py diff --git a/overlay.py b/layman/overlay.py index ffbf32f..ffbf32f 100644 --- a/overlay.py +++ b/layman/overlay.py diff --git a/layman/overlays/.svn.ignore b/layman/overlays/.svn.ignore new file mode 100644 index 0000000..0d20b64 --- /dev/null +++ b/layman/overlays/.svn.ignore @@ -0,0 +1 @@ +*.pyc diff --git a/overlays/__init__.py b/layman/overlays/__init__.py index 792d600..792d600 100644 --- a/overlays/__init__.py +++ b/layman/overlays/__init__.py diff --git a/overlays/bzr.py b/layman/overlays/bzr.py index 8e8bb47..8e8bb47 100644 --- a/overlays/bzr.py +++ b/layman/overlays/bzr.py diff --git a/overlays/cvs.py b/layman/overlays/cvs.py index 95f20ea..95f20ea 100644 --- a/overlays/cvs.py +++ b/layman/overlays/cvs.py diff --git a/overlays/darcs.py b/layman/overlays/darcs.py index 56e6d91..56e6d91 100644 --- a/overlays/darcs.py +++ b/layman/overlays/darcs.py diff --git a/overlays/git.py b/layman/overlays/git.py index 007e841..007e841 100644 --- a/overlays/git.py +++ b/layman/overlays/git.py diff --git a/overlays/mercurial.py b/layman/overlays/mercurial.py index 3def5fc..3def5fc 100644 --- a/overlays/mercurial.py +++ b/layman/overlays/mercurial.py diff --git a/overlays/overlay.py b/layman/overlays/overlay.py index 14aaa94..14aaa94 100644 --- a/overlays/overlay.py +++ b/layman/overlays/overlay.py diff --git a/overlays/rsync.py b/layman/overlays/rsync.py index 18d563f..18d563f 100644 --- a/overlays/rsync.py +++ b/layman/overlays/rsync.py diff --git a/overlays/svn.py b/layman/overlays/svn.py index 5086448..5086448 100644 --- a/overlays/svn.py +++ b/layman/overlays/svn.py diff --git a/overlays/tar.py b/layman/overlays/tar.py index ce89450..ce89450 100644 --- a/overlays/tar.py +++ b/layman/overlays/tar.py diff --git a/tests/dtest.py b/layman/tests/dtest.py index 8f65af1..8f65af1 100644 --- a/tests/dtest.py +++ b/layman/tests/dtest.py diff --git a/tests/testfiles/global-overlays.xml b/layman/tests/testfiles/global-overlays.xml index d770692..d770692 100644 --- a/tests/testfiles/global-overlays.xml +++ b/layman/tests/testfiles/global-overlays.xml diff --git a/tests/testfiles/layman-test.tar.bz2 b/layman/tests/testfiles/layman-test.tar.bz2 Binary files differindex 85ee7fd..85ee7fd 100644 --- a/tests/testfiles/layman-test.tar.bz2 +++ b/layman/tests/testfiles/layman-test.tar.bz2 diff --git a/tests/testfiles/make.conf b/layman/tests/testfiles/make.conf index d32dd16..d32dd16 100644 --- a/tests/testfiles/make.conf +++ b/layman/tests/testfiles/make.conf diff --git a/tests/testfiles/overlays_bug_184449.xml b/layman/tests/testfiles/overlays_bug_184449.xml index c8dff2d..c8dff2d 100644 --- a/tests/testfiles/overlays_bug_184449.xml +++ b/layman/tests/testfiles/overlays_bug_184449.xml diff --git a/utils.py b/layman/utils.py index 239f1b3..239f1b3 100644 --- a/utils.py +++ b/layman/utils.py diff --git a/version.py b/layman/version.py index c740a18..c740a18 100644 --- a/version.py +++ b/layman/version.py diff --git a/setup.py b/setup.py new file mode 100755 index 0000000..9c50c54 --- /dev/null +++ b/setup.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python + +import sys + +from distutils.core import setup + +# this affects the names of all the directories we do stuff with +sys.path.insert(0, './') +from layman.version import VERSION + + +setup(name = 'layman', + version = VERSION, + description = 'Python script for retrieving gentoo overlays', + author = 'Gunnar Wrobel', + author_email = 'wrobel@gentoo.org', + url = 'http://projects.gunnarwrobel.de/scripts', + packages = ['layman', 'layman.overlays'], + scripts = ['bin/layman'], + license = 'GPL', + ) |