VectorLinux
September 30, 2014, 10:01:44 am *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Visit our home page for VL info. To search the old message board go to http://vectorlinux.com/forum1. The first VL forum is temporarily offline until we can find a host for it. Thanks for your patience.
 
Now powered by KnowledgeDex.
   Home   Help Search Login Register  
Please support VectorLinux!
Pages: [1]
  Print  
Author Topic: Manual set dependency in SlackBuild  (Read 2831 times)
hata_ph
Packager
Vectorian
****
Posts: 3257


-- Just being myself --


« on: February 18, 2011, 08:31:05 pm »

I want to manual add dependency into the SlackBuild script but I was a bit confuse about the syntax...
should follow the first example or the second?

Quote
ADDRB=${ADDRB:-"wxPython >= 2.8.9.1-i586-3vl60, setuptools >= 0.6c9-i586-1vl60"} #Add deps that need to be added to the slack-required file here

Quote
ADDRB=${ADDRB:-"mp3splt >= 2.2.9"} #Add deps that need to be added to the slack-required file here

Currently I am using the second method...

Logged
rm-r
DoucheBag
Vectorite
***
Posts: 115


« Reply #1 on: February 18, 2011, 10:43:31 pm »

Are you installing that utility  or packaging for the  repository

If understood - You wish to add dependencies only vs what appears to be the full  python package
(using ldd or SBbuilder?)
Without getting into VL  packaging/Slackware methodology
Perhaps try this: 

http://wiki.wxpython.org/How to install wxPython#Linux_-_Building_from_the_source

Edit:  Noticed  you have a related post under "installation"   Forum topic header

You are a packager - what is the script line Re creating the aformentioned  file
The error Msg indicates a *named directory*  as the target file name  - perhaps the script just ommited the madatory  trailing ( /)
If the script line does not also include a file name that directories' file name  must be  specified   
 E.G.   created  full  /XXX_ path/file_name 

P.S. Why not merge both requests




 
« Last Edit: February 18, 2011, 11:03:51 pm by rm-r » Logged

"Problems are seldom resolved by thinking in the same manner they were created"

"What is viewed is not important - That which is seen is"
stretchedthin
Administrator
Vectorian
*****
Posts: 3780


WWW
« Reply #2 on: February 18, 2011, 11:21:10 pm »

I want to manual add dependency into the SlackBuild script but I was a bit confuse about the syntax...
should follow the first example or the second?

Quote
ADDRB=${ADDRB:-"wxPython >= 2.8.9.1-i586-3vl60, setuptools >= 0.6c9-i586-1vl60"} #Add deps that need to be added to the slack-required file here

Quote
ADDRB=${ADDRB:-"mp3splt >= 2.2.9"} #Add deps that need to be added to the slack-required file here

Currently I am using the second method...



I've always gone with the first method.  The syntax is the same as what is generated by requiredbuilder when it auto-generates the dependency list.
Logged

Vectorlinux screencasts and  tutorials can be found at....
http://www.opensourcebistro.com/blog1
http://www.youtube.com/user/vid4ken?feature=mhee
hata_ph
Packager
Vectorian
****
Posts: 3257


-- Just being myself --


« Reply #3 on: February 19, 2011, 05:07:18 am »

I want to manual add dependency into the SlackBuild script but I was a bit confuse about the syntax...
should follow the first example or the second?

Quote
ADDRB=${ADDRB:-"wxPython >= 2.8.9.1-i586-3vl60, setuptools >= 0.6c9-i586-1vl60"} #Add deps that need to be added to the slack-required file here

Quote
ADDRB=${ADDRB:-"mp3splt >= 2.2.9"} #Add deps that need to be added to the slack-required file here

Currently I am using the second method...



I've always gone with the first method.  The syntax is the same as what is generated by requiredbuilder when it auto-generates the dependency list.

Does that second method same as the first one?
Logged
stretchedthin
Administrator
Vectorian
*****
Posts: 3780


WWW
« Reply #4 on: February 19, 2011, 07:21:51 am »

Here is a reference from linux packages...
http://www.linuxpackages.net/howto.php?page=perfect-package&title=Perfect+Package

here is an excerpt...
Code:
slack-required:
The structure of this file is one entry per line in the following format:
package_name
or
[package_name] [condition] [version]
where [condition] is
=, >=, =<, <, or >
<= and =< should both work, just in case of editing errors.
example
man >= 1.5l-i386-1
Notice that we have included the version arch and build number this will help with version checking. Don't worry the condition statement takes care of things if there is a newer version available.

slack-conflicts:
The format of this file is just simply the same as the slack-required file. Follow the above format for this file.

slack-suggests:
The format of this file is simply the program name nothing more:
gnome-spell


Seems including version arch and build numbers helps with version checking. 
Logged

