LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 06-09-2014, 11:55 PM   #1
Sumguy
Member
 
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465
Blog Entries: 2

Rep: Reputation: 119Reputation: 119
Unhappy Noob Attempts 1st Slackware Pkg Install - Emilia Pinball


Hey Guys,

New to Slackware, here.

I used pkgtool to install a tar.gz tonight, and it worked fine.

I went to install another tar.gz, but now, in pkgtool, when select the option to install from another directory; then specify the directory (/root/Downloads)...instead of listing the packages in that directory, like it did the first time, it just dumps me back to the command prompt!

So, I used this program one time...and now it's broken? What gives? (I also tried cd-ing into that directory and then running pkgtool...same thing happens....)

Help!

Last edited by Sumguy; 06-11-2014 at 11:17 AM. Reason: Changed thread title
 
Old 06-10-2014, 12:44 AM   #2
moisespedro
Senior Member
 
Registered: Nov 2013
Location: Brazil
Distribution: Slackware
Posts: 1,223

Rep: Reputation: 195Reputation: 195
Well, tar.gz files are not meant to be installed with pkgtools. They are usually either .tgz or .txz.
And does it give you an error message? What steps did you take?
 
1 members found this post helpful.
Old 06-10-2014, 12:55 AM   #3
Sumguy
Member
 
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465

Original Poster
Blog Entries: 2

Rep: Reputation: 119Reputation: 119
No error message- just dumps me back to the command prompt.

Meh...I just learned how to install tar.gz's manually.

Now I'm getting a "make install recursive error #1" when I do make install....

Guess it's time for yet another thread....
 
Old 06-10-2014, 03:54 AM   #4
ruario
Senior Member
 
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557

Rep: Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761
Quote:
Originally Posted by Sumguy View Post
No error message- just dumps me back to the command prompt.
So there were no valid Slackware packages it seems. Just tar archives. Slackware are compressed tar archives but not all compressed tar archives are Slackware packages.

Quote:
Originally Posted by Sumguy View Post
Meh...I just learned how to install tar.gz's manually.
While you can compile and install source packages by hand it is not for everyone (uninstall can often be tricker). If your object is simply to install some piece of commonly found software, there is probably already a Slackware package (or SlackBuild) so you will not need to compile from source and manually install.

As a general rule of thumb, take a native packages first and only manual source compile if you have some specific requirements that make it necessary.
 
1 members found this post helpful.
Old 06-10-2014, 10:13 AM   #5
Sumguy
Member
 
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465

Original Poster
Blog Entries: 2

Rep: Reputation: 119Reputation: 119
Quote:
Originally Posted by ruario View Post
So there were no valid Slackware packages it seems. Just tar archives. Slackware are compressed tar archives but not all compressed tar archives are Slackware packages.
That's what I was kind of thinking, after what Moisespedro said- it just seems weird that it would just dump ya back into a command prompt if it doesn't find any packages that it recognizes- but I guess that's the way it is.



Quote:
Originally Posted by ruario View Post
While you can compile and install source packages by hand it is not for everyone (uninstall can often be tricker). If your object is simply to install some piece of commonly found software, there is probably already a Slackware package (or SlackBuild) so you will not need to compile from source and manually install.

As a general rule of thumb, take a native packages first and only manual source compile if you have some specific requirements that make it necessary.
Funny thing is, I don't need to install much- and the one thing I do want to install, is the one game I play [Emilia pinball] for which there doesn't seem to be a Slackbuild. Half of my motivation for wanting to install it, is just to learn to do it, in Slack. There are so many options- Slackpackage; SBOpkg; Pkgtool; etc. and some of them, like Slackpackage, seem to involve as many steps as doing it manually- so my thinking is kind of along the lines: Just learn to do it manually, and then I can do anything; and that way, I'll only have to learn one thing, instead of 5 or 6 different procedures.

Doing ./configure; make; make install; make clean, seems like the easiest way...until, of course, something goes wrong, eh?

One question, while I have you guys:

