VectorLinux
July 24, 2014, 12:06:54 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 2 [3]
  Print  
Author Topic: Estimates on how many people use Vector?  (Read 15024 times)
stretchedthin
Administrator
Vectorian
*****
Posts: 3780


WWW
« Reply #30 on: January 13, 2011, 05:47:37 pm »

Quote
If you tar them all together, you won't be able to view any of them online(will have to download, untar and then view). Instead maybe it'll make sense to have a directory for each package instead of an archive? On the other hand there is a benefit of only having to download a single file with all the stuff packed inside. So I don't know, what do you think?

Why not both.  That is pretty much what slackbuilds.org ended up doing.  All around I think SlackBuilds.org is a pretty good model. The only caviate being that Slackbuilds.org doesn't always give you any indication of what dependencies would be required, we will at least have our slack-required file to go by. 


 I would just include some instruction to encourage new users to use the site to learn about packaging and a way for them to submit thier own builds for testing and possible enclusion.  If this can be used as a tool to increase our packager base and act as a pre-screen before items are included in the repositories I think that would be great.  Also, think with something like this up and running we should be able to build up a pretty large repository fairly quickly.  Maybe, not right away but once we have a healthy collection.

I'm not familiar with Git.  I will default to your judgement as to whether it is the right tool for this job.  I find ssh keys troublesome at times as I build on many different machines. Or maybe I just don't understand the ssh key concept as well as I should.
Ken






Logged

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


NewComer


« Reply #31 on: January 14, 2011, 01:41:24 am »

Both it is Grin

I myself have no clue about git, but I think it's the only way to access GitHub. As far as I understand it wasn't intended for this kind of purpose, but rather for programmers manage their source repositories. But I can envision a simple script with git under the hood that takes all the files in a directory, tars them and uploads to right places.

I think the same could be done for downloading.

As far as I know, you can put the same key ~/.ssh/id_rca and id_rca.pub on different machines and this way you'll be able to upload from all of them without having to add other keys to the server.

I'll play with all this stuff this weekend and try to think of a way to organize things so that they are easy to view and understand. I'll also try to get some instructions worked out and maybe start on the script.
Logged

VL6.0-Light@MSI MS-1652(AMD TurionX2 ZM-84 2300 MHZ, 4 GB RAM, 250 GB HDD, Nvidia GForce 9600M GT, GIGABYTE AirCruiser N300)
Registered Linux user #473602
SlackBuild Repository for VL7.Not much but it's a start. Join in!
Joe1962
Administrator
Vectorian
*****
Posts: 2499



WWW
« Reply #32 on: January 17, 2011, 05:27:19 am »

Something else I have been thinking hard about: when you update some packages (libpng comes to mind!) you find it breaks A LOT of other stuff. We need something that can list everything that depends on whatever you are going to build and give the option to rebuild them too. Of course, it would have to handle cascading dependencies... Shocked
Logged

O'Neill (RE the Asgard): "Usually they ask nicely before they ignore us and do what they damn well please."
http://joe1962.bigbox.info
Running: VL 7 Std 64 + self-cooked XFCE-4.10
budulay
Packager
Vectorian
****
Posts: 568


NewComer


« Reply #33 on: January 17, 2011, 11:30:57 am »

I thought about organizing directory structure and put together a simple script intended to make uploading to this repo pain-free.
Here's how I see directory structure:

/Vector-SlackBuilds
     VL7
             data - upload-0.1 puts all files here
             archives - all files from data compressed into a single tarball
             old - old versions kept here just in case
     tools - various useful scripts(upload-0.1 is here)
     trash - things that are no longer(were never) useful, but might help in the future
     upload - things to be uploaded go here

And here's the script:
Code:
#!/bin/bash
# upload-0.1 script by budulay
# Archives and uploads package data from the upload directory to SlackBuild repository.
# Intended to be run from Vector-SlackBuilds/tools directory
# You are free to use, change and distrubute this to your liking, but I make no guarantees
# that it will work as intended or at all and that it will not harm your system.
# So if suddenly earth starts shaking, or nukes show up on the horizon, you have been warned.


#Accept command line input
PACKAGES=("$@")

#Establish "root" directory
cd ..
RT=$PWD

#For every argument from command line:
for NAME in ${PACKAGES[@]}
do
cd $RT/uploads

#Check if a directory specified from command line exist
if [ -d $NAME ]
then
#If there is already a package in archives, move it to old and remove from data
#TODO: use git to upload old to repository
if [ -f $RT/VL7/archives/$NAME.tar.gz ]
then
mv $RT/VL7/archives/$NAME.tar.gz $RT/VL7/old/$NAME-old.tar.gz
rm -R $RT/VL7/data/$NAME
fi

#Compress package into tarball, move it to archives; move package to data
tar -cvf - $NAME | gzip -c > $NAME.tar.gz
mv $NAME $RT/VL7/data
mv $NAME.tar.gz $RT/VL7/archives

cd $RT

