VectorLinux
October 31, 2014, 07:02:12 pm *
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 2 [3] 4 5 6
  Print  
Author Topic: The New vpackager Thread - take a peak  (Read 41131 times)
saulgoode
Vectorite
***
Posts: 340



« Reply #30 on: September 27, 2007, 08:59:52 am »

One of the things I really appreciate about Slackware (and thusly Vector) is that, with very few exceptions, the packages are built from source code which is unmodified from that available from the originating project's homepages. This minimizes risk of errors creeping into a package and eases the task of customizing a project to my own needs. Better still, it allows me to readily contribute back to a project or otherwise participate in its development.

Randomly scanning through some of the "packages" (actually just scripts) in the Crux repositories, I see that many of them follow this same practice (of obtaining source directly from the project). However, I do not see a ready way to determine if or when this is the case (I had to manually compare the sources specified in the scripts with the projects' source locations); and determining what modifications might have been made to the source if it is from a different location.

So, my first concern is about how this "chain of custody" of package source is to be addressed.

In addition, Crux packaging guidelines seem to specify three practices that are at odds with guidelines of Slackware (and, to my knowledge, Vector):
  • Stripping documentation files from the package
  • Disabling language support (NLS)
  • Separating related programs into multiple packages

It appears that the only benefits of incorporating Crux ports packaging into Vector would be the catalog of available Crux scripts and the fact that a packager doesn't have to search for a project's homepage for source. It seems to me, the first benefit would be better covered by implementation of a repository of Vector-Build scripts (something which would probably be necessary anyway, owing to the differing guidelines between Crux and Vector); and the second benefit is pretty well nullified by the fact that packagers will need to document any disparities between the included sources and those of the originating project (knowledge necessary to the Vectelopers, if not the users).

The NLS problem is easily handled automatically, but for the other concerns, using Crux ports might entail more effort than it saves.




« Last Edit: September 27, 2007, 09:04:26 am by saulgoode » Logged

A complex system that works is invariably found to have evolved from a simple system that works.
M0E-lnx
Administrator
Vectorian
*****
Posts: 3187



« Reply #31 on: September 27, 2007, 10:09:01 am »

As far as I know, the cruxports thing here is more like a universal build script that can be controlled by using a function on a file named "Pkgfile".

Here is a sample from the few port scripts I've written to jump start this whole thing... they're located here http://vectorlinux.osuosl.org/veclinux-5.9/ports/

Code:
# Description: GTK+ based IRC client
# URL: http://www.xchat.org/
# Maintainer: M0E-lnx
# Optimized to include support for gettext, and to disable the old
textfe, also added patch
# Depends on: openssl, gtk, perl

name=xchat
version=2.8.4
release=2
source=(http://www.xchat.org/files/source/2.8/$name-$version.tar.bz2
        http://www.xchat.org/files/source/2.8/patches/xc284-scrollbmkdir.diff)

build() {
        cd $name-$version
        patch -p1 -i $SRC/xc284-scrollbmkdir.diff --verbose
        ./configure --prefix=/usr \
                --enable-openssl \
                --enable-perl \
                --enable-ipv6 \
                --disable-gnome \
                --enable-gtkfe \
                --disable-textfe \
                --disable-python \
                --disable-tcl \
                --with-included-gettext \
                --disable-nls
        make
        make DESTDIR=$PKG install
        rm -rf $PKG/usr/{etc,share}
        install -D $name.desktop $PKG/usr/share/applications/$name.desktop
        install -D $name.png $PKG/usr/share/pixmaps/$name.png
}


The enable / disable language support and / or other features are controlled by the build procedure for each application IIRC.
To add to that, IIRC, the cruxports4slack package that we are hosting has been modified to make up-to-vector-standards packages. As you can see from the sample script, it works pretty much like a slackbuild. The build procedure can be fully customized to fit each application. Even the binary stripping can be done and the documentation packaging.

Logged

InTheWoods
Vectorite
***
Posts: 302


« Reply #32 on: September 27, 2007, 07:14:34 pm »

Quote
Ahh... that wiki....
This is the third VL related Wiki I've learned of in as many weeks.

Clearly I skimmed over the previous thread on this to quickly. I take it the Google Wiki is for this project only.
I added links in the DokuWiki to the Google Wiki How To's and downloads. That should  take care of things for now.

I also declared you (M0E-lnx) as the author of the vecpackager article in the DokuWiki. 99% of it was relocated material from your vpackager section in How to install software from source code.

Hope you don't mind.

Logged
M0E-lnx
Administrator
Vectorian
*****
Posts: 3187



« Reply #33 on: September 27, 2007, 08:10:47 pm »

Not at all. I guess we'll just have to check it every once in a while to make it's up to date. The wiki at the project page will change in the near future as we get it polished up a bit
« Last Edit: September 28, 2007, 09:51:21 am by M0E-lnx » Logged

blurymind
Packager
Vectorian
****
Posts: 1082



« Reply #34 on: September 30, 2007, 07:38:43 am »


Code:
=======> ERROR: Md5sum mismatch found:
MISSING   feecc3ccb4639b672d8446154a4fb700  wine-0.9.45.tar.bz2
NEW       aa729097ddb324185a3e092b37a5f9fe  wine-0.9.46.tar.bz2
=======> ERROR: Building '/usr/ports/opt/wine/wine-0.9.46-i586-1vl59.tlz' failed.
Result: FAILED
can we disable mdsums check? Whenever I edit the build file to match latest version of something, i get to this errer,right after its source is downloaded.
Logged

status: playing around with new tablet and learning to 3d :p
google page :  http://blurymind.googlepages.com
DA PAGE :  http://www.blurymind.deviantart.com/
M0E-lnx
Administrator
Vectorian
*****
Posts: 3187



« Reply #35 on: September 30, 2007, 07:58:17 am »

can we disable mdsums check? Whenever I edit the build file to match latest version of something, i get to this errer,right after its source is downloaded.

Right-click on the port name, select "Check md5sum" it will fix this for you if there is a md5sum mismatch Wink

You can also bypass the md5sum check when you click on "Build selected" a new window comes up showing the package name, and offers you to select which tag to use for the package... There is a "Install after build" checkbox and then there is a "ignore md5sum" checkbox... just check the box, and it will bypass the md5sum test
« Last Edit: September 30, 2007, 09:09:44 am by M0E-lnx » Logged

saulgoode
Vectorite
***
Posts: 340



« Reply #36 on: September 30, 2007, 11:24:11 am »

@MOE-lnx

Thanks for the response. I was starting to get the impression that CRUX repositories would be relied upon for Vector packages. For the reasons stated, I think that would eventually cause grief for the Vector developers.

I think a better solution would be for your build script -- rather than doing the compilation -- to locate the appropriate source & SlackBuild (and DL if needed), apply any patches needed (either updates or VL-specific changes), define the appropriate environment variables, and then call the SlackBuild script (as mentioned previously, this is close to the approach taken by DarkVision's SlackPacks).

By using the existing SlackBuild baseline, compatibility with the Slackware base would be encouraged and, in the long run, entail less maintenance effort on the part of Vector's developers.



« Last Edit: September 30, 2007, 11:27:31 am by saulgoode » Logged

A complex system that works is invariably found to have evolved from a simple system that works.
M0E-lnx
Administrator
Vectorian
*****
Posts: 3187



« Reply #37 on: September 30, 2007, 01:18:26 pm »

I can understand your concern, however, if anyone plans to submit packages built from cruxports, they should modify the Pkgfile to reflect a good slackware-compattible build. This could be done with the GUI from the "Actions" > "Advanced" > "Modify build file" menu

The crux bacend is completely capable of patching if necessary and adjusting anything that may need to be.

At the end of the day, everyone chooses their way of packaing, some prefer typing the commands hemselves, while other like the slackbuild method, and others, like the idea of automating the process as much as possible, and just changing what needs to be changed in the script.

This is what crux does. It is a base script whose build procedure can be shaped in any form one needs to.

I have started working on some VectorLinux scripts myself. Anyone who wants to contribute can look at the samples, and use them as a template to get going. I figure, with this, eventually we can have our very own ports repository that can be very useful, and easy to contribute too. Wink
Logged

blurymind
Packager
Vectorian
****
Posts: 1082



« Reply #38 on: October 01, 2007, 04:56:35 am »

awesome. This is exactly the best approach i can think of too.
I would love to submit such scripts for our ports-repo...
I think that having a little tut at the wiki for that would be absolutely neat.
A simple and well put script can be easily edited to fit different applications.

=)  ... not to mention that at our ports repo,we will have our own slack-desc files,which include more info such as application website,author... if possible build date and packager id... being applied to it (or its getting too complicated..). Having more control over the process will make us all feel more comfortable with the ports,and using them.
I am still enthusiastic about the build from svn/cvs/git scripts....
Logged

status: playing around with new tablet and learning to 3d :p
google page :  http://blurymind.googlepages.com
DA PAGE :  http://www.blurymind.deviantart.com/
M0E-lnx
Administrator
Vectorian
*****
Posts: 3187



« Reply #39 on: October 01, 2007, 09:07:49 am »

If you want to contribute to the ports repo, make a directory called "ports" in your vectorcontrib account, and let me know, I'll add them to the repos
Logged

Dweeberkitty
Packager
Vectorian
****
Posts: 836



WWW
« Reply #40 on: October 14, 2007, 02:52:54 pm »

Hey MOE-lnx,
Is it possible that your program (looking very sweet BTW) could write SlackBuilds or some similar script? I guess this would be called a feature request.  Wink

I'd like to have Vpackager write the scripts automatically, or on demand, so one doesn't have to write the scripts manually. Keep up the good work!
Logged

Registered Linux User #443399
Desktop: Intel Pentium D 3.33Ghz, 320GB hard drive, 2 gigs DDR2 533mhz RAM, NVIDIA Geforce 7800 GS, X2GEN 22" widescreen monitor;
Laptop: Dell Mini 9, Intel Atom 1.6Ghz, 1GB ram
Multimedia Bonus Disc website: http://www.vectorlinuxsolutions.com/
M0E-lnx
Administrator
Vectorian
*****
Posts: 3187



« Reply #41 on: October 14, 2007, 06:03:56 pm »

That is absolutely possible... I'll start working on it As soon as I get a chance

_EDIT_
BTW, I just released RC2.
The GUI looks a lot better, and the cruxports4slack has a lot more features...

Please upgrade now Wink
Logged

Dweeberkitty
Packager
Vectorian
****
Posts: 836



WWW
« Reply #42 on: October 14, 2007, 08:25:41 pm »

_EDIT_
BTW, I just released RC2.
The GUI looks a lot better, and the cruxports4slack has a lot more features...

Please upgrade now Wink

I had just downloaded it when I posted. Smiley It looks great!
Logged

Registered Linux User #443399
Desktop: Intel Pentium D 3.33Ghz, 320GB hard drive, 2 gigs DDR2 533mhz RAM, NVIDIA Geforce 7800 GS, X2GEN 22" widescreen monitor;
Laptop: Dell Mini 9, Intel Atom 1.6Ghz, 1GB ram
Multimedia Bonus Disc website: http://www.vectorlinuxsolutions.com/
Dweeberkitty
Packager
Vectorian
****
Posts: 836



WWW
« Reply #43 on: October 24, 2007, 07:46:47 pm »

Hey MOE-lnx!

You've already got Python and Cmake support. How much more would it take for you to implement Scons support? That would help with a lot of applications that unfortunately use the scons system instead of a standard Make or Cmake.

Your app is great! Keep it up. I love it.
Logged

Registered Linux User #443399
Desktop: Intel Pentium D 3.33Ghz, 320GB hard drive, 2 gigs DDR2 533mhz RAM, NVIDIA Geforce 7800 GS, X2GEN 22" widescreen monitor;
Laptop: Dell Mini 9, Intel Atom 1.6Ghz, 1GB ram
Multimedia Bonus Disc website: http://www.vectorlinuxsolutions.com/
M0E-lnx
Administrator
Vectorian
*****
Posts: 3187



« Reply #44 on: October 25, 2007, 07:06:41 am »

scons can be done and it's in the plans for the near future. However the current cmake support still needs lots of testing. I'd like to get you all to test that and get all the bugs in that area worked out before adding support for scons. I tested the python support myself and it seemed ok but i also need others to test. Specially now because i don't have as much time to spare for this project so i'll be relying a lot more on bug reports to get it done
Logged

Pages: 1 2 [3] 4 5 6
  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!