Vectorlinux screencasts and  tutorials can be found at....
http://www.opensourcebistro.com/blog1
http://www.youtube.com/user/vid4ken?feature=mhee
hata_ph
Packager
Vectorian
****
Posts: 3257


-- Just being myself --


« Reply #5 on: February 19, 2011, 04:59:12 pm »

Oh...then i will rebuild 1 of my package with the correct syntax...
Logged
hata_ph
Packager
Vectorian
****
Posts: 3257


-- Just being myself --


« Reply #6 on: February 19, 2011, 05:21:43 pm »

Just tested with this

Quote
ADDRB=${ADDRB:-"wxPython >= 2.8.9.1-i586-3vl60, setuptools >= 0.6c9-i586-1vl60"} #Add deps that need to be added to the slack-required file here

but my slack-required will become like this

Quote
atk >= 1.32.0
cairo >= 1.10.2
cxxlibs >= 6.0.14 | gcc-g++ >= 4.5.2
expat >= 2.0.1
fontconfig >= 2.8.0
freetype >= 2.4.4
gcc >= 4.5.2
gdk-pixbuf2 >= 2.22.1
glib2 >= 2.26.1
glibc-solibs >= 2.12.2
gstreamer >= 0.10.32
gtk+2 >= 2.22.1
libX11 >= 1.4.1
libXau >= 1.0.6
libXcomposite >= 0.4.3
libXcursor >= 1.1.11
libXdamage >= 1.1.3
libXdmcp >= 1.1.0
libXext >= 1.2.0
libXfixes >= 4.0.5
libXi >= 1.4.1
libXinerama >= 1.1.1
libXrandr >= 1.3.1
libXrender >= 0.9.6
libmp3splt >= 0.6
libpng >= 1.4.5
libtool >= 2.4
libxcb >= 1.7
libxml2 >= 2.7.8
mp3splt >= 2.2.9-i586-1vl70
pango >= 1.28.3
pixman >= 0.20.2
zlib >= 1.2.5
Logged
pierce.jason
Packager
Vectorite
****
Posts: 250



« Reply #7 on: February 28, 2011, 02:54:56 pm »

If this is just a matter of philosophy in including arch-pkgrelease info...

I would always go with the least restrictive string that satisfies the actual dep version needed. If there is something that has changed in dependency-2.5-i586-3vl60 that is needed by your package, and isn't part of dependency-2.5-i586-1vl60... Then list the dep including -i586-3vl60.

However if there is no explicit reason to require features from the third vector release of a specific package, then do not include the -i586-3vl60 part.
Logged

pierce.jason
Email: $(echo -e "moc\x2eliamg\x40nosaj.ecreip" | rev)
pierce.jason
Packager
Vectorite
****
Posts: 250



« Reply #8 on: February 28, 2011, 08:43:26 pm »

This philosophy should also extend to package versions, not just package releases. Returning to my previous example with dependency-2.5-i586-1vl60:

If the program you are building does not explicitly require version 2.5 or higher of dependency, you should also not be so strict in your dependency line in the package. If only features/API from 2.3 are required, but 2.5 is current in the distro repos... you do not _need_ to specify 2.5 just because it is current. You should rather specify dependency >= 2.3, if that is the greatest needed by the program.

This will allow the best future flexibility for the end users. There are often times when a power user will opt to create their own local package for a specific lib, for whatever reason they may have. If you specify dependency 2.5, when all is really needed be 2.3, then you can greatly limit the options that a user has for maintaining individual versions locally!

In many cases it will not even be necessary to specify a version number for a dependency. This is only really prudent when there have been significant changes to a dependency's source, within the the last few releases. OR when listing tool-chain dependencies.
Logged

pierce.jason
Email: $(echo -e "moc\x2eliamg\x40nosaj.ecreip" | rev)
hata_ph
Packager
Vectorian
****
Posts: 3257


-- Just being myself --


« Reply #9 on: April 20, 2011, 09:33:44 pm »

This philosophy should also extend to package versions, not just package releases. Returning to my previous example with dependency-2.5-i586-1vl60:

If the program you are building does not explicitly require version 2.5 or higher of dependency, you should also not be so strict in your dependency line in the package. If only features/API from 2.3 are required, but 2.5 is current in the distro repos... you do not _need_ to specify 2.5 just because it is current. You should rather specify dependency >= 2.3, if that is the greatest needed by the program.

This will allow the best future flexibility for the end users. There are often times when a power user will opt to create their own local package for a specific lib, for whatever reason they may have. If you specify dependency 2.5, when all is really needed be 2.3, then you can greatly limit the options that a user has for maintaining individual versions locally!

In many cases it will not even be necessary to specify a version number for a dependency. This is only really prudent when there have been significant changes to a dependency's source, within the the last few releases. OR when listing tool-chain dependencies.

If u feel it is a good idea might well suggest it to make it a standard for VL. Smiley
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!