#Add package to git's list of tracked files
git add VL7/data/$NAME/* VL7/archives/$NAME.tar.gz

#Add package name to the commit message
MESSAGE=$MESSAGE" "$NAME
else
echo "No directory $NAME in uploads..."
fi
done

#commit
git commit -m "$MESSAGE"

#upload
git push origin master


I can also be found here.
What it does:
When run from the tools directory, it takes as command line arguments names of packages.
Then it goes into the upload folder and looks for directories with the names specified above.
It compresses all the ones it finds into tarballs and moves directories to VL7/data and tarballs to VL7/archives.
Then it uploads it all to the repository.

Usage example:
Put upload-0.1 into ~/Vector-SlackBuild/tools
Create directory ~/Vector-SlackBuild/upload/wine
Put SlackBuild, slack-required and other files into that directory
Run upload-0.1 from the tools directory, specifying wine as an argument:
./upload-0.1 wine



So for someone to start using this, they'd need to create a github account, clone the repository(or manually create the file structure that I described), send me your account name so I can give you write privileges on the repository and start using it Wink

I can put together more detailed instructions if anyone needs them.

@Joe1962
That would be a handy tool to have.
Logged

VL6.0-Light@MSI MS-1652(AMD TurionX2 ZM-84 2300 MHZ, 4 GB RAM, 250 GB HDD, Nvidia GForce 9600M GT, GIGABYTE AirCruiser N300)
Registered Linux user #473602
SlackBuild Repository for VL7.Not much but it's a start. Join in!
Joe1962
Administrator
Vectorian
*****
Posts: 2499



WWW
« Reply #34 on: January 17, 2011, 11:41:12 am »

If we were to follow sbbuilder conventions, it would be ~/Vector-SlackBuild/upload/wine/src instead.
Logged

O'Neill (RE the Asgard): "Usually they ask nicely before they ignore us and do what they damn well please."
http://joe1962.bigbox.info
Running: VL 7 Std 64 + self-cooked XFCE-4.10
budulay
Packager
Vectorian
****
Posts: 568


NewComer


« Reply #35 on: January 17, 2011, 12:09:28 pm »

Could you explain what you mean by sbbuilder conventions, just so that we are on the same page?

I thought of this more as a reference than an actual build tree($NAME/$VERSION/src, etc)
Everything except for slack-required would go into the src directory, and slack-required is there to give an idea about dependencies.
Now, I could make this script look for a upload/$NAME/src directory, but I think this really would serve no purpose other than creating another directory.
Logged

VL6.0-Light@MSI MS-1652(AMD TurionX2 ZM-84 2300 MHZ, 4 GB RAM, 250 GB HDD, Nvidia GForce 9600M GT, GIGABYTE AirCruiser N300)
Registered Linux user #473602
SlackBuild Repository for VL7.Not much but it's a start. Join in!
Joe1962
Administrator
Vectorian
*****
Posts: 2499



WWW
« Reply #36 on: January 17, 2011, 12:38:17 pm »

Well, a ready-made build tree would be a bonus. I don't see a conflict here. You download and untar the whole thing and go run the slackbuilds which would hopefully download the source and build it... Grin
Logged

O'Neill (RE the Asgard): "Usually they ask nicely before they ignore us and do what they damn well please."
http://joe1962.bigbox.info
Running: VL 7 Std 64 + self-cooked XFCE-4.10
budulay
Packager
Vectorian
****
Posts: 568


NewComer


« Reply #37 on: January 17, 2011, 12:48:47 pm »

I don't think it can be stored as a ready-made build tree, because of the $VERSION directory. But I think a download script can be written that would create a build tree and put a SlackBuild into the $NAME/$VERSION/src directory.
And a ready-made build tree is a nice bonus indeed Grin
Logged

VL6.0-Light@MSI MS-1652(AMD TurionX2 ZM-84 2300 MHZ, 4 GB RAM, 250 GB HDD, Nvidia GForce 9600M GT, GIGABYTE AirCruiser N300)
Registered Linux user #473602
SlackBuild Repository for VL7.Not much but it's a start. Join in!
Joe1962
Administrator
Vectorian
*****
Posts: 2499



WWW
« Reply #38 on: January 17, 2011, 12:54:24 pm »

You are correct, I should have said above: ~/Vector-SlackBuild/upload/wine/$VERSION/src. So if there is no $VERSION directory, how do you handle the versions?
Logged

O'Neill (RE the Asgard): "Usually they ask nicely before they ignore us and do what they damn well please."
http://joe1962.bigbox.info
Running: VL 7 Std 64 + self-cooked XFCE-4.10
budulay
Packager
Vectorian
****
Posts: 568


NewComer


« Reply #39 on: January 17, 2011, 02:42:55 pm »

Well, these SlackBuilds would be if either the same or an older version of a package by default. If someone builds a newer version of some package and then uploads SlackBuild they used, I think the older archived version should be backed up just in case.

I don't really see any other handling required in terms of versions.

Do you think there is something else that should be done?
Logged

VL6.0-Light@MSI MS-1652(AMD TurionX2 ZM-84 2300 MHZ, 4 GB RAM, 250 GB HDD, Nvidia GForce 9600M GT, GIGABYTE AirCruiser N300)
Registered Linux user #473602
SlackBuild Repository for VL7.Not much but it's a start. Join in!
Joe1962
Administrator
Vectorian
*****
Posts: 2499



WWW
« Reply #40 on: January 19, 2011, 05:20:39 am »

The latest isn't always the right one, which is why I keep my build tree with all the version directories inside the app directory.
Logged

O'Neill (RE the Asgard): "Usually they ask nicely before they ignore us and do what they damn well please."
http://joe1962.bigbox.info
Running: VL 7 Std 64 + self-cooked XFCE-4.10
budulay
Packager
Vectorian
****
Posts: 568


NewComer


« Reply #41 on: January 19, 2011, 02:42:21 pm »

Oh, I see what you mean by handling versions now and I think it's a great idea.

Here's the way I see it:
You build something, then copy the whole build tree into the upload folder, run the script and it takes care of everything, including handling versions.

I'll play with the script when I'll have a free minute(or few hours rather. My bash is quite terrible and it takes forever to get anything done..) and a little energy.
Logged

VL6.0-Light@MSI MS-1652(AMD TurionX2 ZM-84 2300 MHZ, 4 GB RAM, 250 GB HDD, Nvidia GForce 9600M GT, GIGABYTE AirCruiser N300)
Registered Linux user #473602
SlackBuild Repository for VL7.Not much but it's a start. Join in!
Pages: 1 2 [3]
  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!