[commits] [Wiki] changed: Project/NoMorePear

Wiki Guest wikiguest at horde.org
Thu Jan 23 22:11:51 UTC 2020


guest [176.43.215.160]  Thu, 23 Jan 2020 22:11:51 +0000

Modified page: https://wiki.horde.org/Project/NoMorePear
New Revision:  17
Change log:  Hacked_By_Foker

@@ -1,193 +1,104 @@
-[[toc]]
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>THT/Foker</title>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Web Page Maker (unregistered version)">
+<style type="text/css">
+/*----------Text Styles----------*/
+.ws6 {font-size: 8px;}
+.ws7 {font-size: 9.3px;}
+.ws8 {font-size: 11px;}
+.ws9 {font-size: 12px;}
+.ws10 {font-size: 13px;}
+.ws11 {font-size: 15px;}
+.ws12 {font-size: 16px;}
+.ws14 {font-size: 19px;}
+.ws16 {font-size: 21px;}
+.ws18 {font-size: 24px;}
+.ws20 {font-size: 27px;}
+.ws22 {font-size: 29px;}
+.ws24 {font-size: 32px;}
+.ws26 {font-size: 35px;}
+.ws28 {font-size: 37px;}
+.ws36 {font-size: 48px;}
+.ws48 {font-size: 64px;}
+.ws72 {font-size: 96px;}
+.wpmd {font-size: 13px;font-family:  
Arial,Helvetica,Sans-Serif;font-style: normal;font-weight: normal;}
+/*----------Para Styles----------*/
+DIV,UL,OL /* Left */
+{
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+</style>

-+ No More Pear: Move to composer
+<script language="JavaScript1.4" type="text/javascript">
+<!--
+function jsPlay(soundobj) {
+ var thissound= eval("document."+soundobj);
+ try {
+     thissound.Play();
+ }
+ catch (e) {
+     thissound.DoPlay();
+ }
+}
+//-->
+</script>

-Remove any hard runtime or installation dependency on pear and pearisms
+<script language="javascript" type="text/javascript">
+<!--
+function MM_swapImgRestore() {
+  var i,x,a=document.MM_sr;  
for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
+}

-++ Bugs
+function MM_preloadImages() {
+  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0;  
i<a.length; i++)
+    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+}

-List any tickets on http://bugs.horde.org/ that cover this issue or  
are relevant to it.
+function MM_findObj(n, d) {
+  var p,i,x;  if(!d) d=document;  
if((p=n.indexOf("?"))>0&&parent.frames.length) {
+    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
+  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++)  
x=d.forms[i][n];
+  for(i=0;!x&&d.layers&&i<d.layers.length;i++)  
x=MM_findObj(n,d.layers[i].document);
+  if(!x && d.getElementById) x=d.getElementById(n); return x;
+}

-++ People
+function MM_swapImage() {
+  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array;  
for(i=0;i<(a.length-2);i+=3)
+   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc)  
x.oSrc=x.src; x.src=a[i+2];}
+}

-Ralf Lang
+//-->
+</script>

-++ Description
+</head>
+<body bgColor="#000000">
+<div id="image1" style="position:absolute; overflow:hidden; left:0px;  
top:0px; width:883px; height:521px; z-index:0"><img  
src="https://i.hizliresim.com/dL1V0Q.jpg" alt="" title="" border=0  
width=883 height=521></div>

-The PHP ecosystem has increasingly moved from pear to composer as the  
default installer. The changed paradigm (global versus local  
dependency management) attracts many users and developers.
+<div id="image2" style="position:absolute; overflow:hidden;  
left:851px; top:100px; width:319px; height:319px; z-index:1"><img  
src="https://i.hizliresim.com/AO9l6Q.jpg" alt="" title="" border=0  
width=319 height=319></div>

-+++ Runtime dependencies
+<div id="marquee1" style="position:absolute; overflow:hidden;  
left:0px; top:521px; width:1142px; height:42px; z-index:2">
+<marquee width="1142" height="42">
+<div class="wpmd">
+<div align=center><font color="#FFFFFF" face="Consolas" class="ws20"  
style="background-color:#000000;"><B>HACKED BY </B></font><font  
color="#FF0000" face="Consolas" class="ws20"  
style="background-color:#000000;"><B>FOKER</B></font><font  
color="#FFFFFF" class="ws20"  
style="background-color:#000000;"><B>  // www.</B></font><font  
color="#FF0000" class="ws20"  
style="background-color:#000000;"><B>t</B></font><font color="#FFFFFF"  
class="ws20" style="background-color:#000000;"><B>urk</B></font><font  
color="#FF0000" class="ws20"  
style="background-color:#000000;"><B>h</B></font><font color="#FFFFFF"  
class="ws20" style="background-color:#000000;"><B>ack</B></font><font  
color="#FF0000" class="ws20"  
style="background-color:#000000;"><B>t</B></font><font color="#FFFFFF"  
class="ws20"  
style="background-color:#000000;"><B>eam.org</B></font></div>
+</div></marquee>
+</div>

