public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: Perl 5.22.1 integration
Date: Sun, 13 Mar 2016 14:57:50 +0000	[thread overview]
Message-ID: <1457881070.1912.14.camel@ipfire.org> (raw)
In-Reply-To: <2dc0e87037ab4108fb3f6855a983c8a8@mail01.ipfire.org>

[-- Attachment #1: Type: text/plain, Size: 14286 bytes --]

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  <info(a)ipfire.org>        
> > >     
> > >     
> > >       #
> > > #                                                                
> > >     
> > >     
> > >       #
> > > # 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 <http://www.gnu.org/licen
> > > 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

       reply	other threads:[~2016-03-13 14:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2dc0e87037ab4108fb3f6855a983c8a8@mail01.ipfire.org>
2016-03-13 14:57 ` Michael Tremer [this message]
     [not found] <56CE9B4B.9020402@oab.de>
2016-02-25  6:18 ` Michael Tremer
     [not found] <2f3e4f1796e9f68ba2c62b8d3f7dbc29@mail01.ipfire.org>
2016-02-24  7:08 ` Marcel Lorenz
2016-02-25  5:58   ` Michael Tremer
2016-05-27 14:57   ` 5p9
2016-05-28  7:52     ` Marcel Lorenz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1457881070.1912.14.camel@ipfire.org \
    --to=michael.tremer@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox