Hi, On Thu, 2016-02-25 at 08:24 +0100, Marcel Lorenz wrote: > Hi, > > I will make it as you want. But what speaks against complete modules  > packages as update via Pakfire offer. For example, "Perl Modules  > package-Dec-2015". Within the modules, there are unfortunately many  > dependencies. As a package that would be completely circumnavigated.  * Simplicity * You cannot rebuild only one package * You cannot only update one package (and rebuild that) * Smaller rootfiles * For each change you have to ship all modules (this is the reason why we have packages in the first place) * Basically we like dependencies. It is just a very shitty implementation in the build system of IPFire 2. * You concept would also remove the concept of being able to only install some modules when they are needed. > Since no one has single track, I do not have more. Since've fought me > me  > "trail and error" by. Those are mine experience when I started it. > My  > two Perl test files are around 6MB per package. All together, > modules  > with Perl itself about 16-17 MB as one package. -Michael P.S. Don't forget to CC the list > Greetings, > Marcel Lorenz > > Am 2016-02-25 06:58, schrieb Michael Tremer: > > > > Hi, > > > > I would like to see us updating perl. However, we cannot under any > > circumstances put all the modules in a single LFS file. That makes > > rebuilding one module impossible and basically is against the > > approach > > of having packages. > > > > So if you update them, please do that individually. Start with perl > > itself, then all the other modules. Please do that in one branch as > > individual commits and send this all together as a patchset. > > > > Please work closely with this list to review any problems on the > > way. > > It is not really helpful to push a too big patchset. Unfortunately > > we > > are already at a state where nobody reviewed all the other patches > > that > > you and other people have sent on this list. > > > > Best, > > -Michael > > > > On Wed, 2016-02-24 at 08:08 +0100, Marcel Lorenz wrote: > > > > > > Hi, > > > > > > i will start a discussion for the integration of Perl 5.22.x > > > into  > > > IPFire. > > > I have been working for over half a year on the files. > > > > > > My motivation came from the use of SpamAssassin. This application > > > is  > > > written in Perl. The old Perl modules from IPFire are as a > > > security  > > > risk. > > > > > > First i update the Perl LFS and rootfile only. All the other > > > Perl  > > > modules remain old. > > > I began individual modules to update, but it was very expensive. > > > > > > Since I had the idea to take all modules to one or two LFS > > > together.  > > > This has the advantage that all individual Perl modules > > > disappear  > > > make.sh from and this is clearly shorter. The two LFS files and > > > the  > > > associated Rootfiles are also easier to maintain. The individual > > > Perl  > > > modules in Pakfire can then also be removed. Perl is always > > > complete > > > and  > > > up to date with its modules. In my mailserver branch I have this  > > > development as far finished. However, I had the modules-LFS > > > divided > > > into  > > > two files because make is having trouble with to large LFS files. > > > > > > Also have Perl 5.22.1 integrated into the toolchain. The need > > > still  > > > less, gdbm and berkeley DB4 before. > > > > > > I created three files from the many Perl files: > > > perl-buildtools > > > perl-modules1 > > > perl-modules2 > > > > > > The current folder size of /usr/lib/perl5 is about 75MB with Perl > > > 5.22.1  > > > and all modules and 55Mb with Perl 5.12.3. A Perl-Modules list > > > can > > > be  > > > found here: http://people.ipfire.org/~mlorenz/mp/22/perl.txt > > > This  > > > includes all needed modules for Amavisd, all from Pakfire and > > > many > > > more.  > > > All updated to the latest version from CPAN (December 2015) > > > > > > Here the perl-buildtools LFS with the current modules from CPAN > > > as > > > an  > > > example. > > > The modules included are needed around the other current Perl > > > modules > > > to  > > > build: > > > > > > ################################################################# > > > #### > > > ########## > > > #                                                                 > > >      > > >      > > >       # > > > # IPFire.org - A linux based > > > firewall                                     > > >       # > > > # Copyright (C) 2007-2015  IPFire Team           > > >      > > >      > > >       # > > > #                                                                 > > >      > > >      > > >       # > > > # 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 3 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, see > > ses/ > > > > > > > > .   > > >       # > > > #                                                                 > > >      > > >      > > >       # > > > ################################################################# > > > #### > > > ########## > > > > > > ################################################################# > > > #### > > > ########## > > > # Definitions > > > ################################################################# > > > #### > > > ########## > > > > > > include Config > > > > > > VER        = 2015.10 > > > > > > THISAPP    = perl-buildtools-$(VER) > > > DL_FILE    = $(THISAPP).tar.gz > > > DL_FROM    = $(URL_IPFIRE) > > > DIR_APP    = $(DIR_SRC)/$(THISAPP) > > > TARGET     = $(DIR_INFO)/$(THISAPP) > > > PROG       = perl-buildtools > > > DEPS       = "perl" > > > PAK_VER    = 1 > > > > > > ################################################################# > > > #### > > > ########## > > > # Top-level Rules > > > ################################################################# > > > #### > > > ########## > > > > > > objects = ExtUtils-Constant-0.23.tar.gz \ > > > ExtUtils-MakeMaker-7.10.tar.gz \ > > > ExtUtils-Manifest-1.70.tar.gz \ > > > Module-Build-0.4214.tar.gz \ > > > Module-Metadata-1.000027.tar.gz \ > > > Perl-OSType-1.009.tar.gz \ > > > Test-Deep-0.119.tar.gz \ > > > Test-Simple-1.001014.tar.gz \ > > > version-0.9912.tar.gz > > > > > > ExtUtils-Constant-0.23.tar.gz        =  > > > $(DL_FROM)/ExtUtils-Constant-0.23.tar.gz > > > ExtUtils-MakeMaker-7.10.tar.gz       =  > > > $(DL_FROM)/ExtUtils-MakeMaker-7.10.tar.gz > > > ExtUtils-Manifest-1.70.tar.gz        =  > > > $(DL_FROM)/ExtUtils-Manifest-1.70.tar.gz > > > Module-Build-0.4214.tar.gz           =  > > > $(DL_FROM)/Module-Build-0.4214.tar.gz > > > Module-Metadata-1.000027.tar.gz      =  > > > $(DL_FROM)/Module-Metadata-1.000027.tar.gz > > > Perl-OSType-1.009.tar.gz             =  > > > $(DL_FROM)/Perl-OSType-1.009.tar.gz > > > Test-Deep-0.119.tar.gz               = $(DL_FROM)/Test-Deep- > > > 0.119.tar.gz > > > Test-Simple-1.001014.tar.gz          =  > > > $(DL_FROM)/Test-Simple-1.001014.tar.gz > > > version-0.9912.tar.gz                = $(DL_FROM)/version- > > > 0.9912.tar.gz > > > > > > ExtUtils-Constant-0.23.tar.gz_MD5    = > > > bd3ec6d22ffab7e5cc05b1331a888d15 > > > ExtUtils-MakeMaker-7.10.tar.gz_MD5   = > > > 2639a21adee5e0a903730c12dcba08ec > > > ExtUtils-Manifest-1.70.tar.gz_MD5    = > > > 8ccb9c1f3bca14c117a74bc7b43be095 > > > Module-Build-0.4214.tar.gz_MD5       = > > > 7b7ca5a47bef48c50c8b5906ca3ac7fb > > > Module-Metadata-1.000027.tar.gz_MD5  = > > > a0bf9b900dfd49c57702de3ee3801d42 > > > Perl-OSType-1.009.tar.gz_MD5         = > > > 9e0cae3812bc80815f00732bde1b7e61 > > > Test-Deep-0.119.tar.gz_MD5           = > > > edb72e9b1874efe3b0c95324fb063e51 > > > Test-Simple-1.001014.tar.gz_MD5      = > > > db7f57fd595e3e1c93c972307a88fa6e > > > version-0.9912.tar.gz_MD5            = > > > 404a7174f3e38e4f8fad3e1eefce5412 > > > > > > install : $(TARGET) > > > check : $(patsubst %,$(DIR_CHK)/%,$(objects)) > > > download :$(patsubst %,$(DIR_DL)/%,$(objects)) > > > md5 : $(subst %,%_MD5,$(objects)) > > > dist: > > > @$(PAK) > > > > > > ################################################################# > > > #### > > > ########## > > > # Downloading, checking, md5sum > > > ################################################################# > > > #### > > > ########## > > > > > > $(patsubst %,$(DIR_CHK)/%,$(objects)) : > > > @$(CHECK) > > > > > > $(patsubst %,$(DIR_DL)/%,$(objects)) : > > > @$(LOAD) > > > > > > $(subst %,%_MD5,$(objects)) : > > > @$(MD5) > > > > > > ################################################################# > > > #### > > > ########## > > > # Installation Details > > > ################################################################# > > > #### > > > ########## > > > > > > $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) > > > @$(PREBUILD) > > > cd $(DIR_SRC) && tar zxf $(DIR_DL)/Perl-OSType-1.009.tar.gz > > > cd $(DIR_SRC)/Perl-OSType-1.009 && perl Makefile.PL > > > cd $(DIR_SRC)/Perl-OSType-1.009 && make $(MAKETUNING) > > > cd $(DIR_SRC)/Perl-OSType-1.009 && make install > > > @rm -rf $(DIR_SRC)/Perl-OSType-1.009 > > > cd $(DIR_SRC) && tar zxf $(DIR_DL)/version-0.9912.tar.gz > > > cd $(DIR_SRC)/version-0.9912 && perl Makefile.PL > > > cd $(DIR_SRC)/version-0.9912 && make $(MAKETUNING) > > > cd $(DIR_SRC)/version-0.9912 && make install > > > @rm -rf $(DIR_SRC)/version-0.9912 > > > cd $(DIR_SRC) && tar zxf $(DIR_DL)/Module-Metadata- > > > 1.000027.tar.gz > > > cd $(DIR_SRC)/Module-Metadata-1.000027 && perl Makefile.PL > > > cd $(DIR_SRC)/Module-Metadata-1.000027 && make $(MAKETUNING) > > > cd $(DIR_SRC)/Module-Metadata-1.000027 && make install > > > @rm -rf $(DIR_SRC)/Module-Metadata-1.000027 > > > cd $(DIR_SRC) && tar zxf $(DIR_DL)/Module-Build-0.4214.tar.gz > > > cd $(DIR_SRC)/Module-Build-0.4214 && perl Makefile.PL > > > cd $(DIR_SRC)/Module-Build-0.4214 && make $(MAKETUNING) > > > cd $(DIR_SRC)/Module-Build-0.4214 && make install > > > @rm -rf $(DIR_SRC)/Module-Build-0.4214 > > > cd $(DIR_SRC) && tar zxf $(DIR_DL)/Test-Deep-0.119.tar.gz > > > cd $(DIR_SRC)/Test-Deep-0.119 && perl Makefile.PL > > > cd $(DIR_SRC)/Test-Deep-0.119 && make $(MAKETUNING) > > > cd $(DIR_SRC)/Test-Deep-0.119 && make install > > > @rm -rf $(DIR_SRC)/Test-Deep-0.119 > > > cd $(DIR_SRC) && tar zxf $(DIR_DL)/Test-Simple-1.001014.tar.gz > > > cd $(DIR_SRC)/Test-Simple-1.001014 && perl Makefile.PL > > > cd $(DIR_SRC)/Test-Simple-1.001014 && make $(MAKETUNING) > > > cd $(DIR_SRC)/Test-Simple-1.001014 && make install > > > @rm -rf $(DIR_SRC)/Test-Simple-1.001014 > > > cd $(DIR_SRC) && tar zxf $(DIR_DL)/ExtUtils-Constant- > > > 0.23.tar.gz > > > cd $(DIR_SRC)/ExtUtils-Constant-0.23 && perl Makefile.PL > > > cd $(DIR_SRC)/ExtUtils-Constant-0.23 && make $(MAKETUNING) > > > cd $(DIR_SRC)/ExtUtils-Constant-0.23 && make install > > > @rm -rf $(DIR_SRC)/ExtUtils-Constant-0.23 > > > cd $(DIR_SRC) && tar zxf $(DIR_DL)/ExtUtils-MakeMaker- > > > 7.10.tar.gz > > > cd $(DIR_SRC)/ExtUtils-MakeMaker-7.10 && perl Makefile.PL > > > cd $(DIR_SRC)/ExtUtils-MakeMaker-7.10 && make $(MAKETUNING) > > > cd $(DIR_SRC)/ExtUtils-MakeMaker-7.10 && make install > > > @rm -rf $(DIR_SRC)/ExtUtils-MakeMaker-7.10 > > > cd $(DIR_SRC) && tar zxf $(DIR_DL)/ExtUtils-Manifest- > > > 1.70.tar.gz > > > cd $(DIR_SRC)/ExtUtils-Manifest-1.70 && perl Makefile.PL > > > cd $(DIR_SRC)/ExtUtils-Manifest-1.70 && make $(MAKETUNING) > > > cd $(DIR_SRC)/ExtUtils-Manifest-1.70 && make install > > > @rm -rf $(DIR_SRC)/ExtUtils-Manifest-1.70 > > > @$(POSTBUILD) > > > > > > That would be my suggestion for integration of Perl 5.22.1. On > > > request,  > > > I can create big patches and send it to the mailing list. Perl > > > 5.22.x  > > > works are in several months generated by my ISO's unremarkable. > > > It > > > is  > > > known that a few startup scripts need to be adjusted (amavisd). > > > > > > Please forgive me my simple English... Google translator helped > > > me. > > > :) > > > > > > Greetings, > > > Marcel Lorenz