Solved

Slackware10 package rebuild

Posted on 2006-06-21
4
263 Views
Last Modified: 2013-12-16
I'm running Slackware10 on 4 servers, and up until now the standard pkg releases have been fine. But I'm needing to enable curl in php and needless to say I'm having a difficult time finding out what I'm doing wrong in rebuilding the php module.

I've downloaded the *patched* source file(s) to php and pine (a requirement evedentully) into a unique directory. (tar'd)

modified php.Slackbuild to enable curl (--with-curl=/usr \)
and ran sh php.Slackbuild

Files and folders are created in /tmp but when compared to the standard php pkg they're light (missing allot of files)

I'm sure I'm messing up somewhere, but can't figure out what's wrong.

I'm looking to see if anybody has a "easy to follow" tuturial on doing this including steps and required files.

Many thanks in advance
0
Comment
Question by:kenfcamp
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 14

Author Comment

by:kenfcamp
ID: 16957392
I got it

0
 
LVL 3

Expert Comment

by:bryanlloydharris
ID: 16957865
Can you tell what the solution was?
0
 
LVL 14

Accepted Solution

by:
kenfcamp earned 0 total points
ID: 16960535
I was working on that ;)

Rebuilding Slackware10 Packages
For what ever reason this subject has no useful how-to's so I figured I'd share one.

These steps are for rebuilding the Slackware10 php package to include curl, however the methods will (should) work with any package.


Step1: Create a directory to store your build files
This directory can be anywhere and named anything. For this howto the directory will be /tmp/builds
"mkdir /tmp/builds"

Step2: Create your package directory
"mkdir /tmp/builds/php"

Step3: go to http://www.slackware.com/getslack/ and select your country and download location

Step4: Select Slackware10.0/patches/source/php
"Using the patch sources will ensure you utilized sources containing current security fixes"

Download all the files into "/tmp/builds/php". If there are additional directories you will need to create those directories and download the contents into the appropriate locations. At the time of writing this, there was a pear directory so you would run "mkdir /tmp/builds/php/pear/" and download the contents of the pear directory into that location.

The PHP package also requires the Pine package to compile
Create a pine directory outside of the php directory "mkdir /tmp/builds/pine"
Select "Slackware10/patches/source/pine" and download the contents into your newly created pine directory.

Step5: build the dependency packages (pine)
as root (su) enter /tmp/builds/pine and run sh pine.SlackBuild.
You will see file listing scroll past. You will or should also see compile statements scroll pass this is a good thing. When done you are ready for the next step.

However if you get an error run "sh pine.SlackBuild 2>&1 | tee build.out". This will dump the output of the build process into a file. Review the file for errors. These errors should give you a hint as to what the problem is and how to fix them.

Step6: build the php package.
As root enter /tmp/builds/php
open php.SlackBuild in your text editor of choice.
locate the following lines (13 - 14)

VERSION=4.3.11
PINE=4.64

***IMPORTANT***
It is very important that the "VERSION" number is the same as the php source file "php-4.3.11.tar.bz2"
It is very important that the "PINE" version is the same as the source pine file "ls ../pine" "pine4.64.tar.bz2"
"IF" they are not, change "VERSION" and or "PINE" to reflect the proper version numbers.

Scroll down a little further and you will see ;

  --with-zlib=/usr
  # --with-mod_charset    # only for Russian patched Apache
  # --with-readline=/usr  # this is only for the CGI version
  # --with-ttf            # this links with the shlib, need X for that
  # --with-java           # no thanks
  # --with-dom            # requires libxml >= 2.2.7
  # --with-curl           # no requests for this, so we'll avoid the dependancy

Make the following changes to the above:

  --with-zlib=/usr \
  # --with-mod_charset    # only for Russian patched Apache
  # --with-readline=/usr  # this is only for the CGI version
  # --with-ttf            # this links with the shlib, need X for that
  # --with-java           # no thanks
  # --with-dom            # requires libxml >= 2.2.7
  --with-curl=/usr

It is important that "--with-zlib" gets the trailing slash and --with-curl does not

Once the changes have been made, save your changes.

Step7 Build the revised php package
run "sh php.SlackBuild". You will see file listings and large amounts of compile statements scroll past.
when finished you are ready for the last step

If you don't see compile reports/statements something went wrong..
run sh php.SlackBuild 2>&1 | tee build.out and review the resulting file "build.out" to locate any errors.

Step8 Upgradepkg

go into /tmp and you will find "php-4.3.11-i486-3.tgz" *the file version may be different over time
I suggest before upgrading you rename the file like "mv php-4.3.11-i486-3.tgz php-4.3.11-i486-3b.tgz"
and download the provided file incase you need to revert back to it

Follow the download instructions but instead of going to the sources directory go to the packages directory
and download the current package "php-4.3.11-i486-3.tgz" *the file version may be different over time

Once done as root
run "upgradepkg php-4.3.11-i486-3b.tgz"
when the upgrade is complete run "apachectl restart"

if this for whatever reason fails, or you want to go back to the original php configuration upgrade to the original file you downloaded a few moments ago "upgradepkg php-4.3.11-i486-3.tgz
apachectl restart"


Congratulations, you're Done :)

0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
HOw To Install Docker on VMware Workstation 19 632
Disabling security updates Ubuntu 3 66
Ubuntu don’t allow SU command in terminal 7 122
RPM creation 6 48
rdate is a Linux command and the network time protocol for immediate date and time setup from another machine. The clocks are synchronized by entering rdate with the -s switch (command without switch just checks the time but does not set anything). …
Google Drive is extremely cheap offsite storage, and it's even possible to get extra storage for free for two years.  You can use the free account 15GB, and if you have an Android device..when you install Google Drive for the first time it will give…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Suggested Courses

732 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question