If I need to install a dependency- I just install it first [before installing the program that needs it] as if I were installing a stand-alone package- and then just install that initial program that I want, which needed that dependency? [I think my error may have been that I didn't have a dependency installed].

I find Slackware no more difficult to use than any other distro- and like it very much. Just the package management can be a little daunting, for a noob like me- but once I get it figured out, Slackware is going to be SWEET!
 
Old 06-10-2014, 01:43 PM   #6
ruario
Senior Member
 
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557

Rep: Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761
Quote:
Originally Posted by Sumguy View Post
Funny thing is, I don't need to install much- and the one thing I do want to install, is the one game I play [Emilia pinball] for which there doesn't seem to be a Slackbuild.
So make one, or at least make a package by hand! Honestly it is not that hard and there are people here who could assist you if you get stuck. In its very simplest form something like the following will often work.

Unpack the tar (I'm using the fake package 'foo' as an example):
Code:
tar xvf foo-1.tar.gz
Switch into the directory that was created:
Code:
cd foo
Do the usual configure and make:
Code:
./configure
make
Now we try a little magic in the form of DESTDIR. Not every makefile supports it but those that do will allow you to redirect the install to another location. I would try this step first as a regular user and only when you see that it works as expected you can try it again as root (having first cleared the /tmp/foo-build directory):
Code:
make DESTDIR=/tmp/foo-build install
Note: If setting a DESTDIR does not work, you could always post back here and we can suggest other options.

Assuming it did work (after running it the second time as root), cd into the directory as root and run makepkg, like so:
Code:
cd /tmp/foo-build
makepkg ../foo-1-x86_64-1.txz
If all went to plan you now have /tmp/foo-1-x86_64-1.txz, which can be installed as normal, like so:
Code:
installpkg /tmp/foo-1-x86_64-1.txz
A SlackBuild is really just a collection of all of these steps, e.g. a very rough and ready SlackBuild might look like this:
Code:
tar xvf foo-1.tar.gz
cd foo
./configure
make
rm -fr /tmp/foo-build
make DESTDIR=/tmp/foo-build install
cd /tmp/foo-build
makepkg -l y -c n ../foo-1-x86_64-1.txz
Making a SlackBuild will benefit you (you can reuse it on multiple machines you own or if you upgrade and want to rebuild) and possibly others who might want to try this game themselves. It is also a great learning exercise and empowers you in the future, as you may come across other applications you miss or want to try.

Of course if you really can't face it, manually installing from source is an option. But you should understand what this means. A straight 'make install' can be risky. It depends entirely on how carefully the make file has been crafted. It could potentially write files to locations it should not and hence break your system. Granted most will not do this but it is a risk you should be aware of. Another issue for many is the lack of reliable uninstall. Some makefiles have a "make uninstall" option, however not all of them and even of those that do some are broken or untrustworthy. Thus if you ever decide to remove (or upgrade) the software you may find yourself with a mess to clean up as makefiles tend to scatter files over the file system.

Quote:
Originally Posted by Sumguy View Post
Half of my motivation for wanting to install it, is just to learn to do it, in Slack. There are so many options- Slackpackage; SBOpkg; Pkgtool; etc. and some of them, like Slackpackage, seem to involve as many steps as doing it manually- so my thinking is kind of along the lines: Just learn to do it manually, and then I can do anything; and that way, I'll only have to learn one thing, instead of 5 or 6 different procedures.
It is funny you picked on slackpkg because this is perhaps the easiest to use and is not at all comparable to manually compiling and installing from source. If the package exists in the repository you installed it with:

Code:
slackpkg install foo
That is it!

At the end of the day however, slackpkg and sbopkg are just front ends to the pkgtools (installpkg, upgradepkg, removepkg and pkgtool). This is similar to the way APT is a front end to dpkg on Ubuntu and Debian.

FWIW, you do not need slackpkg or sbopkg (I have one system with neither installed), though they are a very handy convenience (so I am not suggesting you go without).

Quote:
Originally Posted by Sumguy View Post
Doing ./configure; make; make install; make clean, seems like the easiest way...until, of course, something goes wrong, eh?
Until something goes wrong or you want to uninstall.

Quote:
Originally Posted by Sumguy View Post
One question, while I have you guys:

If I need to install a dependency- I just install it first [before installing the program that needs it] as if I were installing a stand-alone package- and then just install that initial program that I want, which needed that dependency? [I think my error may have been that I didn't have a dependency installed].
Yes, install the dependencies first. If not make will fail. Then install them and try make again.

Last edited by ruario; 06-11-2014 at 03:47 AM. Reason: changed reliable install to reliable uninstall :D; changed staging to foo-build in the examples
 
2 members found this post helpful.
Old 06-10-2014, 02:15 PM   #7
maciuszek
Member
 
Registered: Nov 2010
Location: Toronto, Ontario
Distribution: Slackware + FreeBSD
Posts: 165

Rep: Reputation: 40
In addition to ruario, you can primarily check the Makefile[s] to see if they respect a DESTDIR variable.

In the source directory
Code:
cat Makefile* | grep DESTDIR
For the case in which this variable is not supported; you can adjust the configure to place an install in your staging directory by setting parameters.

e.g.
Code:
./configure --prefix=/tmp/staging
You might need configure a few additional parameters: running ./configure -h will produce a help page (well if its a gnu configure script) where you can explore all your options.

After this make && make install should be brilliant.

In the case were you have no access to either or, you can use slacktrack. Simply base your .build script on btmgr or emacspeak-ss found in: http://mirrors.slackware.com/slackwa.../extra/source/

There are also tools which may help in these cases such as checkinstall (I have used this before when I was in a time constraint; deb2tgz and or rpm2tgz may additionally become useful if time constraint to get something up and running + the something involves a dependency hell) or src2pkg (I have no experience but I'm sure others will have positive comments).

Happy slacking!

Last edited by maciuszek; 06-10-2014 at 04:32 PM. Reason: 's,extra/,extra/source,g'
 
1 members found this post helpful.
Old 06-10-2014, 04:19 PM   #8
ruario
Senior Member
 
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557

Rep: Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761Reputation: 1761
Good stuff, maciuszek. Though I think you meant:

Code:
grep DESTDIR Makefile*
 
Old 06-10-2014, 04:44 PM   #9
Sumguy
Member
 
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465

Original Poster
Blog Entries: 2

Rep: Reputation: 119Reputation: 119
Thanks Ruario and Maciuszek,

Trouble is, all these different scenarios have my head spinning. I've just recently gotten somewhat proficient at doing the basic CLI stuff. I'm still in the dark about compiling/building/installin.....

If I could do it properly one, I think I might then get comfortable enough with it to understand the process better.

(I actually downloaded deb2tgz- figuring that that would come in handy sooner or later...but I haven't tried installing it yet. I suspect that it would be an easier install- so maybe I'll give it a try)

If any of you guys have some time on your hands, here is a link to what I was trying to install:

pinball.zip http://sourceforge.net/projects/pinb...pinball-0.3.1/

If anyone might be so inclined to download it and give it a quick look, and then tell me EXACTLY what I need to do [Like, with specific commands listed one by one....] I might just "get it". I tried watching a few tutorials on youtube, which usually do the trick for me- but they were a little too advanced/went too quickly.

I realize that this is a lot to ask- but maybe someone reading this may also like the game and want to try it/or has already installed it in Slack? (I can't believe that no one has made a Slackbuild for it- it seems to be a popular game, and is offered in the repos of virtually every other distro I've tried....)

Hey, I'm not complaining- I knew what I was getting into when I installed Slackware- and that was actually one of my reasons for wanting to use Slack- knowing that it would force me to learn. I have Slack dual-booted on both my desktop and laptop- specifically so I can try it with impunity and not have to worry too much if i screw it up....

If it makes any difference: I left the tar.gz file in my Downloads folder, and CDed into that to build it. Could that be a problem? And I did the whole thing while looged in as root....(Thinking it would avert any potential permissions problems).

I'm going to go and re-read the README more thoroughly, and try and take it slow and do a little tinkering..... One way or another, I'll "get" this, sooner or later- and then [hopefully] I'll be able to look back and think "What was my problem? This is a piece of cake!".

Last edited by Sumguy; 06-10-2014 at 05:03 PM. Reason: Corrected link
 
Old 06-10-2014, 04:52 PM   #10
maciuszek
Member
 
Registered: Nov 2010
Location: Toronto, Ontario
Distribution: Slackware + FreeBSD
Posts: 165

Rep: Reputation: 40
I recommend looking over here instead:
http://sourceforge.net/projects/pinb...pinball-0.3.1/

Nevertheless I'll write you up a quick SlackBuild
 
1 members found this post helpful.
Old 06-10-2014, 05:02 PM   #11
Sumguy
Member
 
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465

Original Poster
Blog Entries: 2

Rep: Reputation: 119Reputation: 119
Quote:
Originally Posted by maciuszek View Post
I recommend looking over here instead:
http://sourceforge.net/projects/pinb...pinball-0.3.1/

Nevertheless I'll write you up a quick SlackBuild
You're right! I was logged into my other OS- but now I'm back in Slack, and went and found the link that I actually used- and it's the same as the one you posted. I'll go back and correct it in my previous post.

I'd certainly appreciate your Slackbuild.....but I do have to learn to do this stuff myself, too. [Although studying your Slackbuild would also be a learning experience, I'm sure)

Maybe I could use your Slackbuild on my desktop- and then eventually try it manually on my laptop. (As soon as I get the basics of package management down-pat, I will use Slackware as my primary OS- I can see Slackware's superiority already; and want to use it full-time)

Thanks!!
 
Old 06-10-2014, 05:05 PM   #12
Sumguy
Member
 
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465

Original Poster
Blog Entries: 2

Rep: Reputation: 119Reputation: 119
Should I change the name of this thread to something like: "Trying To Install My 1st Slackware Package - Emilia Pinball" for the benefit of others?
 
Old 06-10-2014, 05:18 PM   #13
maciuszek
Member
 
Registered: Nov 2010
Location: Toronto, Ontario
Distribution: Slackware + FreeBSD
Posts: 165

Rep: Reputation: 40
Here it is:

pinball.info
Code:
PRGNAM="pinball"
VERSION="0.3.1"
HOMEPAGE="http://pinball.sourceforge.net/"
DOWNLOAD="http://sourceforge.net/projects/pinball/files/pinball/pinball-0.3.1/pinball-0.3.1.tar.gz/download"
MD5SUM="f28e8f49e0db8e9491e4d9f0c13c36c6"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Matthew Kuzminski"
EMAIL="szczecinska.duma@gmail.com"
slack-desc
Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in.  You must
# make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':'.
    |-----handy-ruler------------------------------------------------------|
pinball: pinball
pinball:
pinball: The Emilia Pinball Project is a pinball simulator for GNU/Linux 
pinball: and other Unix systems. There is only one level to play with, 
pinball: but it is very addictive.
pinball: 
pinball:
pinball: Homepage: http://pinball.sourceforge.net/
pinball:
pinball:
pinball:
gcc45.patch
Code:
diff -ur pinball-0.3.1/base/Config.cpp pinball-0.3.1_fixed//base/Config.cpp
--- pinball-0.3.1/base/Config.cpp	2003-11-21 05:59:09.000000000 -0200
+++ pinball-0.3.1_fixed//base/Config.cpp	2010-11-30 19:27:11.952939021 -0200
@@ -397,8 +397,8 @@
 }
 
 ///!+rzr this workaround Full path to relative ones, usefull for windows port
-bool isAbsolutePath(char const * const argv0 ) ; 
-bool isAbsolutePath(char const * const argv0 ) 
+bool isAbsolutePath(char * const argv0 ) ; 
+bool isAbsolutePath(char * const argv0 ) 
 {
   //EM_COUT(" check root drive c:\\ // absolute path -  check for wine ?", 42);
   bool t = false;
@@ -415,7 +415,7 @@
 }
 /// TODO; make it more robust for stranges paths 
 /// (ie "c:\\d/i//r\like\\\\this/\\/") , wine virtual pc etc
-void Config::setPaths(char const * const argv0) {
+void Config::setPaths(char * const argv0) {
   // EM_CERR("+ Config::setPath"); 
   //!+rzr : make it work also in relative paths use
   // and "/long path/quoted/paths/" etc
Only in pinball-0.3.1_fixed//base: Config.cpp~
diff -ur pinball-0.3.1/base/Config.h pinball-0.3.1_fixed//base/Config.h
--- pinball-0.3.1/base/Config.h	2003-11-20 14:46:16.000000000 -0200
+++ pinball-0.3.1_fixed//base/Config.h	2010-11-30 19:28:17.076265440 -0200
@@ -87,7 +87,7 @@
   void loadConfig();
   void setDefault();
   /// set RELATIVE path according to current work directory of exec
-  void setPaths(char const * const argv0);  //!+rzr
+  void setPaths(char * const argv0);  //!+rzr
 
  private:
   int m_iWidth;
pinball-0.3.1-cstddef.patch
Code:
--- base/Behavior.cpp~	2003-11-20 10:46:16.000000000 -0600
+++ base/Behavior.cpp	2011-02-09 13:19:13.651559002 -0600
@@ -6,6 +6,7 @@
     email                : henqvist@excite.com
  ***************************************************************************/
 
+#include <cstddef>
 #include "Private.h"
 #include "Behavior.h"
 #include "Group.h"
--- base/BehaviorVisitor.cpp~	2003-11-20 10:46:16.000000000 -0600
+++ base/BehaviorVisitor.cpp	2011-02-09 13:26:17.561558995 -0600
@@ -6,6 +6,7 @@
     email                : henqvist@excite.com
  ***************************************************************************/
 
+#include <cstddef>
 #include "BehaviorVisitor.h"
 #include "Behavior.h"
 #include "Group.h"
--- base/SignalSender.cpp~	2003-11-20 10:46:16.000000000 -0600
+++ base/SignalSender.cpp	2011-02-09 13:35:29.151558926 -0600
@@ -7,6 +7,7 @@
  ***************************************************************************/
 
 
+#include <cstddef>
 #include "Private.h"
 #include "SignalSender.h"
 #include "Group.h"
pinball-0.3.1-hiscore.patch
Code:
--- pinball-0.3.1/src/Table.cpp~	2006-08-03 14:59:16.000000000 +0200
+++ pinball-0.3.1/src/Table.cpp	2006-08-03 14:59:16.000000000 +0200
@@ -247,14 +247,9 @@
   // Clear old high scores
   m_mapHighScores.clear();
 
-  //!rzr+ : fix w32
-  string sFileName =  m_sTableName + "/" + HIGH_SCORES_FILENAME;
-#ifdef RZR_PATHRELATIVE
-  sFileName = string( Config::getInstance()->getExeDir() )
-    +"/"+ m_sTableName +".cfg";
-#else
-  sFileName = string(EM_HIGHSCORE_DIR) + "/" + sFileName;
-#endif //!rzr-
+  char *home = getenv("HOME");
+  string sFileName = string(home? home:".") + "/.emilia/" + m_sTableName +
+    ".hiscore";
 
   ifstream file(sFileName.c_str());
   if (!file) {
@@ -308,14 +303,10 @@
     cerr << "No current table name! (the first time is normal...)" << endl;
     return false;
   }
-  //!rzr+ : fix w32
-  string sFileName =  m_sTableName + "/" + HIGH_SCORES_FILENAME;
-#ifdef RZR_PATHRELATIVE
-  sFileName = string( Config::getInstance()->getExeDir() )
-    +"/"+ m_sTableName +".cfg";
-#else
-  sFileName = string(EM_HIGHSCORE_DIR) + "/" + sFileName;
-#endif //!rzr-
+
+  char *home = getenv("HOME");
+  string sFileName = string(home? home:".") + "/.emilia/" + m_sTableName +
+    ".hiscore";
 
   ofstream file(sFileName.c_str());//, ios_base::out | ios_base::trunc);
   if (!file) {
pinball-0.3.1-lacomment.patch
Code:
--- src/Makefile.in~	2010-11-15 10:55:51.000000000 -0600
+++ src/Makefile.in	2010-11-15 11:07:27.427255000 -0600
@@ -505,7 +505,7 @@
 	uninstall-pinincludeHEADERS uninstall-pinlibLIBRARIES
 
 
-dnl libemilia_pin_la_SOURCES = $(libemilia_pin_a_SOURCES)
+#dnl libemilia_pin_la_SOURCES = $(libemilia_pin_a_SOURCES)
 
 # !+rzr : This trick workaround a bad generated rule (under Linux mingw32)
 # src/ litool returns:  -L/usr/local//lib /usr/lib/libjpeg.so
--- test/Makefile.in~	2010-11-15 11:11:07.000000000 -0600
+++ test/Makefile.in	2010-11-15 11:12:46.119254852 -0600
@@ -621,7 +621,7 @@
 	mostlyclean-generic mostlyclean-libtool tags uninstall \
 	uninstall-am uninstall-info-am uninstall-testlibLTLIBRARIES
 
-dnl noinst_PROGRAMS = unittest
+#dnl noinst_PROGRAMS = unittest
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
pinball-0.3.1-strictproto.patch
Code:
--- base/Config.cpp.orig	2009-03-02 10:46:40.000000000 -0600
+++ base/Config.cpp	2009-03-02 10:46:40.000000000 -0600
@@ -426,2 +426,2 @@
-    char* ptr=0; 
-    char* ptrw = 0;
+    const char* ptr=0; 
+    const char* ptrw = 0;
pinball-0.3.1-sys-ltdl.patch
Code:
--- pinball-0.3.1/Makefile.in~	2006-08-03 12:18:40.000000000 +0200
+++ pinball-0.3.1/Makefile.in	2006-08-03 12:18:40.000000000 +0200
@@ -107,7 +107,7 @@
 install_sh = @install_sh@
 AUTOMAKE_OPTIONS = gnu
 
-SUBDIRS = libltdl addon base data src test
+SUBDIRS = addon base data src test
 
 EXTRA_DIST = bootstrap pinball.spec clean pinball.desktop
 
--- pinball-0.3.1/src/Makefile.in~	2006-08-03 12:20:12.000000000 +0200
+++ pinball-0.3.1/src/Makefile.in	2006-08-03 12:20:12.000000000 +0200
@@ -114,9 +114,9 @@
 
 pinlib_LIBRARIES = libemilia_pin.a
 
-INCLUDES = -I../base -I../addon @INCLTDL@
+INCLUDES = -I../base -I../addon
 
-pinball_LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a @LIBLTDL@
+pinball_LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a -lltdl
 pinball_LDFLAGS = -export-dynamic
 
 pinball_SOURCES = Pinball.cpp
--- pinball-0.3.1/src/Makefile.am~	2006-08-03 12:20:35.000000000 +0200
+++ pinball-0.3.1/src/Makefile.am	2006-08-03 12:20:35.000000000 +0200
@@ -7,9 +7,9 @@
 
 pinlib_LIBRARIES = libemilia_pin.a
 
-INCLUDES = -I../base -I../addon @INCLTDL@
+INCLUDES = -I../base -I../addon
 
-pinball_LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a @LIBLTDL@
+pinball_LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a -lltdl
 pinball_LDFLAGS = -export-dynamic
 
 pinball_SOURCES = Pinball.cpp
--- pinball-0.3.1/Makefile.am~	2006-08-03 12:18:12.000000000 +0200
+++ pinball-0.3.1/Makefile.am	2006-08-03 12:18:12.000000000 +0200
@@ -1,6 +1,6 @@
 AUTOMAKE_OPTIONS = gnu
 
-SUBDIRS = libltdl addon base data src test
+SUBDIRS = addon base data src test
 
 EXTRA_DIST = bootstrap pinball.spec clean pinball.desktop
 
--- pinball-0.3.1/configure.ac~	2006-08-03 12:17:50.000000000 +0200
+++ pinball-0.3.1/configure.ac	2006-08-03 12:17:50.000000000 +0200
@@ -14,19 +14,13 @@
 CFLAGS="-g -W -Wall -O2"
 CXXFLAGS="-g -W -Wall -O2"
 
-AC_CONFIG_SUBDIRS(libltdl)
-
 dnl Checks for programs.
 AC_PROG_CC
 AC_PROG_CXX
 AC_PROG_INSTALL
 AC_LIBTOOL_DLOPEN
-AC_LIBLTDL_CONVENIENCE
 AC_PROG_LIBTOOL
 
-AC_SUBST(INCLTDL)
-AC_SUBST(LIBLTDL)
-
 dnl *******************************************
 dnl PATHS AND DIRS ****************************
 dnl data dirs, fuck I hate autoconf, spent 4 hours getting this right, had to 
--- pinball-0.3.1/test/Makefile.in~	2006-08-03 12:21:11.000000000 +0200
+++ pinball-0.3.1/test/Makefile.in	2006-08-03 12:21:11.000000000 +0200
@@ -112,8 +112,8 @@
 
 noinst_PROGRAMS = scale simple light texture load explode collision signal billboard font thread menu joy sound trans math misc varray unittest
 
-INCLUDES = -I../base -I../addon -I../src @INCLTDL@
-LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a @LIBLTDL@
+INCLUDES = -I../base -I../addon -I../src
+LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a -lltdl
 
 testlib_LTLIBRARIES = libModuleTest.la
 
--- pinball-0.3.1/test/Makefile.am~	2006-08-03 12:20:53.000000000 +0200
+++ pinball-0.3.1/test/Makefile.am	2006-08-03 12:20:53.000000000 +0200
@@ -6,8 +6,8 @@
 noinst_PROGRAMS = scale simple light texture load explode collision signal billboard font thread menu joy sound trans math misc varray unittest
 dnl noinst_PROGRAMS = unittest
 
-INCLUDES = -I../base -I../addon -I../src @INCLTDL@
-LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a @LIBLTDL@
+INCLUDES = -I../base -I../addon -I../src
+LDADD = ../src/libemilia_pin.a ../addon/libemilia_addon.a ../base/libemilia_base.a -lltdl
 
 testlib_LTLIBRARIES = libModuleTest.la
 
--- pinball-0.3.1/configure~	2006-08-03 12:16:59.000000000 +0200
+++ pinball-0.3.1/configure	2006-08-03 12:16:59.000000000 +0200
@@ -431,7 +431,6 @@
 PACKAGE_STRING='pinball 0.3.1'
 PACKAGE_BUGREPORT='henqvist@users.sourceforge.net'
 
-ac_subdirs_all="$ac_subdirs_all libltdl"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
@@ -469,7 +468,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE subdirs CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE LN_S ECHO RANLIB ac_ct_RANLIB CPP EGREP LIBTOOL INCLTDL LIBLTDL EM_DATADIR EM_LIBDIR EM_BUILD_ROOT EM_HIGHSCORE_DIR X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS MATHLIB GL_LIBS SDL_CONFIG SDL_CFLAGS SDL_LIBS ALLEGRO_CONFIG ALLEGRO_CFLAGS ALLEGRO_LIBS CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE subdirs CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE LN_S ECHO RANLIB ac_ct_RANLIB CPP EGREP LIBTOOL EM_DATADIR EM_LIBDIR EM_BUILD_ROOT EM_HIGHSCORE_DIR X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS MATHLIB GL_LIBS SDL_CONFIG SDL_CFLAGS SDL_LIBS ALLEGRO_CONFIG ALLEGRO_CFLAGS ALLEGRO_LIBS CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -1959,7 +1958,6 @@
 
 
 
-subdirs="$subdirs libltdl"
 
 
 ac_ext=c
@@ -3439,18 +3437,6 @@
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 
-  case $enable_ltdl_convenience in
-  no) { { echo "$as_me:$LINENO: error: this package needs a convenience libltdl" >&5
-echo "$as_me: error: this package needs a convenience libltdl" >&2;}
-   { (exit 1); exit 1; }; } ;;
-  "") enable_ltdl_convenience=yes
-      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
-  esac
-  LIBLTDL='${top_builddir}/''libltdl'/libltdlc.la
-  LTDLINCL='-I${top_srcdir}/''libltdl'
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-
 # Check whether --enable-shared or --disable-shared was given.
 if test "${enable_shared+set}" = set; then
   enableval="$enable_shared"
@@ -11788,8 +11774,6 @@
 s,@CPP@,$CPP,;t t
 s,@EGREP@,$EGREP,;t t
 s,@LIBTOOL@,$LIBTOOL,;t t
-s,@INCLTDL@,$INCLTDL,;t t
-s,@LIBLTDL@,$LIBLTDL,;t t
 s,@EM_DATADIR@,$EM_DATADIR,;t t
 s,@EM_LIBDIR@,$EM_LIBDIR,;t t
 s,@EM_BUILD_ROOT@,$EM_BUILD_ROOT,;t t
pinball.SlackBuild
Code:
#!/bin/sh

# Slackware build script for pinball

# Copyright 2014 Matthew Kuzminski
# All rights reserved.
# 
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

PRGNAM=pinball
VERSION=${VERSION:-0.3.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_mK}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i486 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/mK}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/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=""
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xzvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
 \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
 -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
 -exec chmod 644 {} \;

#patch -Np1 -i $CWD/gcc45.patch

patch -Np0 -i $CWD/pinball-0.3.1-cstddef.patch
patch -Np1 -i $CWD/pinball-0.3.1-hiscore.patch
patch -Np0 -i $CWD/pinball-0.3.1-lacomment.patch
patch -Np0 -i $CWD/pinball-0.3.1-strictproto.patch
patch -Np1 -i $CWD/pinball-0.3.1-sys-ltdl.patch

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --localstatedir=/var \
  --sysconfdir=/etc \
  --mandir=/usr/man \
  --disable-sdltest \
  --build=$ARCH-slackware-linux

make || exit 1
make install DESTDIR=$PKG

find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
  AUTHORS COPYING NEWS README \
  $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
 
2 members found this post helpful.
Old 06-10-2014, 05:22 PM   #14
maciuszek
Member
 
Registered: Nov 2010
Location: Toronto, Ontario
Distribution: Slackware + FreeBSD
Posts: 165

Rep: Reputation: 40
Handel this as you would anything from SBo

create new a directory.. call it whatever you want (pinball is a smart name)
create all those files and populate them
check the pinball.info for the download and md5sum info

download into said directory
run the slackbuild as root (sh pinball.SlackBuild)
install it from /tmp (installpkg /tmp/pinball-0.3.1-i486-1_mK.tgz)

I do not plan on maintaining this, so feel free to create a README, submit it to SBo and maintain it yourself .
Have fun
 
Old 06-10-2014, 05:34 PM   #15
maciuszek
Member
 
Registered: Nov 2010
Location: Toronto, Ontario
Distribution: Slackware + FreeBSD
Posts: 165

Rep: Reputation: 40
Quote:
Should I change the name of this thread to something like: "Trying To Install My 1st Slackware Package - Emilia Pinball" for the benefit of others?
Yes change the name and set it to solved.. of course if you believe it to be

Last edited by maciuszek; 06-10-2014 at 05:34 PM. Reason: typo
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Slackware 14.1, full install, sound card worked OK, but microphone is not worked. zw963 Slackware 7 11-23-2013 06:57 AM
pkgtool - where is it dannemil Slackware 6 11-30-2007 07:51 AM
pkgtool does nothing?! alienDog Slackware 8 10-31-2004 05:11 PM
pkgtool sio Linux - General 0 07-30-2003 12:47 PM
using pkgtool ivans Slackware 2 05-28-2003 09:37 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 03:10 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration