LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 02-25-2014, 04:53 AM   #1
s.verma
Member
 
Registered: Oct 2013
Distribution: Debian Sid, Gentoo, Arch, Debian
Posts: 186
Blog Entries: 4

Rep: Reputation: 25
Lightbulb Forking Arch Linux (for 2 things), needs contribution/opinions.


FEW WORDS REGARDING THIS THREAD:
First of all,
since I do not know where to post this thread
{for sharing my ideas and asking for people to give me opinion for forking a distro}
or
{join this for contribution if they like it},
I posted it at LinuxQuestions.org. (LQ is like my home for linux. I opt for it first for any linux related problems.)

Please forgive me if I am wrong to share it on LQ website, and kindly redirect me to appropriate place for starting/forking a linux distro.

MAIN:
Preliminary:
I am using ArchBang, hence am pleased by the power with simplicity of Arch Linux based distros. This includes especially its bleeding edge nature, pacman package manager, its simple packages' structure etc.

But there are lacking two things,
1) First Arch linux doesn't support partial upgrades.
2) Most of the linux distro normally doesn't allow multiple versions of same package through their package management (as far as I know)(There is NIX OS, but require use of functional language, crypgraphic hashes etc., not simple in design as Arch Linux).

What I Want To Do:
I want to clone all Arch linux repository and modify the packages there to fit the above needs. i.e. to fork it.

As far as I conceived, it can be done by modifying arch linux packages (more info I will give later as required so that thread should not become very long).

Reason for Posting the Thread:
1) First I want to know if I want to fork someone's distro, how I should proceed.
2) What are opinions of the readers for this.

Last edited by s.verma; 02-25-2014 at 04:55 AM.
 
Old 02-26-2014, 02:49 PM   #2
notKlaatu
Senior Member
 
Registered: Sep 2010
Location: Lawrence, New Zealand
Distribution: Slackware
Posts: 1,077

Rep: Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732
It might be easier to simply write your own packaging system that does allow multiple versions of packages. It's not rocket science; all you really have to do is compile from source and be sure you don't clobber old or alternate versions. I don't see why a slightly modified version of Arch package tools wouldn't be able to do that. Heck, you might even just modify the PKGBUILD files, I'll bet.

I do not know what you mean by 'partial' upgrades, but again, that sounds more like a package management issue. Why not opt to perform your upgrades more manually? or write a tool that performs partial upgrades for you? Arch is very modular, so you should be able to do that.

But if you're dead set on forking Arch, wget --mirror their source repository and go hard.

As an aside, Slackware does basically everything you are describing as-is.
 
1 members found this post helpful.
Old 02-26-2014, 03:32 PM   #3
cheese1343
Member
 
Registered: Feb 2011
Location: Croatia
Distribution: Chakra
Posts: 73

Rep: Reputation: 16
Isn't this exactly what /usr/local/ is for?
I mean if you need several versions of the same package you can compile your own and install it in /usr/local/ and pacman won't touch it. If you wish you can even install different versions in your own home directory, this is not even that uncommon, as I have learned through using wine.
And partial upgrades can be achieved in Arch, though not officially supported AFAIK, with blackpac.

Edit:
Or if blackpac is not what you are looking for, even after upgrades on Arch you can still downgrade packages using pacman. There's even a section on blacklisting packages.

Last edited by cheese1343; 02-26-2014 at 03:37 PM.
 
1 members found this post helpful.
Old 02-26-2014, 04:30 PM   #4
John VV
LQ Muse
 
Registered: Aug 2005
Location: A2 area Mi.
Posts: 17,624

Rep: Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651
multiple versions can be installed
--- BUT ---
and it is a "duesy " ( and in Duesenberg)

the OS can not be allowed to see and use the NON OS versions

i used to do this for the Gimp-DEVELOPMENT tree
it often needed a newer version of glib,libc,gtk,autotools,...) than were in the CURRENT version of fedora i was using at the time


so a "build folder" is needed for those DIFFERENT and DEADLY!!!!!!! prerequisites

/usr/local can NOT !!! be used for that

now

Some things can be installed "side by side"
i have 3 versions of "Celestia"
2 versions of Blender
4 versions of gcc
3 different versions of python ( one for the old 2.49 blender i need to use )

so for somethings having multiple versions is already handled by things like yum and zypper and pacman

for other things
I WOULD NOT want a package manager to even try to handle them
 
2 members found this post helpful.
Old 02-28-2014, 01:07 AM   #5
s.verma
Member
 
Registered: Oct 2013
Distribution: Debian Sid, Gentoo, Arch, Debian
Posts: 186

