SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
So I wanted to try to install a newer version but I am getting stuck in the packet install configuration.
The script seen to be stopping in info part.
I am un compress the package and so I dont need to work with the uncompress part so create the following script inside the un-compress folder:
Quote:
# |-----------------------------------------------------------------| #
# This is my learning scrip install
PRGNAM=foomatic-filters # replace with name of program
VERSION=${VERSION:-4.0.18} # replace with version of program
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo} # the "_SBo" is required
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo} # For consistency's sake, use this
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp} # Drop the package in /tmp
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e # Exit on most errors
# If you prefer to do selective error checking with
# command || exit 1
# then that's also acceptable.
# Your application will probably need different configure flags;
# these are provided as an example only.
# Be sure to build only shared libraries unless there's some need for
# static.
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info\
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
# Compile the application and install it into the $PKG directory
# Strip binaries and libraries - this can be done with 'make install-strip'
# in many source trees, and that's usually acceptable if so, but if not,
# use this:
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Compress man pages
# If the man pages are installed to /usr/share/man instead, you'll need to either
# add the --mandir=/usr/man flag to configure or move them manually after the
# make install process is run.
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
# Compress info pages and remove the package's dir file
# If no info pages are installed by the software, don't leave this in the script
rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*.info*
# Remove perllocal.pod and other special files that don't need to be installed,
# as they will overwrite what's already on the system. If this is not needed,
# remove it from the script.
# Remove 'special' files
find $PKG -name perllocal.pod \
-o -name ".packlist" \
-o -name "*.bs" \
| xargs rm -f
# Copy program documentation into the package
# The included documentation varies from one application to another, so be sure
# to adjust your script as needed
# Also, include the SlackBuild script in the documentation directory
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
<documentation> \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
# Make the package; be sure to leave it in $OUTPUT
# If package symlinks need to be created during install *before*
# your custom contents of doinst.sh runs, then add the -p switch to
# the makepkg command below -- see makepkg(8) for details
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
I add the extra info ( --infodir=/usr/info\) in the config file but I am not sure if its right.
Also after make install I have clear the "doc" manipulation and package creation but I don't know when why to choose the other one, could you please tell me a bit more when should add them?
NOTE: I un comment the folder creation once to create the folder
#rm -rf $PKG
#mkdir -p $TMP $PKG $OUTPUT
But I guess this could have be done by hand.
I am missing some bits like desc file, also there are different like on the doc folder.
I also look at the same package of older version here and there is nothing like doc folder so how does it generate the doc documentation?
Here is the script I used:
Quote:
# |-----------------------------------------------------------------| #
# This is my learning scrip install
PRGNAM=foomatic-filters # replace with name of program
VERSION=${VERSION:-4.0.18} # replace with version of program
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo} # the "_SBo" is required
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo} # For consistency's sake, use this
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp} # Drop the package in /tmp
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e # Exit on most errors
# If you prefer to do selective error checking with
# command || exit 1
# then that's also acceptable.
# Your application will probably need different configure flags;
# these are provided as an example only.
# Be sure to build only shared libraries unless there's some need for
# static.
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--build=$ARCH-slackware-linux
# Compile the application and install it into the $PKG directory
# Strip binaries and libraries - this can be done with 'make install-strip'
# in many source trees, and that's usually acceptable if so, but if not,
# use this:
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Compress man pages
# If the man pages are installed to /usr/share/man instead, you'll need to either
# add the --mandir=/usr/man flag to configure or move them manually after the
# make install process is run.
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
# Compress info pages and remove the package's dir file
# If no info pages are installed by the software, don't leave this in the script
#rm -f $PKG/usr/info/dir
#gzip -9 $PKG/usr/info/*.info*
# Remove perllocal.pod and other special files that don't need to be installed,
# as they will overwrite what's already on the system. If this is not needed,
# remove it from the script.
# Remove 'special' files
find $PKG -name perllocal.pod \
-o -name ".packlist" \
-o -name "*.bs" \
| xargs rm -f
# Copy program documentation into the package
# The included documentation varies from one application to another, so be sure
# to adjust your script as needed
# Also, include the SlackBuild script in the documentation directory
#mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
#cp -a \
# <documentation> \
# $PKG/usr/doc/$PRGNAM-$VERSION
#cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
# Make the package; be sure to leave it in $OUTPUT
# If package symlinks need to be created during install *before*
# your custom contents of doinst.sh runs, then add the -p switch to
# the makepkg command below -- see makepkg(8) for details
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
UPDATE3: I now try to compile foomatic-db-engine here but that is getting even worse.
It not loading the command neither the data base,
I did the same as the other package describe before, in the USAGE file say its a simple as ./config, make , make install, with some minor variation so I have the whole full like the one before but in the package are lots of stuff missing.
Could please someone with more experience guide me here, Thanks
So I wanted to try to install a newer version but I am getting stuck in the packet install configuration.
The script seen to be stopping in info part.
I am un compress the package and so I dont need to work with the uncompress part so create the following script inside the un-compress folder:
I add the extra info ( --infodir=/usr/info\) in the config file but I am not sure if its right.
Also after make install I have clear the "doc" manipulation and package creation but I don't know when why to choose the other one, could you please tell me a bit more when should add them?
NOTE: I un comment the folder creation once to create the folder
#rm -rf $PKG
#mkdir -p $TMP $PKG $OUTPUT
But I guess this could have be done by hand.
Hi Peter, is there any reason you don't use Patrick's SlackBuild? I suggest you take a look at the SlackBuilds.org site info about building packages. The "info" pages for example are not usually there, and the stock Slackware foomatic-filters package does not have such, so comment it out if you see there is none. About the doc folder: You commented CODEout that section, so if the program itself does not put anything there it's completely up to you to copy some files from the source folder there - if you like.
foomatic-db-engine: Don't know where it hangs for you. With
Code:
./configure --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man
make
make install DESTDIR=/path/to/folder
I seem to get reasonable results. Can't test it actually, but that is copied to DESTDIR:
I need to re-compress current as they compress it as with a file with a long number
Here is my script:
Quote:
# |-----------------------------------------------------------------| #
# This is my learning scrip install
PRGNAM=foomatic-db-engine # replace with name of program
VERSION=${VERSION:-4.0.10} # replace with version of program
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo} # the "_SBo" is required
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo} # For consistency's sake, use this
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp} # Drop the package in /tmp
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e # Exit on most errors
# If you prefer to do selective error checking with
# command || exit 1
# then that's also acceptable.
# Your application will probably need different configure flags;
# these are provided as an example only.
# Be sure to build only shared libraries unless there's some need for
# static.
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info\
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
# Compile the application and install it into the $PKG directory
# Strip binaries and libraries - this can be done with 'make install-strip'
# in many source trees, and that's usually acceptable if so, but if not,
# use this:
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Compress man pages
# If the man pages are installed to /usr/share/man instead, you'll need to either
# add the --mandir=/usr/man flag to configure or move them manually after the
# make install process is run.
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
# Compress info pages and remove the package's dir file
# If no info pages are installed by the software, don't leave this in the script
#rm -f $PKG/usr/info/dir
#gzip -9 $PKG/usr/info/*.info*
# Remove perllocal.pod and other special files that don't need to be installed,
# as they will overwrite what's already on the system. If this is not needed,
# remove it from the script.
# Remove 'special' files
find $PKG -name perllocal.pod \
-o -name ".packlist" \
-o -name "*.bs" \
| xargs rm -f
# Copy program documentation into the package
# The included documentation varies from one application to another, so be sure
# to adjust your script as needed
# Also, include the SlackBuild script in the documentation directory
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
ChangeLog COPYING README USAGE \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
# Make the package; be sure to leave it in $OUTPUT
# If package symlinks need to be created during install *before*
# your custom contents of doinst.sh runs, then add the -p switch to
# the makepkg command below -- see makepkg(8) for details
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
Distribution: Slackware64 14.2 and current, SlackwareARM current
Posts: 1,645
Rep:
Of course - the version is "foomatic-db-engine-4.0-20130802" and I compiled it on Slackware64 14.0 (some packages are not stock packages anymore, but most are).
Of course - the version is "foomatic-db-engine-4.0-20130802" and I compiled it on Slackware64 14.0 (some packages are not stock packages anymore, but most are).
Its very strange you will have that package and I dont, even now I am in improve/test stage as I manage to make it print with foomatic you can see my other post about cups. I manage to do it with ppdfile one maybe its the same one? I dont know at this stage.
Also none one mention me before about "https://github.com/PhantomX" seen to have a large amount of package are those for Slackware 14 too?
Distribution: Slackware64 14.2 and current, SlackwareARM current
Posts: 1,645
Rep:
Quote:
Originally Posted by PeterUK
Also none one mention me before about "https://github.com/PhantomX" seen to have a large amount of package are those for Slackware 14 too?
Sorry, don't know about that. I use only sbopkg with the slackbuilds.org SlackBuilds, AlienBob's and Robbie Workman's packages as well as some that I mainain for myself.
I don't use foomatic nowadays, was just curious if your build problem was reproducable here. So I cannot say if the package would work as needed/intended.
Sorry, don't know about that. I use only sbopkg with the slackbuilds.org SlackBuilds, AlienBob's and Robbie Workman's packages as well as some that I mainain for myself.
I don't use foomatic nowadays, was just curious if your build problem was reproducable here. So I cannot say if the package would work as needed/intended.
Would you mind to past here your installation script? I would like to have a look if you dont mind! Thanks
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.