-++++ horde-db-migrate and web migrator
+<div id="image3" style="position:absolute; overflow:hidden;  
left:510px; top:847px; width:315px; height:315px; z-index:3"><img  
src="https://i.hizliresim.com/QP6dWr.png" alt="" title="" border=0  
width=315 height=315></div>

-horde-db-migrate "forgets" to migrate or even acknowledge libraries  
in git checkouts where the pear channel is not present.
-https://github.com/horde/Core/pull/2
+<div id="nav10d" style="position:absolute; left:603px; top:1152px;  
z-index:4"><a onMouseOut="MM_swapImgRestore()"  
onMouseOver="MM_swapImage('nav10','','images/nav2890854840a.gif',1)"  
href="https://www.turkhackteam.org"><img name="nav10"  
onLoad="MM_preloadImages('images/nav2890854840a.gif')" alt="" border=0  
src="images/nav2890854840i.gif"></a></div>

-++++ l10n/translation tools?
+<div id="nav20d" style="position:absolute; left:603px; top:1183px;  
z-index:5"><a onMouseOut="MM_swapImgRestore()"  
onMouseOver="MM_swapImage('nav20','','images/nav2900507180a.gif',1)"  
href="https://www.youtube.com/watch?v=MdgIHIgzqYA"><img name="nav20"  
onLoad="MM_preloadImages('images/nav2900507180a.gif')" alt="" border=0  
src="images/nav2900507180i.gif"></a></div>

+<script language="javascript"  
src="http://ir.sitekodlari.com/sagtusengelleme1.js"></script>

-+++ Document .horde.yml format and how it relates to composer json  
and pear xml
+<param name="movie"  
value="https://www.youtube.com/v/watch?v=cot4mkWrHUA&autoplay=1">
+<embed  
src="https://www.youtube.com/v/watch?v=cot4mkWrHUA&autoplay=1?rel=0&controls=0&showinfo=0&loop=1&hd=1&modestbranding=1&enablejsapi=1&playerapiid=ytplayer" type="application/x-shockwave-flash" height="1"  
width="1"></object>

-See ((Doc/Dev/HordeYmlFormat|Developer Doc on .horde.yml format)) for  
both original format and proposed additions.
+</body>
+</html>

