Slackware This 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.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
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.
|
|
|
06-09-2014, 11:55 PM
|
#1
|
Member
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465
Rep:
|
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
|
|
|
06-10-2014, 12:44 AM
|
#2
|
Senior Member
Registered: Nov 2013
Location: Brazil
Distribution: Slackware
Posts: 1,223
Rep:
|
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.
|
06-10-2014, 12:55 AM
|
#3
|
Member
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465
Original Poster
Rep:
|
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....
|
|
|
06-10-2014, 03:54 AM
|
#4
|
Senior Member
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557
|
Quote:
Originally Posted by Sumguy
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
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.
|
06-10-2014, 10:13 AM
|
#5
|
Member
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465
Original Poster
Rep:
|
Quote:
Originally Posted by ruario
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
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!
|
|
|
06-10-2014, 01:43 PM
|
#6
|
Senior Member
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557
|
Quote:
Originally Posted by Sumguy
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:
Do the usual configure and 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
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
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
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.
|
06-10-2014, 02:15 PM
|
#7
|
Member
Registered: Nov 2010
Location: Toronto, Ontario
Distribution: Slackware + FreeBSD
Posts: 165
Rep:
|
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.
|
06-10-2014, 04:19 PM
|
#8
|
Senior Member
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557
|
Good stuff, maciuszek. Though I think you meant:
Code:
grep DESTDIR Makefile*
|
|
|
06-10-2014, 04:44 PM
|
#9
|
Member
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465
Original Poster
Rep:
|
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
|
|
|
06-10-2014, 04:52 PM
|
#10
|
Member
Registered: Nov 2010
Location: Toronto, Ontario
Distribution: Slackware + FreeBSD
Posts: 165
Rep:
|
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.
|
06-10-2014, 05:02 PM
|
#11
|
Member
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465
Original Poster
Rep:
|
Quote:
Originally Posted by maciuszek
|
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!!
|
|
|
06-10-2014, 05:05 PM
|
#12
|
Member
Registered: Jul 2010
Location: Rural Kentucky, USA.
Distribution: BunsenLabs Linux
Posts: 465
Original Poster
Rep:
|
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?
|
|
|
06-10-2014, 05:18 PM
|
#13
|
Member
Registered: Nov 2010
Location: Toronto, Ontario
Distribution: Slackware + FreeBSD
Posts: 165
Rep:
|
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.
|
06-10-2014, 05:22 PM
|
#14
|
Member
Registered: Nov 2010
Location: Toronto, Ontario
Distribution: Slackware + FreeBSD
Posts: 165
Rep:
|
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
|
|
|
06-10-2014, 05:34 PM
|
#15
|
Member
Registered: Nov 2010
Location: Toronto, Ontario
Distribution: Slackware + FreeBSD
Posts: 165
Rep:
|
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
|
|
|
All times are GMT -5. The time now is 02:44 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|