Original Poster
Blog Entries: 4

Rep: Reputation: 25
Changes which I want to implement:
First what happens in linux, let we have a package named 'prog' containing /usr/bin/prog executable, let we have to install it on linux distro we do
Code:
packagemanager install prog
Now to install its second version we again do
Code:
packagemanager install prog
This overwrites previous installation e.g. /usr/bin/prog ver 1 is overwritten as /usr/bin/prog ver 2. Hence ver 1 is gone.

My idea is to implement changes such that
Code:
packagemanager install prog1
It creates
/usr/bin/prog1 for program version 1
/usr/bin/prog as symlink to /usr/bin/prog1.

Now if I need to install prog version 2, then I will simply do it like
Code:
packagemanager install prog2
It creates
/usr/bin/prog1 for program version 1
/usr/bin/prog2 for program version 2
/usr/bin/prog symlink to /usr/bin/prog2
Hence I can still use older version by typing prog1 at command line.

I want to remove only prog ver 1 then I can use
Code:
pacakemanager remove prog1
instead of
Code:
packagemanager remove prog
Is it possible to do???

In a nutshell, I want to implement version handling at package manager level.
Hence a user can be enabled to keep multiple versions of a package on his/her linux computer using a package manager.


Dear notKlaatu,

Quote:
It might be easier to simply write your own packaging system that does allow multiple versions of packages. It's not rocket science; all you really have to do is compile from source and be sure you don't clobber old or alternate versions. I don't see why a slightly modified version of Arch package tools wouldn't be able to do that. Heck, you might even just modify the PKGBUILD files, I'll bet.
This is what I exactly have in my mind, to create a change in packaging system to achieve above said.

Quote:
I do not know what you mean by 'partial' upgrades
Partial upgrade means only upgrading few packages installed in the system. It usually causes following problem:
If there are three packages A, B, C version 1 for all, now only upgrading A to ver 2 may cause it to not work because it may depend on B ver2, hence B has to be upgraded, but now C may happen to depend on B ver1, hence upgrading B may supplement A but would break package C.

This can be resolved by having both B ver 1 & ver 2 simultaneously.

Quote:
Why not opt to perform your upgrades more manually?
Until now I haven't upgraded my Arch system fully, and hence I have manually handled all package upgrades. But this becomes harder when package involved has lots of dependency and even more harder when lots of packages depends on package involved.

Quote:
But if you're dead set on forking
Actually forking a distro is my last priority becuase first I do not know where to host such a large project like a distro.
Actually I want to implement renaming of arch linux packages on the fly using something like a wrapper around pacman (Arch package manager) such that every package version bears its name+version in its installed database, hence can be treated like separate packages by pacman.

Quote:
As an aside, Slackware does basically everything you are describing as-is.
Does slackware provide facility for managing different versions using its package manager?

Last edited by s.verma; 02-28-2014 at 01:09 AM.
 
Old 02-28-2014, 04:32 AM   #6
cheese1343
Member
 
Registered: Feb 2011
Location: Croatia
Distribution: Chakra
Posts: 73

Rep: Reputation: 16
It just occurred to me that something similar was once done by the Chakra project with their bundles system. It wasn't for the same purpose, but I think it would be a good place to start if you really want to create an additional package manager for a distro. Here it is if you are interested.
Basically they made a package install in its own filesystem with dependencies included, and I'm sure this would work for several versions of the same package just as well. The bundles were discontinued a while ago, but AFAIK the code is freely available.
 
Old 02-28-2014, 11:02 AM   #7
replica9000
Senior Member
 
Registered: Jul 2006
Distribution: Debian Unstable
Posts: 1,126
Blog Entries: 2

Rep: Reputation: 260Reputation: 260Reputation: 260
I had used Arch for about a year on my laptop. I always used to do partial upgrades. I'd select a number of packages and review what's being changed. I read the wiki before hand to see if there was any known issues with a particular package. Can't recall needing to downgrade anything in the time I used it.

I wish you luck on your new distro. Not always easy to devote the time and dedication for such a project.
 
  


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 On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Forking Arch LXer Syndicated Linux News 0 03-05-2013 06:00 PM
Whats the first things you did when you installed ARCH Linux? Master_CAPS Linux - Software 1 09-30-2012 04:00 AM
[SOLVED] Opinions on Arch. soppy Arch 14 11-02-2010 06:58 PM
LXer: The Linux Ecosystem and Canonical's Contribution LXer Syndicated Linux News 0 09-21-2008 03:40 PM
Slackware users opinions of Arch? vharishankar Slackware 39 11-28-2005 02:26 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 08:01 AM.

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