-
-+++ Installation
-
-++++ Generate composer json file from .horde.yml
-
-
-[DONE] components/lib/Helper/Composer.php currently depends on  
conductor and gets its data from package.xml
-anything handling package.xml is broken without pear though. Always  
need to register the horde channel
-
-[DONE] rewrite all pear.horde.org dependencies to vcs type  
dependencies github/horde/
-
-https://github.com/horde/components/pull/3
-
-Other resources
-Do we want to keep a whitelist of other channels/packages which  
should be pulled from packagist or github rather than pear?
-
-++++ Composer plugin: install apps below base rather than vendor/
-
-(we don't want /vendor/ web-readable)
-[DONE] horde apps are type "horde-application" and get installed to  
/$appname or base/appname
-Installing/updating an app should clear cache and autoloader cache
-[DONE] Check if the app provides a registry snippet in /doc/registry.d/
-[DONE] write horde.local.php if necessary
-[WONTDO SEE BELOW] installing base should provide some initialization
-[DONE] The installer allows the deployment/bundle to provide pre-made  
configs for horde and apps
-
-++++ Composer plugin: copy, move or link js content from libraries to  
horde/js
-[DONE] horde libs are type "horde-library" and get installed to  
/vendor/Horde/Foo
-[DONE] js/ dir content of horde-library packages and the horde base  
app are copied or linked to web/js/
-[DONE] automatically rewrite registry path of hordeJs fileroot and  
webroot to web/js/
-
-+++ Packagist
-
-Add tool chain to create and update packages on packagist for easier  
consumption.
-
-+++ Autoloading and fixed loading
-++++ Examining horde base bootstrapping:
-
-
-[NO TODO] horde/horde/index.php require_once lib/Application
-[NO TODO]Horde/Application.php require_once core.php
-[DONE] core.php checks for horde.local.php  -- composer installer  
will write necessary autoloading instructions there.
-[DONE] Either include_once Horde/Autoloader/Cache.php or require_once  
Horde/Autoloader/Default.php - fixed by adding a search path
-
-++++ Examining nag bootstrapping:
-horde/nag/index.php and other client pages require_once  
nag/lib/Application.php
-nag probes for horde_dir (either info from horde.local.php or  
directory above nag dir)
-finally load (hordedir)/lib/core.php
-
--> both in base and apps, we can edit horde.local.php for hinting and  
autoloader ultimately comes from horde/lib/core.php
-
-++++ Issues with Horde_Autoloader_Default and Horde_Autoloader_Cache
-
-Horde_Autoloader_Default has unconditional require_onces
-Horde_Autoloader_Default registers unconditionally when loaded
-Horde_Autoloader_Cache requires/registers Horde_Autoloader_Default  
unconditionally
-
-[DONE] Fixed by providing suitable search paths in horde.local.php
-
-++++ Examining git-tools as a composer-native app:
-
-git-tools binary detects the composer autoloader entrypoint  
vendor/autoload.php and require_once it.
-the composer autoloader is configured to provide a psr-4 autoloader  
for the \\Horde\\GitTools namespace to ./lib
-
-++++ PSR-0, db migrations, classmaps and packages
-
-Most horde library packages are simple to map to the psr-0 autoloader.
-Package Horde_Foo would have all its classes in lib/Horde/Foo.
-
-Some packages though have class names you would not expect from the  
package name
-Horde_Core has Horde_ErrorHandler & friends
-Horde_Form has multiple classes in one file
-Horde_Util has Horde_String
-
-These either need to be scanned for additional mappings or need  
"classmap" style autoload hints.
-[UNSURE] Unit tests should be marked as autoload-dev (root package  
only autoloads)
-[DONE] migrations should be autodetected by the composer writer.
-[DONE] special case classmaps should be hinted by .horde.yml
-
-
-++++ Horde_Test
-Horde_Test bundles phpunit. A Horde Library uses a copy of  
boilerplate code from horde_test to initialize autoloading. This  
boilerplate makes some PEARish assumptions (universal include hierarchy)
-
-This pull request offers a new template and fixes other unconditional  
require_once instances https://github.com/horde/Test/pull/1
-This should hopefully work for PEAR installs, composer installs and  
full git checkouts just the same.
-
-[DONE] Running the unit tests via the components app, when installed  
into a composer deployment, is also possible without fixing AllTests &  
friends.
-
-++ Proof of concept
-
-There is a proof of concept in https://github.com/maintaina-com
-This proof of concept includes all software patches which are part of  
this effort
-
-+++ components and git-tools
-In this project, the components tool is used via git-tools as a  
frontend or as an installed app via composer exec horde-components.
-
-Various patches have been applied. Most relevant is a rewrite of the  
Components_Helper_Composer class.
-
-This class now writes a thoroughly different composer file than  
before and it takes its data from .horde.yml
-rather than package.xml
-
-To generate a new composer.json file for an app, run
-
-<code>
-composer exec -v horde-components web/$app/ composer
-</code>
-
-To generate a new composer.json file for a library, run
-
-<code>
-composer exec -v horde-components vendor/horde/$lib composer
-</code>
-
-Mind providing a useful config for horde-components first
-
-config options govern
-- if we want to build against dev-master dependencies or dependencies  
using the horde.yml version constraints
-- if we assume all packages live on packagist, in a shared satis repo  
or a per-library git location
-- how to translate non-horde pear dependencies into packagist  
dependencies (otherwise, pear channels will be used)
-
-++++ components release command
-
-The components release command needs some additions to make this practical
-
-* [TODO] The composer file needs to be written with different options  
twice: It should use dev-master requirements in the master branch, but  
use versioned requirements as stated in the composer yaml file when  
writing a tagges release
-* [TODO] There should be configureable hooks to either trigger a  
satis rewrite or a packagist upload
-* [TODO] An easy way to perform downstream/inhouse releases omitting  
PEAR related stuff or upstream horde specific steps like updating the  
bug tracker. This should not involve lenghty command lines.
-
-++++ Known issues
-
-There is currently a problem with discerning commandline options (-X  
and --something) for the composer exec command from those for the  
components cli.
-https://github.com/composer/composer/issues/5632
-
-If your use case depends on using these switches (most notoriously,  
--depend), run the command instead using ./vendor/bin/horde-components  
...
-
-+++ Core, Base and Autoloader
-Several patches were needed in places where horde just assumed files  
to always be in a certain location.
-Most of these patches SHOULD NOT break git dev installs or pear  
installs - testing was very limited
-
-Other relevant changes were detection of migration files in  
Horde_Core_Db_Migration and handling of Horde_Controller routes in
- lib/Horde/Core/Controller/RequestMapper.php
-
-+++ Test
-
-The Horde_Test suite had some hardcoded requires which were made condidional.
-
-+++ Other libraries
-
-Unmentioned libraries SHOULD only have been modified by replacing the  
master branch composer file
-
-
-+++
-
-++ Resources
-
-https://getcomposer.org/doc/articles/custom-installers.md composer  
notes on custom installers and plugins
-https://github.com/composer/installers multi-framework collection of  
installers
-https://github.com/maglnet/ComposerRequireChecker Tool to find direct  
usage of indirect dependencies (Ensure you directly require all  
dependencies whose classes are referenced in own code)
-
-----
-Back to the ((Project|Project List))



More information about the commits mailing list